Qt4 - Extended Panels: add callback on audio-presets to fix the issue when the audio...
authorJean-Baptiste Kempf <jb@videolan.org>
Sun, 9 Sep 2007 17:37:27 +0000 (17:37 +0000)
committerJean-Baptiste Kempf <jb@videolan.org>
Sun, 9 Sep 2007 17:37:27 +0000 (17:37 +0000)
modules/gui/qt4/components/extended_panels.cpp
modules/gui/qt4/components/extended_panels.hpp

index 2c2ac60..fa5071b 100644 (file)
@@ -560,8 +560,8 @@ void ExtVideo::gotoConf( QObject* src )
 
 static const QString band_frequencies[] =
 {
-    "   60Hz  ", " 170 Hz " , " 310 Hz ", " 600 Hz ", "  1 kHz  ",
-    "  3 kHz  " , "  6 kHz ", " 12 kHz ", " 14 kHz ", " 16 kHz "
+    "  60 Hz  ", " 170 Hz ", " 310 Hz ", " 600 Hz ", "  1 kHz ",
+    "  3 kHz  ", "  6 kHz ", " 12 kHz ", " 14 kHz ", " 16 kHz "
 };
 
 Equalizer::Equalizer( intf_thread_t *_p_intf, QWidget *_parent ) :
@@ -571,6 +571,7 @@ Equalizer::Equalizer( intf_thread_t *_p_intf, QWidget *_parent ) :
     smallFont.setPointSize( smallFont.pointSize() - 3 );
 
     ui.setupUi( this );
+    presetsComboBox = ui.presetsCombo;
 
     ui.preampLabel->setFont( smallFont );
     ui.preampSlider->setMaximum( 400 );
@@ -772,19 +773,29 @@ void Equalizer::setPreset( int preset )
     setValues( psz_values, eqz_preset_10b[preset]->f_preamp );
 }
 
+static int PresetCallback( vlc_object_t *p_this, char const *psz_cmd,
+                         vlc_value_t oldval, vlc_value_t newval, void *p_data )
+{
+    char *psz_preset = newval.psz_string;
+    Equalizer *eq = (Equalizer *)p_data;
+    eq->presetsComboBox->setCurrentIndex( eq->presetsComboBox->findText( qfu( psz_preset) ) );
+    return VLC_SUCCESS;
+}
+
 void Equalizer::delCallbacks( aout_instance_t *p_aout )
 {
-//    var_DelCallback( p_aout, "equalizer-bands", EqzCallback, this );
-//    var_DelCallback( p_aout, "equalizer-preamp", EqzCallback, this );
+    //var_DelCallback( p_aout, "equalizer-bands", EqzCallback, this );
+    //var_DelCallback( p_aout, "equalizer-preamp", EqzCallback, this );
+    var_DelCallback( p_aout, "equalizer-preset", PresetCallback, this );
 }
 
 void Equalizer::addCallbacks( aout_instance_t *p_aout )
 {
-//    var_AddCallback( p_aout, "equalizer-bands", EqzCallback, this );
-//    var_AddCallback( p_aout, "equalizer-preamp", EqzCallback, this );
+    //var_AddCallback( p_aout, "equalizer-bands", EqzCallback, this );
+    //var_AddCallback( p_aout, "equalizer-preamp", EqzCallback, this );
+    var_AddCallback( p_aout, "equalizer-preset", PresetCallback, this );
 }
 
-
 /**********************************************************************
  * Spatializer
  **********************************************************************/
index ec38296..a7e0978 100644 (file)
@@ -61,6 +61,7 @@ class Equalizer: public QWidget
 public:
     Equalizer( intf_thread_t *, QWidget * );
     virtual ~Equalizer();
+    QComboBox *presetsComboBox;
 
 private:
     Ui::EqualizerWidget ui;