Mercurial > audlegacy
changeset 2169:0934eeabc0ed trunk
[svn] Added subsampling and nonlinear transfer function to the voiceprint
visualizer. Also increased the intensity range.
author | marvin |
---|---|
date | Mon, 18 Dec 2006 14:01:29 -0800 |
parents | caaf4b1a8487 |
children | d0312301163f |
files | ChangeLog audacious/visualization.c audacious/widgets/vis.c |
diffstat | 3 files changed, 19 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Mon Dec 18 13:11:23 2006 -0800 +++ b/ChangeLog Mon Dec 18 14:01:29 2006 -0800 @@ -1,3 +1,14 @@ +2006-12-18 21:11:23 +0000 Giacomo Lozito <james@develia.org> + revision [3341] + - allow user to choose a regex library between gnu (default), oniguruma, pcre (experimental); oniguruma and pcre support utf-8 encoding + trunk/audacious/Makefile | 2 ++ + trunk/audacious/mainwin.c | 19 ++++++++++++++++++- + trunk/audacious/playlist.c | 31 ++++++++++++++++++++++++++++++- + trunk/configure.ac | 40 ++++++++++++++++++++++++++++++++++++++++ + trunk/mk/rules.mk.in | 2 ++ + 5 files changed, 92 insertions(+), 2 deletions(-) + + 2006-12-18 19:59:00 +0000 William Pitcock <nenolod@nenolod.net> revision [3339] - run update-po
--- a/audacious/visualization.c Mon Dec 18 13:11:23 2006 -0800 +++ b/audacious/visualization.c Mon Dec 18 14:01:29 2006 -0800 @@ -414,10 +414,14 @@ else if(cfg.vis_type == VIS_VOICEPRINT){ if (!mono_freq_calced) calc_mono_freq(mono_freq, pcm_data, nch); + + /* Subsampling; 8 frequencies per sample*/ + for(i = 0; i < 256 ; i++) + intern_vis_data[i] = (mono_freq[0][i] >> 9); + + /* Nonlinear transfer function makes the tones stand out*/ for(i = 0; i < 16 ; i++) - { - intern_vis_data[i] = mono_freq[0][i << 2] >> 2; - } + intern_vis_data[i] = pow(2, intern_vis_data[i]); } else { /* (cfg.vis_type == VIS_SCOPE) */
--- a/audacious/widgets/vis.c Mon Dec 18 13:11:23 2006 -0800 +++ b/audacious/widgets/vis.c Mon Dec 18 14:01:29 2006 -0800 @@ -101,8 +101,7 @@ else if (cfg.vis_type == VIS_VOICEPRINT && data){ for(i = 0; i < 16; i++) { - vis->vs_data[i] = data[15 - i] >> 5 > 16 ? 16 : data[15-i] >> 5; - + vis->vs_data[i] = data[15 - i] > 23 ? 23 : data[15-i]; } } else if (data) {