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

Reply via email to