コード例 #1
0
ファイル: EqualizerView.cs プロジェクト: thoja21/banshee-1
        private void BuildWidget()
        {
            Spacing = 10;

            int [] br  = ((IEqualizer)ServiceManager.PlayerEngine.ActiveEngine).BandRange;
            int    mid = (br[0] + br[1]) / 2;

            range[0] = br[0];
            range[1] = mid;
            range[2] = br[1];

            amplifier_scale = new EqualizerBandScale(0, range[1] * 10, range[0] * 10, range[2] * 10,
                                                     Catalog.GetString("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]),
                FormatDecibelString(range[0])
                );

            eq_levels.Show();
            PackStart(eq_levels, false, false, 0);

            band_box             = new HBox();
            band_box.Homogeneous = true;
            band_box.Show();
            PackStart(band_box, true, true, 0);

            BuildBands();
        }
コード例 #2
0
ファイル: EqualizerView.cs プロジェクト: thoja21/banshee-1
        private void BuildBands()
        {
            foreach (Widget widget in band_box.Children)
            {
                band_box.Remove(widget);
            }

            if (frequencies == null || frequencies.Length <= 0)
            {
                frequencies = new uint[0];
                band_scales = new EqualizerBandScale[0];
                return;
            }

            band_scales = new EqualizerBandScale[10];

            for (uint i = 0; i < 10; i++)
            {
                // Translators: {0} is a numerical value, Hz and kHz are Hertz unit symbols
                string label = frequencies[i] < 1000 ?
                               String.Format(Catalog.GetString("{0} Hz"), frequencies[i]) :
                               String.Format(Catalog.GetString("{0} kHz"), (int)Math.Round(frequencies[i] / 1000.0));

                band_scales[i] = new EqualizerBandScale(i, range[1] * 10, range[0] * 10, range[2] * 10, label);
                band_scales[i].ValueChanged += OnEqualizerValueChanged;
                band_scales[i].Show();

                band_box.PackStart(band_scales[i], true, true, 0);
            }
        }
コード例 #3
0
        private void OnAmplifierValueChanged(object o, EventArgs args)
        {
            EqualizerBandScale scale = o as EqualizerBandScale;

            if (active_eq != null)
            {
                active_eq.AmplifierLevel = (double)(scale.Value / 10.0);
            }

            if (AmplifierChanged != null)
            {
                AmplifierChanged(this, new AmplifierChangedEventArgs(scale.Value));
            }
        }
コード例 #4
0
        private void OnEqualizerValueChanged(object o, EventArgs args)
        {
            EqualizerBandScale scale = o as EqualizerBandScale;

            if (active_eq != null)
            {
                active_eq.SetGain(scale.Band, (double)scale.Value / 10);
            }

            if (EqualizerChanged != null)
            {
                EqualizerChanged(this, new EqualizerChangedEventArgs(scale.Band, scale.Value));
            }
        }
コード例 #5
0
        private void BuildWidget()
        {
            Spacing = 10;

            int [] br = ((IEqualizer)ServiceManager.PlayerEngine.ActiveEngine).BandRange;
            int mid = (br[0] + br[1]) / 2;

            range[0] = br[0];
            range[1] = mid;
            range[2] = br[1];

            amplifier_scale = new EqualizerBandScale (0, range[1] * 10, range[0] * 10, range[2] * 10,
                                                      Catalog.GetString ("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]),
                FormatDecibelString (range[0])
            );

            eq_levels.Show ();
            PackStart (eq_levels, false, false, 0);

            band_box = new HBox ();
            band_box.Homogeneous = true;
            band_box.Show ();
            PackStart (band_box, true, true, 0);

            BuildBands ();
        }
コード例 #6
0
        private void BuildBands()
        {
            foreach (Widget widget in band_box.Children) {
                band_box.Remove (widget);
            }

            if (frequencies == null || frequencies.Length <= 0) {
                frequencies = new uint[0];
                band_scales = new EqualizerBandScale[0];
                return;
            }

            band_scales = new EqualizerBandScale[10];

            for (uint i = 0; i < 10; i++) {
                // Translators: {0} is a numerical value, Hz and kHz are Hertz unit symbols
                string label = frequencies[i] < 1000 ?
                    String.Format (Catalog.GetString ("{0} Hz"), frequencies[i]) :
                    String.Format (Catalog.GetString ("{0} kHz"), (int)Math.Round (frequencies[i] / 1000.0));

                band_scales[i] = new EqualizerBandScale (i, range[1] * 10, range[0] * 10, range[2] * 10, label);
                band_scales[i].ValueChanged += OnEqualizerValueChanged;
                band_scales[i].Show ();

                band_box.PackStart (band_scales[i], true, true, 0);
            }
        }