All pastes #947727 Raw Edit

Anonym

public text v1 · immutable
·published 2008-03-18 17:53 UTC
rendered paste body
Index: src/Core/Banshee.ThickClient/Banshee.Equalizer.Gui/EqualizerView.cs
===================================================================
--- src/Core/Banshee.ThickClient/Banshee.Equalizer.Gui/EqualizerView.cs	(Revision 3473)
+++ src/Core/Banshee.ThickClient/Banshee.Equalizer.Gui/EqualizerView.cs	(Arbeitskopie)
@@ -60,12 +60,6 @@
         {
             Spacing = 10;
         
-            // amplifier_scale's values must be divisible by 100 to get *real* val. eg 100 == 1, 40 == 0.4, 1 == 0.01
-            amplifier_scale = new EqualizerBandScale (0, 100, 5, 150, "Preamp");
-            amplifier_scale.ValueChanged += OnAmplifierValueChanged;
-            amplifier_scale.Show ();
-            PackStart (amplifier_scale, false, false, 0);
-            
             int[] br = ((IEqualizer) ServiceManager.PlayerEngine.ActiveEngine).BandRange;
             int mid = (br[0] + br[1]) / 2;
             
@@ -73,6 +67,11 @@
             range[1] = mid;
             range[2] = br[1];
             
+	    amplifier_scale = new EqualizerBandScale (0, range[1] * 10, range[0] * 10, range[2] * 10, "Preamp");
+            amplifier_scale.ValueChanged += OnAmplifierValueChanged;
+            amplifier_scale.Show ();
+            PackStart (amplifier_scale, false, false, 0);            
+            
             EqualizerLevelsBox eq_levels = new EqualizerLevelsBox (
                 FormatDecibelString (range[2]),
                 FormatDecibelString (range[1]),
@@ -146,7 +145,7 @@
         {
             EqualizerBandScale scale = o as EqualizerBandScale;
             if (active_eq != null) {
-                double val = (double) scale.Value / 100D;
+                double val = (double) scale.Value / 10D;
                 active_eq.AmplifierLevel = val;
             }
             
Index: src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs
===================================================================
--- src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs	(Revision 3473)
+++ src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs	(Arbeitskopie)
@@ -317,7 +317,11 @@
         }
     
         public double AmplifierLevel {
-            set { gst_equalizer_set_preamp_level (handle, value); }
+            set {
+	        double db = Math.Pow (10.0, value/20.0);
+
+	        gst_equalizer_set_preamp_level (handle, db);
+	    }
         }
         
         public int [] BandRange {