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 ) :
smallFont.setPointSize( smallFont.pointSize() - 3 );
ui.setupUi( this );
+ presetsComboBox = ui.presetsCombo;
ui.preampLabel->setFont( smallFont );
ui.preampSlider->setMaximum( 400 );
/* Write down initial values */
aout_instance_t *p_aout = (aout_instance_t *)vlc_object_find(p_intf,
VLC_OBJECT_AOUT, FIND_ANYWHERE);
- char *psz_af = NULL;
+ char *psz_af;
char *psz_bands;
float f_preamp;
if( p_aout )
{
- psz_af = var_GetString( p_aout, "audio-filter" );
+ psz_af = var_GetNonEmptyString( p_aout, "audio-filter" );
if( var_GetBool( p_aout, "equalizer-2pass" ) )
ui.eq2PassCheck->setChecked( true );
- psz_bands = var_GetString( p_aout, "equalizer-bands" );
+ psz_bands = var_GetNonEmptyString( p_aout, "equalizer-bands" );
f_preamp = var_GetFloat( p_aout, "equalizer-preamp" );
vlc_object_release( p_aout );
}
}
if( psz_af && strstr( psz_af, "equalizer" ) != NULL )
ui.enableCheck->setChecked( true );
+ free( psz_af );
enable( ui.enableCheck->isChecked() );
setValues( psz_bands, f_preamp );
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
**********************************************************************/
/* Write down initial values */
aout_instance_t *p_aout = (aout_instance_t *)
vlc_object_find(p_intf, VLC_OBJECT_AOUT, FIND_ANYWHERE);
- char *psz_af = NULL;
+ char *psz_af;
if( p_aout )
{
- psz_af = var_GetString( p_aout, "audio-filter" );
+ psz_af = var_GetNonEmptyString( p_aout, "audio-filter" );
for( int i = 0; i < NUM_SP_CTRL ; i++)
{
controlVars[i] = var_GetFloat( p_aout, psz_control_names[i] );
}
if( psz_af && strstr( psz_af, "spatializer" ) != NULL )
ui.enableCheck->setChecked( true );
+ free( psz_af );
enable( ui.enableCheck->isChecked() );
setValues( controlVars );