vlc | branch: master | David Fuhrmann <[email protected]> | Fri Jan 4 18:26:53 2013 +0100| [ebce4183b6ace5a42dd8e6a0252f6272d7d33072] | committer: David Fuhrmann
macosx: audio effects panel: small fixes for eq presets management > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=ebce4183b6ace5a42dd8e6a0252f6272d7d33072 --- modules/gui/macosx/AudioEffects.m | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/modules/gui/macosx/AudioEffects.m b/modules/gui/macosx/AudioEffects.m index 706e474..8476387 100644 --- a/modules/gui/macosx/AudioEffects.m +++ b/modules/gui/macosx/AudioEffects.m @@ -476,35 +476,42 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf, - (void)updatePresetSelector { + NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; + NSArray *presets = [defaults objectForKey:@"EQNames"]; + [o_eq_presets_popup removeAllItems]; [o_eq_presets_popup addItemsWithTitles:[[NSUserDefaults standardUserDefaults] objectForKey:@"EQTitles"]]; [[o_eq_presets_popup menu] addItem:[NSMenuItem separatorItem]]; [o_eq_presets_popup addItemWithTitle:_NS("Add new Preset...")]; [[o_eq_presets_popup lastItem] setTarget: self]; [[o_eq_presets_popup lastItem] setAction: @selector(addPresetAction:)]; - [o_eq_presets_popup addItemWithTitle:_NS("Organize Presets...")]; - [[o_eq_presets_popup lastItem] setTarget: self]; - [[o_eq_presets_popup lastItem] setAction: @selector(deletePresetAction:)]; + + if ([presets count] > 1) { + [o_eq_presets_popup addItemWithTitle:_NS("Organize Presets...")]; + [[o_eq_presets_popup lastItem] setTarget: self]; + [[o_eq_presets_popup lastItem] setAction: @selector(deletePresetAction:)]; + } vlc_object_t *p_object = VLC_OBJECT(getAout()); if (p_object == NULL) p_object = vlc_object_hold(pl_Get(p_intf)); - NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; - NSArray *presets = [defaults objectForKey:@"EQNames"]; NSString *currentPreset = [NSString stringWithFormat:@"%s",var_GetNonEmptyString(p_object, "equalizer-preset")]; - NSInteger currentPresetIndex = 0; + vlc_object_release(p_object); + + NSUInteger currentPresetIndex = 0; if ([currentPreset length] > 0) { currentPresetIndex = [presets indexOfObjectPassingTest:^(id obj, NSUInteger idx, BOOL *stop) { return [obj isEqualToString:currentPreset]; }]; - } + + if (currentPresetIndex == NSNotFound) + currentPresetIndex = [presets count] - 1; + } [o_eq_presets_popup selectItemAtIndex:currentPresetIndex]; [o_eq_preamp_sld setFloatValue:[[[defaults objectForKey:@"EQPreampValues"] objectAtIndex:currentPresetIndex] floatValue]]; [self setBandSliderValuesForPreset:currentPresetIndex]; - - vlc_object_release(p_object); } - (void)equalizerUpdated _______________________________________________ vlc-commits mailing list [email protected] http://mailman.videolan.org/listinfo/vlc-commits
