diff audacious/visualization.c @ 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 a8fe58a69f8f
children 7267fc6b2c67
line wrap: on
line diff
--- 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) */