Commit 78e9ac23 authored by Felix Paul Kühne's avatar Felix Paul Kühne

macosx: store index of eq set in the menuitems' tags instead of relying on their order

parent 3257c6c0
...@@ -68,8 +68,11 @@ static VLCAudioEffects *_o_sharedInstance = nil; ...@@ -68,8 +68,11 @@ static VLCAudioEffects *_o_sharedInstance = nil;
[o_eq_twopass_ckb setTitle:_NS("2 Pass")]; [o_eq_twopass_ckb setTitle:_NS("2 Pass")];
[o_eq_preamp_lbl setStringValue:_NS("Preamp")]; [o_eq_preamp_lbl setStringValue:_NS("Preamp")];
[o_eq_presets_popup removeAllItems]; [o_eq_presets_popup removeAllItems];
for( int i = 0; i < 18 ; i++ ) for( int i = 0; i < NB_PRESETS ; i++ )
[o_eq_presets_popup insertItemWithTitle: _NS(preset_list_text[i]) atIndex: i]; {
[o_eq_presets_popup addItemWithTitle: _NS(preset_list_text[i])];
[[o_eq_presets_popup lastItem] setTag: i];
}
/* Compressor */ /* Compressor */
[o_comp_enable_ckb setTitle:_NS("Enable dynamic range compressor")]; [o_comp_enable_ckb setTitle:_NS("Enable dynamic range compressor")];
...@@ -185,26 +188,23 @@ static bool GetEqualizerStatus( intf_thread_t *p_custom_intf, ...@@ -185,26 +188,23 @@ static bool GetEqualizerStatus( intf_thread_t *p_custom_intf,
- (void)setupEqualizer - (void)setupEqualizer
{ {
int i;
vlc_object_t *p_object= VLC_OBJECT(getAout()); vlc_object_t *p_object= VLC_OBJECT(getAout());
if( p_object == NULL ) if( p_object == NULL )
p_object = vlc_object_hold(pl_Get( VLCIntf )); p_object = pl_Get( VLCIntf );
if( p_object ) if( p_object )
{ {
char *psz_preset; char *psz_preset;
var_Create( p_object, "equalizer-preset", VLC_VAR_STRING | var_Create( p_object, "equalizer-preset", VLC_VAR_STRING | VLC_VAR_DOINHERIT );
VLC_VAR_DOINHERIT );
psz_preset = var_GetNonEmptyString( p_object, "equalizer-preset" ); psz_preset = var_GetNonEmptyString( p_object, "equalizer-preset" );
for( i = 0 ; i < NB_PRESETS ; i++ ) for( int i = 0 ; i < NB_PRESETS ; i++ )
{ {
if( strcmp( preset_list[i], psz_preset ) ) if( strcmp( preset_list[i], psz_preset ) )
continue; continue;
[o_eq_presets_popup selectItemAtIndex: i]; [o_eq_presets_popup selectItemWithTag:i];
[o_eq_preamp_sld setFloatValue: eqz_preset_10b[i].f_preamp]; [o_eq_preamp_sld setFloatValue: eqz_preset_10b[i].f_preamp];
[self setBandSlidersValues: (float *)eqz_preset_10b[i].f_amp]; [self setBandSlidersValues: (float *)eqz_preset_10b[i].f_amp];
...@@ -227,17 +227,13 @@ static bool GetEqualizerStatus( intf_thread_t *p_custom_intf, ...@@ -227,17 +227,13 @@ static bool GetEqualizerStatus( intf_thread_t *p_custom_intf,
eqz_preset_10b[i].f_amp[8], eqz_preset_10b[i].f_amp[8],
eqz_preset_10b[i].f_amp[9] ); eqz_preset_10b[i].f_amp[9] );
var_Create( p_object, "equalizer-preamp", VLC_VAR_FLOAT | var_Create( p_object, "equalizer-preamp", VLC_VAR_FLOAT | VLC_VAR_DOINHERIT );
VLC_VAR_DOINHERIT ); var_Create( p_object, "equalizer-bands", VLC_VAR_STRING | VLC_VAR_DOINHERIT );
var_Create( p_object, "equalizer-bands", VLC_VAR_STRING | var_SetFloat( p_object, "equalizer-preamp", eqz_preset_10b[i].f_preamp );
VLC_VAR_DOINHERIT );
var_SetFloat( p_object, "equalizer-preamp",
eqz_preset_10b[i].f_preamp );
var_SetString( p_object, "equalizer-bands", psz_bands ); var_SetString( p_object, "equalizer-bands", psz_bands );
} }
} }
free( psz_preset ); free( psz_preset );
vlc_object_release( p_object );
} }
[self equalizerUpdated]; [self equalizerUpdated];
...@@ -248,7 +244,6 @@ static bool GetEqualizerStatus( intf_thread_t *p_custom_intf, ...@@ -248,7 +244,6 @@ static bool GetEqualizerStatus( intf_thread_t *p_custom_intf,
float f_preamp, f_band[10]; float f_preamp, f_band[10];
char *psz_bands, *psz_bands_init, *p_next; char *psz_bands, *psz_bands_init, *p_next;
bool b_2p; bool b_2p;
int i;
bool b_enabled = GetEqualizerStatus( p_intf, (char *)"equalizer" ); bool b_enabled = GetEqualizerStatus( p_intf, (char *)"equalizer" );
vlc_object_t *p_object = VLC_OBJECT(getAout()); vlc_object_t *p_object = VLC_OBJECT(getAout());
...@@ -276,7 +271,7 @@ static bool GetEqualizerStatus( intf_thread_t *p_custom_intf, ...@@ -276,7 +271,7 @@ static bool GetEqualizerStatus( intf_thread_t *p_custom_intf,
/* Set the bands slider */ /* Set the bands slider */
psz_bands_init = psz_bands; psz_bands_init = psz_bands;
for( i = 0; i < 10; i++ ) for( int i = 0; i < 10; i++ )
{ {
/* Read dB -20/20 */ /* Read dB -20/20 */
f_band[i] = strtof( psz_bands, &p_next ); f_band[i] = strtof( psz_bands, &p_next );
...@@ -368,27 +363,28 @@ static bool GetEqualizerStatus( intf_thread_t *p_custom_intf, ...@@ -368,27 +363,28 @@ static bool GetEqualizerStatus( intf_thread_t *p_custom_intf,
vlc_object_t *p_object= VLC_OBJECT(getAout()); vlc_object_t *p_object= VLC_OBJECT(getAout());
if( p_object == NULL ) if( p_object == NULL )
p_object = vlc_object_hold(pl_Get( p_intf )); p_object = vlc_object_hold(pl_Get( p_intf ));
NSInteger numberOfChosenPreset = [[sender selectedItem] tag];
var_SetString( p_object , "equalizer-preset" , preset_list[[sender indexOfSelectedItem]] ); var_SetString( p_object , "equalizer-preset" , preset_list[numberOfChosenPreset] );
NSString *preset = @""; NSString *preset = @"";
const char *psz_values; const char *psz_values;
for( int i = 0; i < EQZ_BANDS_MAX; i++ ) for( int i = 0; i < EQZ_BANDS_MAX; i++ )
{ {
preset = [preset stringByAppendingFormat:@"%.1f ", eqz_preset_10b[[sender indexOfSelectedItem]].f_amp[i] ]; preset = [preset stringByAppendingFormat:@"%.1f ", eqz_preset_10b[numberOfChosenPreset].f_amp[i] ];
} }
psz_values = [preset UTF8String]; psz_values = [preset UTF8String];
var_SetString( p_object, "equalizer-bands", psz_values ); var_SetString( p_object, "equalizer-bands", psz_values );
var_SetFloat( p_object, "equalizer-preamp", eqz_preset_10b[[sender indexOfSelectedItem]].f_preamp); var_SetFloat( p_object, "equalizer-preamp", eqz_preset_10b[[[sender selectedItem] tag]].f_preamp);
[o_eq_preamp_sld setFloatValue: eqz_preset_10b[[sender indexOfSelectedItem]].f_preamp]; [o_eq_preamp_sld setFloatValue: eqz_preset_10b[numberOfChosenPreset].f_preamp];
[self setBandSlidersValues:(float *)eqz_preset_10b[[sender indexOfSelectedItem]].f_amp]; [self setBandSlidersValues:(float *)eqz_preset_10b[numberOfChosenPreset].f_amp];
/* save changed to config */ /* save changed to config */
config_PutPsz( p_intf, "equalizer-bands", psz_values ); config_PutPsz( p_intf, "equalizer-bands", psz_values );
config_PutFloat( p_intf, "equalizer-preamp", eqz_preset_10b[[sender indexOfSelectedItem]].f_preamp ); config_PutFloat( p_intf, "equalizer-preamp", eqz_preset_10b[numberOfChosenPreset].f_preamp );
config_PutPsz( p_intf, "equalizer-preset", preset_list[[sender indexOfSelectedItem]] ); config_PutPsz( p_intf, "equalizer-preset", preset_list[numberOfChosenPreset] );
vlc_object_release( p_object ); vlc_object_release( p_object );
} }
......
...@@ -664,6 +664,9 @@ static VLCMain *_o_sharedMainInstance = nil; ...@@ -664,6 +664,9 @@ static VLCMain *_o_sharedMainInstance = nil;
if( !p_intf ) if( !p_intf )
return; return;
// save stuff
config_SaveConfigFile( p_intf );
// don't allow a double termination call. If the user has // don't allow a double termination call. If the user has
// already invoked the quit then simply return this time. // already invoked the quit then simply return this time.
int isTerminating = false; int isTerminating = false;
......
...@@ -97,18 +97,12 @@ vlc_module_begin () ...@@ -97,18 +97,12 @@ vlc_module_begin ()
set_category( CAT_INTERFACE ) set_category( CAT_INTERFACE )
set_subcategory( SUBCAT_INTERFACE_MAIN ) set_subcategory( SUBCAT_INTERFACE_MAIN )
cannot_unload_broken_library( ) cannot_unload_broken_library( )
add_bool( "macosx-autoplay", true, AUTOPLAY_OSX_TEST, AUTOPLAY_OSX_LONGTEXT, add_bool( "macosx-autoplay", true, AUTOPLAY_OSX_TEST, AUTOPLAY_OSX_LONGTEXT, false )
false ) add_bool( "macosx-recentitems", true, RECENT_ITEMS_TEXT, RECENT_ITEMS_LONGTEXT, false )
add_bool( "macosx-recentitems", true, RECENT_ITEMS_TEXT, RECENT_ITEMS_LONGTEXT, add_bool( "macosx-fspanel", true, FSPANEL_TEXT, FSPANEL_LONGTEXT, false )
false ) add_bool( "macosx-appleremote", true, USE_APPLE_REMOTE_TEXT, USE_APPLE_REMOTE_LONGTEXT, false )
add_bool( "macosx-fspanel", true, FSPANEL_TEXT, FSPANEL_LONGTEXT, add_bool( "macosx-mediakeys", true, USE_MEDIAKEYS_TEXT, USE_MEDIAKEYS_LONGTEXT, false )
false ) add_bool( "macosx-interfacestyle", true, INTERFACE_STYLE_TEXT, INTERFACE_STYLE_LONGTEXT, false )
add_bool( "macosx-appleremote", true, USE_APPLE_REMOTE_TEXT, USE_APPLE_REMOTE_LONGTEXT,
false )
add_bool( "macosx-mediakeys", true, USE_MEDIAKEYS_TEXT, USE_MEDIAKEYS_LONGTEXT,
false )
add_bool( "macosx-interfacestyle", true, INTERFACE_STYLE_TEXT, INTERFACE_STYLE_LONGTEXT,
false )
add_bool( "macosx-nativefullscreenmode", true, NATIVE_FULLSCREEN_MODE_ON_LION_TEXT, NATIVE_FULLSCREEN_MODE_ON_LION_LONGTEXT, false ) add_bool( "macosx-nativefullscreenmode", true, NATIVE_FULLSCREEN_MODE_ON_LION_TEXT, NATIVE_FULLSCREEN_MODE_ON_LION_LONGTEXT, false )
add_obsolete_bool( "macosx-stretch" ) /* since 1.2.0 */ add_obsolete_bool( "macosx-stretch" ) /* since 1.2.0 */
add_obsolete_bool( "macosx-background" ) /* since 1.2.0 */ add_obsolete_bool( "macosx-background" ) /* since 1.2.0 */
...@@ -119,11 +113,8 @@ vlc_module_begin () ...@@ -119,11 +113,8 @@ vlc_module_begin ()
set_capability( "vout window nsobject", 100 ) set_capability( "vout window nsobject", 100 )
set_callbacks( WindowOpen, WindowClose ) set_callbacks( WindowOpen, WindowClose )
add_integer( "macosx-vdev", 0, VDEV_TEXT, VDEV_LONGTEXT, add_integer( "macosx-vdev", 0, VDEV_TEXT, VDEV_LONGTEXT, false )
false ) add_float_with_range( "macosx-opaqueness", 1, 0, 1, OPAQUENESS_TEXT, OPAQUENESS_LONGTEXT, true );
add_float_with_range( "macosx-opaqueness", 1, 0, 1, add_bool( "macosx-black", true, BLACK_TEXT, BLACK_LONGTEXT, false )
OPAQUENESS_TEXT, OPAQUENESS_LONGTEXT, true );
add_bool( "macosx-black", true, BLACK_TEXT, BLACK_LONGTEXT,
false )
vlc_module_end () vlc_module_end ()
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment