Commit d53743bf authored by Felix Paul Kühne's avatar Felix Paul Kühne

macosx/audio effects: remove object instance from xib file and further reduce the exposed class API

parent 5ef7a61e
This source diff could not be displayed because it is too large. You can view the blob instead.
/***************************************************************************** /*****************************************************************************
* AudioEffects.h: MacOS X interface module * AudioEffects.h: MacOS X interface module
***************************************************************************** *****************************************************************************
* Copyright (C) 2004-2012 VLC authors and VideoLAN * Copyright (C) 2004-2015 VLC authors and VideoLAN
* $Id$ * $Id$
* *
* Authors: Felix Paul Kühne <fkuehne -at- videolan -dot- org> * Authors: Felix Paul Kühne <fkuehne -at- videolan -dot- org>
...@@ -24,122 +24,114 @@ ...@@ -24,122 +24,114 @@
#import <Cocoa/Cocoa.h> #import <Cocoa/Cocoa.h>
@interface VLCAudioEffects : NSObject { @interface VLCAudioEffects : NSObject
/* generic */
IBOutlet id o_tableView;
IBOutlet id o_window;
IBOutlet id o_profile_pop;
/* Equalizer */ /* generic */
IBOutlet id o_eq_view; @property (readwrite, weak) IBOutlet NSWindow *window;
IBOutlet id o_eq_enable_ckb; @property (readwrite, weak) IBOutlet NSTabView *tabView;
IBOutlet id o_eq_twopass_ckb; @property (readwrite, weak) IBOutlet NSPopUpButton *profilePopup;
IBOutlet id o_eq_preamp_lbl;
IBOutlet id o_eq_presets_popup; /* Equalizer */
IBOutlet id o_eq_band1_sld; @property (readwrite, weak) IBOutlet NSView *equalizerView;
IBOutlet id o_eq_band2_sld; @property (readwrite, weak) IBOutlet NSButton *equalizerEnableCheckbox;
IBOutlet id o_eq_band3_sld; @property (readwrite, weak) IBOutlet NSButton *equalizerTwoPassCheckbox;
IBOutlet id o_eq_band4_sld; @property (readwrite, weak) IBOutlet NSTextField *equalizerPreampLabel;
IBOutlet id o_eq_band5_sld; @property (readwrite, weak) IBOutlet NSPopUpButton *equalizerPresetsPopup;
IBOutlet id o_eq_band6_sld; @property (readwrite, weak) IBOutlet NSSlider *equalizerBand1Slider;
IBOutlet id o_eq_band7_sld; @property (readwrite, weak) IBOutlet NSSlider *equalizerBand2Slider;
IBOutlet id o_eq_band8_sld; @property (readwrite, weak) IBOutlet NSSlider *equalizerBand3Slider;
IBOutlet id o_eq_band9_sld; @property (readwrite, weak) IBOutlet NSSlider *equalizerBand4Slider;
IBOutlet id o_eq_band10_sld; @property (readwrite, weak) IBOutlet NSSlider *equalizerBand5Slider;
IBOutlet id o_eq_preamp_sld; @property (readwrite, weak) IBOutlet NSSlider *equalizerBand6Slider;
@property (readwrite, weak) IBOutlet NSSlider *equalizerBand7Slider;
@property (readwrite, weak) IBOutlet NSSlider *equalizerBand8Slider;
@property (readwrite, weak) IBOutlet NSSlider *equalizerBand9Slider;
@property (readwrite, weak) IBOutlet NSSlider *equalizerBand10Slider;
@property (readwrite, weak) IBOutlet NSSlider *equalizerPreampSlider;
/* Compressor */ /* Compressor */
IBOutlet id o_comp_view; @property (readwrite, weak) IBOutlet NSView *compressorView;
IBOutlet id o_comp_enable_ckb; @property (readwrite, weak) IBOutlet NSButton *compressorEnableCheckbox;
IBOutlet id o_comp_reset_btn; @property (readwrite, weak) IBOutlet NSButton *compressorResetButton;
IBOutlet id o_comp_band1_sld; @property (readwrite, weak) IBOutlet NSSlider *compressorBand1Slider;
IBOutlet id o_comp_band1_fld; @property (readwrite, weak) IBOutlet NSTextField *compressorBand1TextField;
IBOutlet id o_comp_band1_lbl; @property (readwrite, weak) IBOutlet NSTextField *compressorBand1Label;
IBOutlet id o_comp_band2_sld; @property (readwrite, weak) IBOutlet NSSlider *compressorBand2Slider;
IBOutlet id o_comp_band2_fld; @property (readwrite, weak) IBOutlet NSTextField *compressorBand2TextField;
IBOutlet id o_comp_band2_lbl; @property (readwrite, weak) IBOutlet NSTextField *compressorBand2Label;
IBOutlet id o_comp_band3_sld; @property (readwrite, weak) IBOutlet NSSlider *compressorBand3Slider;
IBOutlet id o_comp_band3_fld; @property (readwrite, weak) IBOutlet NSTextField *compressorBand3TextField;
IBOutlet id o_comp_band3_lbl; @property (readwrite, weak) IBOutlet NSTextField *compressorBand3Label;
IBOutlet id o_comp_band4_sld; @property (readwrite, weak) IBOutlet NSSlider *compressorBand4Slider;
IBOutlet id o_comp_band4_fld; @property (readwrite, weak) IBOutlet NSTextField *compressorBand4TextField;
IBOutlet id o_comp_band4_lbl; @property (readwrite, weak) IBOutlet NSTextField *compressorBand4Label;
IBOutlet id o_comp_band5_sld; @property (readwrite, weak) IBOutlet NSSlider *compressorBand5Slider;
IBOutlet id o_comp_band5_fld; @property (readwrite, weak) IBOutlet NSTextField *compressorBand5TextField;
IBOutlet id o_comp_band5_lbl; @property (readwrite, weak) IBOutlet NSTextField *compressorBand5Label;
IBOutlet id o_comp_band6_sld; @property (readwrite, weak) IBOutlet NSSlider *compressorBand6Slider;
IBOutlet id o_comp_band6_fld; @property (readwrite, weak) IBOutlet NSTextField *compressorBand6TextField;
IBOutlet id o_comp_band6_lbl; @property (readwrite, weak) IBOutlet NSTextField *compressorBand6Label;
IBOutlet id o_comp_band7_sld; @property (readwrite, weak) IBOutlet NSSlider *compressorBand7Slider;
IBOutlet id o_comp_band7_fld; @property (readwrite, weak) IBOutlet NSTextField *compressorBand7TextField;
IBOutlet id o_comp_band7_lbl; @property (readwrite, weak) IBOutlet NSTextField *compressorBand7Label;
/* Spatializer */ /* Spatializer */
IBOutlet id o_spat_view; @property (readwrite, weak) IBOutlet NSView *spatializerView;
IBOutlet id o_spat_enable_ckb; @property (readwrite, weak) IBOutlet NSButton *spatializerEnableCheckbox;
IBOutlet id o_spat_reset_btn; @property (readwrite, weak) IBOutlet NSButton *spatializerResetButton;
IBOutlet id o_spat_band1_sld; @property (readwrite, weak) IBOutlet NSSlider *spatializerBand1Slider;
IBOutlet id o_spat_band1_fld; @property (readwrite, weak) IBOutlet NSTextField *spatializerBand1TextField;
IBOutlet id o_spat_band1_lbl; @property (readwrite, weak) IBOutlet NSTextField *spatializerBand1Label;
IBOutlet id o_spat_band2_sld; @property (readwrite, weak) IBOutlet NSSlider *spatializerBand2Slider;
IBOutlet id o_spat_band2_fld; @property (readwrite, weak) IBOutlet NSTextField *spatializerBand2TextField;
IBOutlet id o_spat_band2_lbl; @property (readwrite, weak) IBOutlet NSTextField *spatializerBand2Label;
IBOutlet id o_spat_band3_sld; @property (readwrite, weak) IBOutlet NSSlider *spatializerBand3Slider;
IBOutlet id o_spat_band3_fld; @property (readwrite, weak) IBOutlet NSTextField *spatializerBand3TextField;
IBOutlet id o_spat_band3_lbl; @property (readwrite, weak) IBOutlet NSTextField *spatializerBand3Label;
IBOutlet id o_spat_band4_sld; @property (readwrite, weak) IBOutlet NSSlider *spatializerBand4Slider;
IBOutlet id o_spat_band4_fld; @property (readwrite, weak) IBOutlet NSTextField *spatializerBand4TextField;
IBOutlet id o_spat_band4_lbl; @property (readwrite, weak) IBOutlet NSTextField *spatializerBand4Label;
IBOutlet id o_spat_band5_sld; @property (readwrite, weak) IBOutlet NSSlider *spatializerBand5Slider;
IBOutlet id o_spat_band5_fld; @property (readwrite, weak) IBOutlet NSTextField *spatializerBand5TextField;
IBOutlet id o_spat_band5_lbl; @property (readwrite, weak) IBOutlet NSTextField *spatializerBand5Label;
/* Filter */ /* Filter */
IBOutlet id o_filter_headPhone_ckb; @property (readwrite, weak) IBOutlet NSButton *filterHeadPhoneCheckbox;
IBOutlet id o_filter_normLevel_ckb; @property (readwrite, weak) IBOutlet NSButton *filterNormLevelCheckbox;
IBOutlet id o_filter_normLevel_sld; @property (readwrite, weak) IBOutlet NSSlider *filterNormLevelSlider;
IBOutlet id o_filter_normLevel_lbl; @property (readwrite, weak) IBOutlet NSTextField *filterNormLevelLabel;
IBOutlet id o_filter_karaoke_ckb; @property (readwrite, weak) IBOutlet NSButton *filterKaraokeCheckbox;
}
/* generic */ /* generic */
+ (VLCAudioEffects *)sharedInstance; + (VLCAudioEffects *)sharedInstance;
- (void)updateCocoaWindowLevel:(NSInteger)i_level;
- (IBAction)toggleWindow:(id)sender;
- (void)setAudioFilter: (char *)psz_name on:(BOOL)b_on;
- (IBAction)profileSelectorAction:(id)sender; - (IBAction)profileSelectorAction:(id)sender;
- (IBAction)addAudioEffectsProfile:(id)sender;
- (IBAction)removeAudioEffectsProfile:(id)sender;
- (void)toggleWindow:(id)sender;
- (void)updateCocoaWindowLevel:(NSInteger)i_level;
- (void)saveCurrentProfile; - (void)saveCurrentProfile;
/* Equalizer */ /* Equalizer */
- (void)equalizerUpdated; - (IBAction)equalizerBandSliderUpdated:(id)sender;
- (void)setValue:(float)value forSlider:(int)index; - (IBAction)equalizerChangePreset:(id)sender;
- (IBAction)eq_bandSliderUpdated:(id)sender; - (IBAction)equalizerEnable:(id)sender;
- (IBAction)eq_changePreset:(id)sender; - (IBAction)equalizerPreAmpSliderUpdated:(id)sender;
- (IBAction)eq_enable:(id)sender; - (IBAction)equalizerTwoPass:(id)sender;
- (IBAction)eq_preampSliderUpdated:(id)sender;
- (IBAction)eq_twopass:(id)sender;
/* Compressor */ /* Compressor */
- (void)resetCompressor;
- (IBAction)resetCompressorValues:(id)sender; - (IBAction)resetCompressorValues:(id)sender;
- (IBAction)comp_enable:(id)sender; - (IBAction)compressorEnable:(id)sender;
- (IBAction)comp_sliderUpdated:(id)sender; - (IBAction)compressorSliderUpdated:(id)sender;
/* Spatializer */ /* Spatializer */
- (void)resetSpatializer;
- (IBAction)resetSpatializerValues:(id)sender; - (IBAction)resetSpatializerValues:(id)sender;
- (IBAction)spat_enable:(id)sender; - (IBAction)spatializerEnable:(id)sender;
- (IBAction)spat_sliderUpdated:(id)sender; - (IBAction)spatializerSliderUpdated:(id)sender;
/* Filter */ /* Filter */
- (void)resetAudioFilters; - (IBAction)filterEnableHeadPhoneVirt:(id)sender;
- (IBAction)filter_enableHeadPhoneVirt:(id)sender; - (IBAction)filterEnableVolumeNorm:(id)sender;
- (IBAction)filter_enableVolumeNorm:(id)sender; - (IBAction)filterVolumeNormSliderUpdated:(id)sender;
- (IBAction)filter_volNormSliderUpdated:(id)sender; - (IBAction)filterEnableKaraoke:(id)sender;
- (IBAction)filter_enableKaraoke:(id)sender;
@end @end
/***************************************************************************** /*****************************************************************************
* AudioEffects.m: MacOS X interface module * AudioEffects.m: MacOS X interface module
***************************************************************************** *****************************************************************************
* Copyright (C) 2004-2012 VLC authors and VideoLAN * Copyright (C) 2004-2015 VLC authors and VideoLAN
* $Id$ * $Id$
* *
* Authors: Felix Paul Kühne <fkuehne -at- videolan -dot- org> * Authors: Felix Paul Kühne <fkuehne -at- videolan -dot- org>
...@@ -38,7 +38,6 @@ ...@@ -38,7 +38,6 @@
@interface VLCAudioEffects () @interface VLCAudioEffects ()
{ {
intf_thread_t *p_intf;
BOOL b_genericAudioProfileInInteraction; BOOL b_genericAudioProfileInInteraction;
NSInteger i_old_profile_index; NSInteger i_old_profile_index;
} }
...@@ -101,7 +100,6 @@ ...@@ -101,7 +100,6 @@
- (id)init - (id)init
{ {
self = [super init]; self = [super init];
p_intf = VLCIntf;
i_old_profile_index = -1; i_old_profile_index = -1;
return self; return self;
} }
...@@ -110,44 +108,45 @@ ...@@ -110,44 +108,45 @@
{ {
/* setup the user's language */ /* setup the user's language */
/* Equalizer */ /* Equalizer */
[o_eq_enable_ckb setTitle:_NS("Enable")]; [_equalizerEnableCheckbox setTitle:_NS("Enable")];
[o_eq_twopass_ckb setTitle:_NS("2 Pass")]; [_equalizerTwoPassCheckbox setTitle:_NS("2 Pass")];
[o_eq_preamp_lbl setStringValue:_NS("Preamp")]; [_equalizerPreampLabel setStringValue:_NS("Preamp")];
/* Compressor */ /* Compressor */
[o_comp_enable_ckb setTitle:_NS("Enable dynamic range compressor")]; [_compressorEnableCheckbox setTitle:_NS("Enable dynamic range compressor")];
[o_comp_reset_btn setTitle:_NS("Reset")]; [_compressorResetButton setTitle:_NS("Reset")];
[o_comp_band1_lbl setStringValue:_NS("RMS/peak")];; [_compressorBand1Label setStringValue:_NS("RMS/peak")];;
[o_comp_band2_lbl setStringValue:_NS("Attack")]; [_compressorBand2Label setStringValue:_NS("Attack")];
[o_comp_band3_lbl setStringValue:_NS("Release")]; [_compressorBand3Label setStringValue:_NS("Release")];
[o_comp_band4_lbl setStringValue:_NS("Threshold")]; [_compressorBand4Label setStringValue:_NS("Threshold")];
[o_comp_band5_lbl setStringValue:_NS("Ratio")]; [_compressorBand5Label setStringValue:_NS("Ratio")];
[o_comp_band6_lbl setStringValue:_NS("Knee radius")]; [_compressorBand6Label setStringValue:_NS("Knee radius")];
[o_comp_band7_lbl setStringValue:_NS("Makeup gain")]; [_compressorBand7Label setStringValue:_NS("Makeup gain")];
/* Spatializer */ /* Spatializer */
[o_spat_enable_ckb setTitle:_NS("Enable Spatializer")]; [_spatializerEnableCheckbox setTitle:_NS("Enable Spatializer")];
[o_spat_reset_btn setTitle:_NS("Reset")]; [_spatializerResetButton setTitle:_NS("Reset")];
[o_spat_band1_lbl setStringValue:_NS("Size")]; [_spatializerBand1Label setStringValue:_NS("Size")];
[o_spat_band2_lbl setStringValue:_NS("Width")]; [_spatializerBand2Label setStringValue:_NS("Width")];
[o_spat_band3_lbl setStringValue:_NS("Wet")]; [_spatializerBand3Label setStringValue:_NS("Wet")];
[o_spat_band4_lbl setStringValue:_NS("Dry")]; [_spatializerBand4Label setStringValue:_NS("Dry")];
[o_spat_band5_lbl setStringValue:_NS("Damp")]; [_spatializerBand5Label setStringValue:_NS("Damp")];
/* Filter */ /* Filter */
[o_filter_headPhone_ckb setTitle:_NS("Headphone virtualization")]; [_filterHeadPhoneCheckbox setTitle:_NS("Headphone virtualization")];
[o_filter_normLevel_ckb setTitle:_NS("Volume normalization")]; [_filterNormLevelCheckbox setTitle:_NS("Volume normalization")];
[o_filter_normLevel_lbl setStringValue:_NS("Maximum level")]; [_filterNormLevelLabel setStringValue:_NS("Maximum level")];
[o_filter_karaoke_ckb setTitle:_NS("Karaoke")]; [_filterKaraokeCheckbox setTitle:_NS("Karaoke")];
/* generic */ /* generic */
[[o_tableView tabViewItemAtIndex:[o_tableView indexOfTabViewItemWithIdentifier:@"equalizer"]] setLabel:_NS("Equalizer")]; [[_tabView tabViewItemAtIndex:[_tabView indexOfTabViewItemWithIdentifier:@"equalizer"]] setLabel:_NS("Equalizer")];
[[o_tableView tabViewItemAtIndex:[o_tableView indexOfTabViewItemWithIdentifier:@"compressor"]] setLabel:_NS("Compressor")]; [[_tabView tabViewItemAtIndex:[_tabView indexOfTabViewItemWithIdentifier:@"compressor"]] setLabel:_NS("Compressor")];
[[o_tableView tabViewItemAtIndex:[o_tableView indexOfTabViewItemWithIdentifier:@"spatializer"]] setLabel:_NS("Spatializer")]; [[_tabView tabViewItemAtIndex:[_tabView indexOfTabViewItemWithIdentifier:@"spatializer"]] setLabel:_NS("Spatializer")];
[[o_tableView tabViewItemAtIndex:[o_tableView indexOfTabViewItemWithIdentifier:@"filter"]] setLabel:_NS("Filter")]; [[_tabView tabViewItemAtIndex:[_tabView indexOfTabViewItemWithIdentifier:@"filter"]] setLabel:_NS("Filter")];
[o_window setTitle:_NS("Audio Effects")]; [_window setTitle:_NS("Audio Effects")];
[o_window setExcludedFromWindowsMenu:YES]; [_window setExcludedFromWindowsMenu:YES];
[o_window setCollectionBehavior: NSWindowCollectionBehaviorFullScreenAuxiliary]; [_window setCollectionBehavior: NSWindowCollectionBehaviorFullScreenAuxiliary];
[self equalizerUpdated]; [self equalizerUpdated];
[self resetCompressor]; [self resetCompressor];
...@@ -162,6 +161,7 @@ ...@@ -162,6 +161,7 @@
- (void)setAudioFilter: (char *)psz_name on:(BOOL)b_on - (void)setAudioFilter: (char *)psz_name on:(BOOL)b_on
{ {
audio_output_t *p_aout = getAout(); audio_output_t *p_aout = getAout();
intf_thread_t *p_intf = VLCIntf;
playlist_EnableAudioFilter(pl_Get(p_intf), psz_name, b_on); playlist_EnableAudioFilter(pl_Get(p_intf), psz_name, b_on);
if (p_aout) { if (p_aout) {
...@@ -176,23 +176,23 @@ ...@@ -176,23 +176,23 @@
- (void)resetProfileSelector - (void)resetProfileSelector
{ {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[o_profile_pop removeAllItems]; [_profilePopup removeAllItems];
NSArray *profileNames = [defaults objectForKey:@"AudioEffectProfileNames"]; NSArray *profileNames = [defaults objectForKey:@"AudioEffectProfileNames"];
[o_profile_pop addItemsWithTitles:profileNames]; [_profilePopup addItemsWithTitles:profileNames];
[[o_profile_pop menu] addItem:[NSMenuItem separatorItem]]; [[_profilePopup menu] addItem:[NSMenuItem separatorItem]];
[o_profile_pop addItemWithTitle:_NS("Duplicate current profile...")]; [_profilePopup addItemWithTitle:_NS("Duplicate current profile...")];
[[o_profile_pop lastItem] setTarget: self]; [[_profilePopup lastItem] setTarget: self];
[[o_profile_pop lastItem] setAction: @selector(addAudioEffectsProfile:)]; [[_profilePopup lastItem] setAction: @selector(addAudioEffectsProfile:)];
if ([profileNames count] > 1) { if ([profileNames count] > 1) {
[o_profile_pop addItemWithTitle:_NS("Organize Profiles...")]; [_profilePopup addItemWithTitle:_NS("Organize Profiles...")];
[[o_profile_pop lastItem] setTarget: self]; [[_profilePopup lastItem] setTarget: self];
[[o_profile_pop lastItem] setAction: @selector(removeAudioEffectsProfile:)]; [[_profilePopup lastItem] setAction: @selector(removeAudioEffectsProfile:)];
} }
[o_profile_pop selectItemAtIndex:[defaults integerForKey:@"AudioEffectSelectedProfile"]]; [_profilePopup selectItemAtIndex:[defaults integerForKey:@"AudioEffectSelectedProfile"]];
[self profileSelectorAction:self]; [self profileSelectorAction:self];
} }
...@@ -200,22 +200,23 @@ ...@@ -200,22 +200,23 @@
#pragma mark generic code #pragma mark generic code
- (void)updateCocoaWindowLevel:(NSInteger)i_level - (void)updateCocoaWindowLevel:(NSInteger)i_level
{ {
if (o_window && [o_window isVisible] && [o_window level] != i_level) if (_window && [_window isVisible] && [_window level] != i_level)
[o_window setLevel: i_level]; [_window setLevel: i_level];
} }
- (IBAction)toggleWindow:(id)sender - (IBAction)toggleWindow:(id)sender
{ {
if ([o_window isKeyWindow]) if ([_window isKeyWindow])
[o_window orderOut:sender]; [_window orderOut:sender];
else { else {
[o_window setLevel: [[[VLCMain sharedInstance] voutController] currentStatusWindowLevel]]; [_window setLevel: [[[VLCMain sharedInstance] voutController] currentStatusWindowLevel]];
[o_window makeKeyAndOrderFront:sender]; [_window makeKeyAndOrderFront:sender];
} }
} }
- (NSString *)generateProfileString - (NSString *)generateProfileString
{ {
intf_thread_t *p_intf = VLCIntf;
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));
...@@ -262,11 +263,12 @@ ...@@ -262,11 +263,12 @@
- (IBAction)profileSelectorAction:(id)sender - (IBAction)profileSelectorAction:(id)sender
{ {
intf_thread_t *p_intf = VLCIntf;
[self saveCurrentProfile]; [self saveCurrentProfile];
i_old_profile_index = [o_profile_pop indexOfSelectedItem]; i_old_profile_index = [_profilePopup indexOfSelectedItem];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSInteger selectedProfile = [o_profile_pop indexOfSelectedItem]; NSInteger selectedProfile = [_profilePopup indexOfSelectedItem];
if (selectedProfile < 0) if (selectedProfile < 0)
return; return;
...@@ -344,11 +346,11 @@ ...@@ -344,11 +346,11 @@
} }
/* update UI */ /* update UI */
BOOL b_eq_enabled = [tempString rangeOfString:@"equalizer"].location != NSNotFound; BOOL b_equalizerEnabled = [tempString rangeOfString:@"equalizer"].location != NSNotFound;
[o_eq_view enableSubviews:b_eq_enabled]; [_equalizerView enableSubviews:b_equalizerEnabled];
[o_eq_enable_ckb setState:(b_eq_enabled ? NSOnState : NSOffState)]; [_equalizerEnableCheckbox setState:(b_equalizerEnabled ? NSOnState : NSOffState)];
[o_eq_twopass_ckb setState:[[items objectAtIndex:15] intValue]]; [_equalizerTwoPassCheckbox setState:[[items objectAtIndex:15] intValue]];
[self resetCompressor]; [self resetCompressor];
[self resetSpatializer]; [self resetSpatializer];
[self resetAudioFilters]; [self resetAudioFilters];
...@@ -362,7 +364,7 @@ ...@@ -362,7 +364,7 @@
vlc_object_release(p_aout); vlc_object_release(p_aout);
} }
- (IBAction)addAudioEffectsProfile:(id)sender - (void)addAudioEffectsProfile:(id)sender
{ {
/* show panel */ /* show panel */
VLCEnterTextPanel *panel = [VLCEnterTextPanel sharedInstance]; VLCEnterTextPanel *panel = [VLCEnterTextPanel sharedInstance];
...@@ -373,10 +375,10 @@ ...@@ -373,10 +375,10 @@
[panel setTarget:self]; [panel setTarget:self];
b_genericAudioProfileInInteraction = YES; b_genericAudioProfileInInteraction = YES;
[panel runModalForWindow:o_window]; [panel runModalForWindow:_window];
} }
- (IBAction)removeAudioEffectsProfile:(id)sender - (void)removeAudioEffectsProfile:(id)sender
{ {
/* show panel */ /* show panel */
VLCSelectItemInPopupPanel *panel = [VLCSelectItemInPopupPanel sharedInstance]; VLCSelectItemInPopupPanel *panel = [VLCSelectItemInPopupPanel sharedInstance];
...@@ -388,7 +390,7 @@ ...@@ -388,7 +390,7 @@
[panel setTarget:self]; [panel setTarget:self];
b_genericAudioProfileInInteraction = YES; b_genericAudioProfileInInteraction = YES;
[panel runModalForWindow:o_window]; [panel runModalForWindow:_window];
} }
#pragma mark - #pragma mark -
...@@ -426,17 +428,17 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf, ...@@ -426,17 +428,17 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf,
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSArray *presets = [defaults objectForKey:@"EQNames"]; NSArray *presets = [defaults objectForKey:@"EQNames"];
[o_eq_presets_popup removeAllItems]; [_equalizerPresetsPopup removeAllItems];
[o_eq_presets_popup addItemsWithTitles:[[NSUserDefaults standardUserDefaults] objectForKey:@"EQTitles"]]; [_equalizerPresetsPopup addItemsWithTitles:[[NSUserDefaults standardUserDefaults] objectForKey:@"EQTitles"]];
[[o_eq_presets_popup menu] addItem:[NSMenuItem separatorItem]]; [[_equalizerPresetsPopup menu] addItem:[NSMenuItem separatorItem]];
[o_eq_presets_popup addItemWithTitle:_NS("Add new Preset...")]; [_equalizerPresetsPopup addItemWithTitle:_NS("Add new Preset...")];
[[o_eq_presets_popup lastItem] setTarget: self]; [[_equalizerPresetsPopup lastItem] setTarget: self];
[[o_eq_presets_popup lastItem] setAction: @selector(addPresetAction:)]; [[_equalizerPresetsPopup lastItem] setAction: @selector(addPresetAction:)];
if ([presets count] > 1) { if ([presets count] > 1) {
[o_eq_presets_popup addItemWithTitle:_NS("Organize Presets...")]; [_equalizerPresetsPopup addItemWithTitle:_NS("Organize Presets...")];
[[o_eq_presets_popup lastItem] setTarget: self]; [[_equalizerPresetsPopup lastItem] setTarget: self];
[[o_eq_presets_popup lastItem] setAction: @selector(deletePresetAction:)]; [[_equalizerPresetsPopup lastItem] setAction: @selector(deletePresetAction:)];
} }
audio_output_t *p_aout = getAout(); audio_output_t *p_aout = getAout();
...@@ -457,42 +459,43 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf, ...@@ -457,42 +459,43 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf,
currentPresetIndex = [presets count] - 1; currentPresetIndex = [presets count] - 1;
} }
[o_eq_presets_popup selectItemAtIndex:currentPresetIndex]; [_equalizerPresetsPopup selectItemAtIndex:currentPresetIndex];
[self eq_changePreset: o_eq_presets_popup]; [self equalizerChangePreset:_equalizerPresetsPopup];
[o_eq_preamp_sld setFloatValue:[[[defaults objectForKey:@"EQPreampValues"] objectAtIndex:currentPresetIndex] floatValue]]; [_equalizerPreampSlider setFloatValue:[[[defaults objectForKey:@"EQPreampValues"] objectAtIndex:currentPresetIndex] floatValue]];
[self setBandSliderValuesForPreset:currentPresetIndex]; [self setBandSliderValuesForPreset:currentPresetIndex];
} }
- (void)equalizerUpdated - (void)equalizerUpdated
{ {
float f_preamp = config_GetFloat(p_intf, "equalizer-preamp"); intf_thread_t *p_intf = VLCIntf;
float fPreamp = config_GetFloat(p_intf, "equalizer-preamp");
bool b_2p = (BOOL)config_GetInt(p_intf, "equalizer-2pass"); bool b_2p = (BOOL)config_GetInt(p_intf, "equalizer-2pass");
bool b_enabled = GetEqualizerStatus(p_intf, (char *)"equalizer"); bool bEnabled = GetEqualizerStatus(p_intf, (char *)"equalizer");
/* Setup sliders */ /* Setup sliders */
[self updatePresetSelector]; [self updatePresetSelector];
/* Set the the checkboxes */ /* Set the the checkboxes */
[o_eq_view enableSubviews: b_enabled]; [_equalizerView enableSubviews: bEnabled];
[o_eq_enable_ckb setState: b_enabled]; [_equalizerEnableCheckbox setState: bEnabled];
[o_eq_twopass_ckb setState: b_2p]; [_equalizerTwoPassCheckbox setState: b_2p];
} }
- (id)sliderByIndex:(int)index - (id)sliderByIndex:(int)index
{ {
switch(index) { switch(index) {
case 0 : return o_eq_band1_sld; case 0 : return _equalizerBand1Slider;
case 1 : return o_eq_band2_sld; case 1 : return _equalizerBand2Slider;
case 2 : return o_eq_band3_sld; case 2 : return _equalizerBand3Slider;
case 3 : return o_eq_band4_sld; case 3 : return _equalizerBand4Slider;
case 4 : return o_eq_band5_sld; case 4 : return _equalizerBand5Slider;
case 5 : return o_eq_band6_sld; case 5 : return _equalizerBand6Slider;
case 6 : return o_eq_band7_sld; case 6 : return _equalizerBand7Slider;
case 7 : return o_eq_band8_sld; case 7 : return _equalizerBand8Slider;
case 8 : return o_eq_band9_sld; case 8 : return _equalizerBand9Slider;
case 9 : return o_eq_band10_sld; case 9 : return _equalizerBand10Slider;
default : return nil; default : return nil;
} }
} }
...@@ -509,16 +512,16 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf, ...@@ -509,16 +512,16 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf,
- (NSString *)generatePresetString - (NSString *)generatePresetString
{ {
return [NSString stringWithFormat:@"%.1f %.1f %.1f %.1f %.1f %.1f %.1f %.1f %.1f %.1f", return [NSString stringWithFormat:@"%.1f %.1f %.1f %.1f %.1f %.1f %.1f %.1f %.1f %.1f",
[o_eq_band1_sld floatValue], [_equalizerBand1Slider floatValue],
[o_eq_band2_sld floatValue], [_equalizerBand2Slider floatValue],
[o_eq_band3_sld floatValue], [_equalizerBand3Slider floatValue],
[o_eq_band4_sld floatValue], [_equalizerBand4Slider floatValue],
[o_eq_band5_sld floatValue], [_equalizerBand5Slider floatValue],
[o_eq_band6_sld floatValue], [_equalizerBand6Slider floatValue],
[o_eq_band7_sld floatValue], [_equalizerBand7Slider floatValue],
[o_eq_band8_sld floatValue], [_equalizerBand8Slider floatValue],
[o_eq_band9_sld floatValue], [_equalizerBand9Slider floatValue],
[o_eq_band10_sld floatValue]]; [_equalizerBand10Slider floatValue]];
} }
- (void)setValue:(float)value forSlider:(int)index - (void)setValue:(float)value forSlider:(int)index
...@@ -529,13 +532,13 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf, ...@@ -529,13 +532,13 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf,
[slider setFloatValue:value]; [slider setFloatValue:value];
} }
- (IBAction)eq_enable:(id)sender - (IBAction)equalizerEnable:(id)sender
{ {
[o_eq_view enableSubviews:[sender state]]; [_equalizerView enableSubviews:[sender state]];
[self setAudioFilter: "equalizer" on:[sender state]]; [self setAudioFilter: "equalizer" on:[sender state]];
} }
- (IBAction)eq_bandSliderUpdated:(id)sender - (IBAction)equalizerBandSliderUpdated:(id)sender
{ {
audio_output_t *p_aout = getAout(); audio_output_t *p_aout = getAout();
if (p_aout) { if (p_aout) {
...@@ -544,12 +547,13 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf, ...@@ -544,12 +547,13 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf,
} }
/* save changed to config */ /* save changed to config */
config_PutPsz(p_intf, "equalizer-bands", [[self generatePresetString] UTF8String]); config_PutPsz(VLCIntf, "equalizer-bands", [[self generatePresetString] UTF8String]);
} }
- (IBAction)eq_changePreset:(id)sender - (IBAction)equalizerChangePreset:(id)sender
{ {
intf_thread_t *p_intf = VLCIntf;
NSInteger numberOfChosenPreset = [sender indexOfSelectedItem]; NSInteger numberOfChosenPreset = [sender indexOfSelectedItem];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
...@@ -564,31 +568,30 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf, ...@@ -564,31 +568,30 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf,
vlc_object_release(p_aout); vlc_object_release(p_aout);
} }
[o_eq_preamp_sld setFloatValue: [preamp floatValue]]; [_equalizerPreampSlider setFloatValue: [preamp floatValue]];
[self setBandSliderValuesForPreset:numberOfChosenPreset]; [self setBandSliderValuesForPreset:numberOfChosenPreset];
/* save changed to config */ /* save changed to config */
config_PutPsz(p_intf, "equalizer-bands", [preset UTF8String]); config_PutPsz(p_intf, "equalizer-bands", [preset UTF8String]);
config_PutFloat(p_intf, "equalizer-preamp", [preamp floatValue]); config_PutFloat(p_intf, "equalizer-preamp", [preamp floatValue]);
config_PutPsz(p_intf, "equalizer-preset", [[[defaults objectForKey:@"EQNames"] objectAtIndex:numberOfChosenPreset] UTF8String]); config_PutPsz(p_intf, "equalizer-preset", [[[defaults objectForKey:@"EQNames"] objectAtIndex:numberOfChosenPreset] UTF8String]);
} }
- (IBAction)eq_preampSliderUpdated:(id)sender - (IBAction)equalizerPreAmpSliderUpdated:(id)sender
{ {
float f_preamp = [sender floatValue] ; float fPreamp = [sender floatValue] ;
audio_output_t *p_aout = getAout(); audio_output_t *p_aout = getAout();
if (p_aout) { if (p_aout) {
var_SetFloat(p_aout, "equalizer-preamp", f_preamp); var_SetFloat(p_aout, "equalizer-preamp", fPreamp);
vlc_object_release(p_aout); vlc_object_release(p_aout);
} }
/* save changed to config */ /* save changed to config */
config_PutFloat(p_intf, "equalizer-preamp", f_preamp); config_PutFloat(VLCIntf, "equalizer-preamp", fPreamp);
} }
- (IBAction)eq_twopass:(id)sender
- (IBAction)equalizerTwoPass:(id)sender
{ {
bool b_2p = [sender state] ? true : false; bool b_2p = [sender state] ? true : false;
...@@ -599,8 +602,7 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf, ...@@ -599,8 +602,7 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf,
} }
/* save changed to config */ /* save changed to config */
config_PutInt(p_intf, "equalizer-2pass", (int)b_2p); config_PutInt(VLCIntf, "equalizer-2pass", (int)b_2p);
} }
- (IBAction)addPresetAction:(id)sender - (IBAction)addPresetAction:(id)sender
...@@ -614,7 +616,7 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf, ...@@ -614,7 +616,7 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf,
[panel setTarget:self]; [panel setTarget:self];
b_genericAudioProfileInInteraction = NO; b_genericAudioProfileInInteraction = NO;
[panel runModalForWindow:o_window]; [panel runModalForWindow:_window];
} }
- (void)panel:(VLCEnterTextPanel *)panel returnValue:(NSUInteger)value text:(NSString *)text - (void)panel:(VLCEnterTextPanel *)panel returnValue:(NSUInteger)value text:(NSString *)text
...@@ -632,7 +634,7 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf, ...@@ -632,7 +634,7 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf,
[workArray addObject:text]; [workArray addObject:text];
[defaults setObject:[NSArray arrayWithArray:workArray] forKey:@"EQTitles"]; [defaults setObject:[NSArray arrayWithArray:workArray] forKey:@"EQTitles"];
workArray = [[NSMutableArray alloc] initWithArray:[defaults objectForKey:@"EQPreampValues"]]; workArray = [[NSMutableArray alloc] initWithArray:[defaults objectForKey:@"EQPreampValues"]];
[workArray addObject:[NSString stringWithFormat:@"%.1f", [o_eq_preamp_sld floatValue]]]; [workArray addObject:[NSString stringWithFormat:@"%.1f", [_equalizerPreampSlider floatValue]]];
[defaults setObject:[NSArray arrayWithArray:workArray] forKey:@"EQPreampValues"]; [defaults setObject:[NSArray arrayWithArray:workArray] forKey:@"EQPreampValues"];
workArray = [[NSMutableArray alloc] initWithArray:[defaults objectForKey:@"EQNames"]]; workArray = [[NSMutableArray alloc] initWithArray:[defaults objectForKey:@"EQNames"]];
[workArray addObject:[text decomposedStringWithCanonicalMapping]]; [workArray addObject:[text decomposedStringWithCanonicalMapping]];
...@@ -646,8 +648,7 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf, ...@@ -646,8 +648,7 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf,
vlc_object_release(p_aout); vlc_object_release(p_aout);
} }
config_PutPsz(p_intf, "equalizer-preset", [[text decomposedStringWithCanonicalMapping] UTF8String]); config_PutPsz(VLCIntf, "equalizer-preset", [[text decomposedStringWithCanonicalMapping] UTF8String]);
/* update UI */ /* update UI */
[self updatePresetSelector]; [self updatePresetSelector];
...@@ -656,7 +657,7 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf, ...@@ -656,7 +657,7 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf,
// profile settings // profile settings
} else { } else {
if (value != NSOKButton) { if (value != NSOKButton) {
[o_profile_pop selectItemAtIndex:[defaults integerForKey:@"AudioEffectSelectedProfile"]]; [_profilePopup selectItemAtIndex:[defaults integerForKey:@"AudioEffectSelectedProfile"]];
return; return;
} }
...@@ -664,14 +665,14 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf, ...@@ -664,14 +665,14 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf,
// duplicate names are not allowed in the popup control // duplicate names are not allowed in the popup control
if ([text length] == 0 || [profileNames containsObject:text]) { if ([text length] == 0 || [profileNames containsObject:text]) {
[o_profile_pop selectItemAtIndex:[defaults integerForKey:@"AudioEffectSelectedProfile"]]; [_profilePopup selectItemAtIndex:[defaults integerForKey:@"AudioEffectSelectedProfile"]];
NSAlert *alert = [[NSAlert alloc] init]; NSAlert *alert = [[NSAlert alloc] init];
[alert setAlertStyle:NSCriticalAlertStyle]; [alert setAlertStyle:NSCriticalAlertStyle];
[alert setMessageText:_NS("Please enter a unique name for the new profile.")]; [alert setMessageText:_NS("Please enter a unique name for the new profile.")];
[alert setInformativeText:_NS("Multiple profiles with the same name are not allowed.")]; [alert setInformativeText:_NS("Multiple profiles with the same name are not allowed.")];
[alert beginSheetModalForWindow:o_window [alert beginSheetModalForWindow:_window
modalDelegate:nil modalDelegate:nil
didEndSelector:nil didEndSelector:nil
contextInfo:nil]; contextInfo:nil];
...@@ -707,7 +708,7 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf, ...@@ -707,7 +708,7 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf,
[panel setTarget:self]; [panel setTarget:self];
b_genericAudioProfileInInteraction = NO; b_genericAudioProfileInInteraction = NO;
[panel runModalForWindow:o_window]; [panel runModalForWindow:_window];
} }
- (void)panel:(VLCSelectItemInPopupPanel *)panel returnValue:(NSUInteger)value item:(NSUInteger)item - (void)panel:(VLCSelectItemInPopupPanel *)panel returnValue:(NSUInteger)value item:(NSUInteger)item
...@@ -737,7 +738,7 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf, ...@@ -737,7 +738,7 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf,
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if (value != NSOKButton) { if (value != NSOKButton) {
[o_profile_pop selectItemAtIndex:[defaults integerForKey:@"AudioEffectSelectedProfile"]]; [_profilePopup selectItemAtIndex:[defaults integerForKey:@"AudioEffectSelectedProfile"]];
return; return;
} }
...@@ -762,36 +763,38 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf, ...@@ -762,36 +763,38 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf,
#pragma mark Compressor #pragma mark Compressor
- (void)resetCompressor - (void)resetCompressor
{ {
BOOL b_enable_comp = NO; intf_thread_t *p_intf = VLCIntf;
BOOL bEnable_compressor = NO;
char *psz_afilters; char *psz_afilters;
psz_afilters = config_GetPsz(p_intf, "audio-filter"); psz_afilters = config_GetPsz(p_intf, "audio-filter");
if (psz_afilters) { if (psz_afilters) {
b_enable_comp = strstr(psz_afilters, "compressor") != NULL; bEnable_compressor = strstr(psz_afilters, "compressor") != NULL;
[o_comp_enable_ckb setState: (NSInteger)strstr(psz_afilters, "compressor") ]; [_compressorEnableCheckbox setState: (NSInteger)strstr(psz_afilters, "compressor") ];
free(psz_afilters); free(psz_afilters);
} }
[o_comp_view enableSubviews:b_enable_comp]; [_compressorView enableSubviews:bEnable_compressor];
[o_comp_enable_ckb setState:(b_enable_comp ? NSOnState : NSOffState)]; [_compressorEnableCheckbox setState:(bEnable_compressor ? NSOnState : NSOffState)];
[o_comp_band1_sld setFloatValue: config_GetFloat(p_intf, "compressor-rms-peak")]; [_compressorBand1Slider setFloatValue: config_GetFloat(p_intf, "compressor-rms-peak")];
[o_comp_band1_fld setStringValue:[NSString localizedStringWithFormat:@"%1.1f", [o_comp_band1_sld floatValue]]]; [_compressorBand1TextField setStringValue:[NSString localizedStringWithFormat:@"%1.1f", [_compressorBand1Slider floatValue]]];
[o_comp_band2_sld setFloatValue: config_GetFloat(p_intf, "compressor-attack")]; [_compressorBand2Slider setFloatValue: config_GetFloat(p_intf, "compressor-attack")];
[o_comp_band2_fld setStringValue:[NSString localizedStringWithFormat:@"%2.1f ms", [o_comp_band2_sld floatValue]]]; [_compressorBand2TextField setStringValue:[NSString localizedStringWithFormat:@"%2.1f ms", [_compressorBand2Slider floatValue]]];
[o_comp_band3_sld setFloatValue: config_GetFloat(p_intf, "compressor-release")]; [_compressorBand3Slider setFloatValue: config_GetFloat(p_intf, "compressor-release")];
[o_comp_band3_fld setStringValue:[NSString localizedStringWithFormat:@"%3.1f ms", [o_comp_band3_sld floatValue]]]; [_compressorBand3TextField setStringValue:[NSString localizedStringWithFormat:@"%3.1f ms", [_compressorBand3Slider floatValue]]];
[o_comp_band4_sld setFloatValue: config_GetFloat(p_intf, "compressor-threshold")]; [_compressorBand4Slider setFloatValue: config_GetFloat(p_intf, "compressor-threshold")];
[o_comp_band4_fld setStringValue:[NSString localizedStringWithFormat:@"%2.1f dB", [o_comp_band4_sld floatValue]]]; [_compressorBand4TextField setStringValue:[NSString localizedStringWithFormat:@"%2.1f dB", [_compressorBand4Slider floatValue]]];
[o_comp_band5_sld setFloatValue: config_GetFloat(p_intf, "compressor-ratio")]; [_compressorBand5Slider setFloatValue: config_GetFloat(p_intf, "compressor-ratio")];
[o_comp_band5_fld setStringValue:[NSString localizedStringWithFormat:@"%1.1f:1", [o_comp_band5_sld floatValue]]]; [_compressorBand5TextField setStringValue:[NSString localizedStringWithFormat:@"%1.1f:1", [_compressorBand5Slider floatValue]]];
[o_comp_band6_sld setFloatValue: config_GetFloat(p_intf, "compressor-knee")]; [_compressorBand6Slider setFloatValue: config_GetFloat(p_intf, "compressor-knee")];
[o_comp_band6_fld setStringValue:[NSString localizedStringWithFormat:@"%1.1f dB", [o_comp_band6_sld floatValue]]]; [_compressorBand6TextField setStringValue:[NSString localizedStringWithFormat:@"%1.1f dB", [_compressorBand6Slider floatValue]]];
[o_comp_band7_sld setFloatValue: config_GetFloat(p_intf, "compressor-makeup-gain")]; [_compressorBand7Slider setFloatValue: config_GetFloat(p_intf, "compressor-makeup-gain")];
[o_comp_band7_fld setStringValue:[NSString localizedStringWithFormat:@"%1.1f dB", [o_comp_band7_sld floatValue]]]; [_compressorBand7TextField setStringValue:[NSString localizedStringWithFormat:@"%1.1f dB", [_compressorBand7Slider floatValue]]];
} }
- (IBAction)resetCompressorValues:(id)sender - (IBAction)resetCompressorValues:(id)sender
{ {
intf_thread_t *p_intf = VLCIntf;
config_PutFloat(p_intf, "compressor-rms-peak", 0.000000); config_PutFloat(p_intf, "compressor-rms-peak", 0.000000);
config_PutFloat(p_intf, "compressor-attack", 25.000000); config_PutFloat(p_intf, "compressor-attack", 25.000000);
config_PutFloat(p_intf, "compressor-release", 100.000000); config_PutFloat(p_intf, "compressor-release", 100.000000);
...@@ -814,84 +817,86 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf, ...@@ -814,84 +817,86 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf,
[self resetCompressor]; [self resetCompressor];
} }
- (IBAction)comp_enable:(id)sender - (IBAction)compressorEnable:(id)sender
{ {
[o_comp_view enableSubviews:[sender state]]; [_compressorView enableSubviews:[sender state]];
[self setAudioFilter:"compressor" on:[sender state]]; [self setAudioFilter:"compressor" on:[sender state]];
} }
- (IBAction)comp_sliderUpdated:(id)sender - (IBAction)compressorSliderUpdated:(id)sender
{ {
audio_output_t *p_aout = getAout(); audio_output_t *p_aout = getAout();
char *value; char *value;
if (sender == o_comp_band1_sld) if (sender == _compressorBand1Slider)
value = "compressor-rms-peak"; value = "compressor-rms-peak";
else if (sender == o_comp_band2_sld) else if (sender == _compressorBand2Slider)
value = "compressor-attack"; value = "compressor-attack";
else if (sender == o_comp_band3_sld) else if (sender == _compressorBand3Slider)
value = "compressor-release"; value = "compressor-release";
else if (sender == o_comp_band4_sld) else if (sender == _compressorBand4Slider)
value = "compressor-threshold"; value = "compressor-threshold";
else if (sender == o_comp_band5_sld) else if (sender == _compressorBand5Slider)
value = "compressor-ratio"; value = "compressor-ratio";
else if (sender == o_comp_band6_sld) else if (sender == _compressorBand6Slider)
value = "compressor-knee"; value = "compressor-knee";
else if (sender == o_comp_band7_sld) else if (sender == _compressorBand7Slider)
value = "compressor-makeup-gain"; value = "compressor-makeup-gain";
if (p_aout) { if (p_aout) {
var_SetFloat(p_aout, value, [sender floatValue]); var_SetFloat(p_aout, value, [sender floatValue]);
vlc_object_release(p_aout); vlc_object_release(p_aout);
} }
config_PutFloat(p_intf, value, [sender floatValue]); config_PutFloat(VLCIntf, value, [sender floatValue]);
if (sender == o_comp_band1_sld) if (sender == _compressorBand1Slider)
[o_comp_band1_fld setStringValue:[NSString localizedStringWithFormat:@"%1.1f", [sender floatValue]]]; [_compressorBand1TextField setStringValue:[NSString localizedStringWithFormat:@"%1.1f", [sender floatValue]]];
else if (sender == o_comp_band2_sld) else if (sender == _compressorBand2Slider)
[o_comp_band2_fld setStringValue:[NSString localizedStringWithFormat:@"%2.1f ms", [sender floatValue]]]; [_compressorBand2TextField setStringValue:[NSString localizedStringWithFormat:@"%2.1f ms", [sender floatValue]]];
else if (sender == o_comp_band3_sld) else if (sender == _compressorBand3Slider)
[o_comp_band3_fld setStringValue:[NSString localizedStringWithFormat:@"%3.1f ms", [sender floatValue]]]; [_compressorBand3TextField setStringValue:[NSString localizedStringWithFormat:@"%3.1f ms", [sender floatValue]]];
else if (sender == o_comp_band4_sld) else if (sender == _compressorBand4Slider)
[o_comp_band4_fld setStringValue:[NSString localizedStringWithFormat:@"%2.1f dB", [sender floatValue]]]; [_compressorBand4TextField setStringValue:[NSString localizedStringWithFormat:@"%2.1f dB", [sender floatValue]]];
else if (sender == o_comp_band5_sld) else if (sender == _compressorBand5Slider)
[o_comp_band5_fld setStringValue:[NSString localizedStringWithFormat:@"%1.1f:1", [sender floatValue]]]; [_compressorBand5TextField setStringValue:[NSString localizedStringWithFormat:@"%1.1f:1", [sender floatValue]]];
else if (sender == o_comp_band6_sld) else if (sender == _compressorBand6Slider)
[o_comp_band6_fld setStringValue:[NSString localizedStringWithFormat:@"%1.1f dB", [sender floatValue]]]; [_compressorBand6TextField setStringValue:[NSString localizedStringWithFormat:@"%1.1f dB", [sender floatValue]]];
else if (sender == o_comp_band7_sld) else if (sender == _compressorBand7Slider)
[o_comp_band7_fld setStringValue:[NSString localizedStringWithFormat:@"%1.1f dB", [sender floatValue]]]; [_compressorBand7TextField setStringValue:[NSString localizedStringWithFormat:@"%1.1f dB", [sender floatValue]]];
} }
#pragma mark - #pragma mark -
#pragma mark Spatializer #pragma mark Spatializer
- (void)resetSpatializer - (void)resetSpatializer
{ {
BOOL b_enable_spat = NO; intf_thread_t *p_intf = VLCIntf;
BOOL bEnable_spatializer = NO;
char *psz_afilters; char *psz_afilters;
psz_afilters = config_GetPsz(p_intf, "audio-filter"); psz_afilters = config_GetPsz(p_intf, "audio-filter");
if (psz_afilters) { if (psz_afilters) {
b_enable_spat = strstr(psz_afilters, "spatializer") != NULL; bEnable_spatializer = strstr(psz_afilters, "spatializer") != NULL;
free(psz_afilters); free(psz_afilters);
} }
[o_spat_view enableSubviews:b_enable_spat]; [_spatializerView enableSubviews:bEnable_spatializer];
[o_spat_enable_ckb setState:(b_enable_spat ? NSOnState : NSOffState)]; [_spatializerEnableCheckbox setState:(bEnable_spatializer ? NSOnState : NSOffState)];
#define setSlider(bandsld, bandfld, var) \ #define setSlider(bandsld, bandfld, var) \
[bandsld setFloatValue: config_GetFloat(p_intf, var) * 10.]; \ [bandsld setFloatValue: config_GetFloat(p_intf, var) * 10.]; \
[bandfld setStringValue:[NSString localizedStringWithFormat:@"%1.1f", [bandsld floatValue]]] [bandfld setStringValue:[NSString localizedStringWithFormat:@"%1.1f", [bandsld floatValue]]]
setSlider(o_spat_band1_sld, o_spat_band1_fld, "spatializer-roomsize"); setSlider(_spatializerBand1Slider, _spatializerBand1TextField, "spatializer-roomsize");
setSlider(o_spat_band2_sld, o_spat_band2_fld, "spatializer-width"); setSlider(_spatializerBand2Slider, _spatializerBand2TextField, "spatializer-width");
setSlider(o_spat_band3_sld, o_spat_band3_fld, "spatializer-wet"); setSlider(_spatializerBand3Slider, _spatializerBand3TextField, "spatializer-wet");
setSlider(o_spat_band4_sld, o_spat_band4_fld, "spatializer-dry"); setSlider(_spatializerBand4Slider, _spatializerBand4TextField, "spatializer-dry");
setSlider(o_spat_band5_sld, o_spat_band5_fld, "spatializer-damp"); setSlider(_spatializerBand5Slider, _spatializerBand5TextField, "spatializer-damp");
#undef setSlider #undef setSlider
} }
- (IBAction)resetSpatializerValues:(id)sender - (IBAction)resetSpatializerValues:(id)sender
{ {
intf_thread_t *p_intf = VLCIntf;
config_PutFloat(p_intf, "spatializer-roomsize", .85); config_PutFloat(p_intf, "spatializer-roomsize", .85);
config_PutFloat(p_intf, "spatializer-width", 1.); config_PutFloat(p_intf, "spatializer-width", 1.);
config_PutFloat(p_intf, "spatializer-wet", .4); config_PutFloat(p_intf, "spatializer-wet", .4);
...@@ -910,94 +915,95 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf, ...@@ -910,94 +915,95 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf,
[self resetSpatializer]; [self resetSpatializer];
} }
- (IBAction)spat_enable:(id)sender - (IBAction)spatializerEnable:(id)sender
{ {
[o_spat_view enableSubviews:[sender state]]; [_spatializerView enableSubviews:[sender state]];
[self setAudioFilter:"spatializer" on:[sender state]]; [self setAudioFilter:"spatializer" on:[sender state]];
} }
- (IBAction)spat_sliderUpdated:(id)sender - (IBAction)spatializerSliderUpdated:(id)sender
{ {
audio_output_t *p_aout = getAout(); audio_output_t *p_aout = getAout();
char *value = NULL; char *value = NULL;
if (sender == o_spat_band1_sld) if (sender == _spatializerBand1Slider)
value = "spatializer-roomsize"; value = "spatializer-roomsize";
else if (sender == o_spat_band2_sld) else if (sender == _spatializerBand2Slider)
value = "spatializer-width"; value = "spatializer-width";
else if (sender == o_spat_band3_sld) else if (sender == _spatializerBand3Slider)
value = "spatializer-wet"; value = "spatializer-wet";
else if (sender == o_spat_band4_sld) else if (sender == _spatializerBand4Slider)
value = "spatializer-dry"; value = "spatializer-dry";
else if (sender == o_spat_band5_sld) else if (sender == _spatializerBand5Slider)
value = "spatializer-damp"; value = "spatializer-damp";
if (p_aout) { if (p_aout) {
var_SetFloat(p_aout, value, [sender floatValue] / 10.); var_SetFloat(p_aout, value, [sender floatValue] / 10.);
vlc_object_release(p_aout); vlc_object_release(p_aout);
} }
config_PutFloat(p_intf, value, [sender floatValue] / 10.); config_PutFloat(VLCIntf, value, [sender floatValue] / 10.);
if (sender == o_spat_band1_sld) if (sender == _spatializerBand1Slider)
[o_spat_band1_fld setStringValue:[NSString localizedStringWithFormat:@"%1.1f", [sender floatValue]]]; [_spatializerBand1TextField setStringValue:[NSString localizedStringWithFormat:@"%1.1f", [sender floatValue]]];
else if (sender == o_spat_band2_sld) else if (sender == _spatializerBand2Slider)
[o_spat_band2_fld setStringValue:[NSString localizedStringWithFormat:@"%1.1f", [sender floatValue]]]; [_spatializerBand2TextField setStringValue:[NSString localizedStringWithFormat:@"%1.1f", [sender floatValue]]];
else if (sender == o_spat_band3_sld) else if (sender == _spatializerBand3Slider)
[o_spat_band3_fld setStringValue:[NSString localizedStringWithFormat:@"%1.1f", [sender floatValue]]]; [_spatializerBand3TextField setStringValue:[NSString localizedStringWithFormat:@"%1.1f", [sender floatValue]]];
else if (sender == o_spat_band4_sld) else if (sender == _spatializerBand4Slider)
[o_spat_band4_fld setStringValue:[NSString localizedStringWithFormat:@"%1.1f", [sender floatValue]]]; [_spatializerBand4TextField setStringValue:[NSString localizedStringWithFormat:@"%1.1f", [sender floatValue]]];
else if (sender == o_spat_band5_sld) else if (sender == _spatializerBand5Slider)
[o_spat_band5_fld setStringValue:[NSString localizedStringWithFormat:@"%1.1f", [sender floatValue]]]; [_spatializerBand5TextField setStringValue:[NSString localizedStringWithFormat:@"%1.1f", [sender floatValue]]];
} }
#pragma mark - #pragma mark -
#pragma mark Filter #pragma mark Filter
- (void)resetAudioFilters - (void)resetAudioFilters
{ {
BOOL b_enable_normvol = NO; intf_thread_t *p_intf = VLCIntf;
BOOL bEnable_normvol = NO;
char *psz_afilters; char *psz_afilters;
psz_afilters = config_GetPsz(p_intf, "audio-filter"); psz_afilters = config_GetPsz(p_intf, "audio-filter");
if (psz_afilters) { if (psz_afilters) {
[o_filter_headPhone_ckb setState: (NSInteger)strstr(psz_afilters, "headphone") ]; [_filterHeadPhoneCheckbox setState: (NSInteger)strstr(psz_afilters, "headphone") ];
[o_filter_karaoke_ckb setState: (NSInteger)strstr(psz_afilters, "karaoke") ]; [_filterKaraokeCheckbox setState: (NSInteger)strstr(psz_afilters, "karaoke") ];
b_enable_normvol = strstr(psz_afilters, "normvol") != NULL; bEnable_normvol = strstr(psz_afilters, "normvol") != NULL;
free(psz_afilters); free(psz_afilters);
} else { } else {
[o_filter_headPhone_ckb setState: NSOffState]; [_filterHeadPhoneCheckbox setState: NSOffState];
[o_filter_karaoke_ckb setState: NSOffState]; [_filterKaraokeCheckbox setState: NSOffState];
} }
[o_filter_normLevel_sld setEnabled:b_enable_normvol]; [_filterNormLevelSlider setEnabled:bEnable_normvol];
[o_filter_normLevel_lbl setEnabled:b_enable_normvol]; [_filterNormLevelLabel setEnabled:bEnable_normvol];
[o_filter_normLevel_ckb setState:(b_enable_normvol ? NSOnState : NSOffState)]; [_filterNormLevelCheckbox setState:(bEnable_normvol ? NSOnState : NSOffState)];
[o_filter_normLevel_sld setFloatValue: config_GetFloat(p_intf, "norm-max-level")]; [_filterNormLevelSlider setFloatValue: config_GetFloat(p_intf, "norm-max-level")];
} }
- (IBAction)filter_enableHeadPhoneVirt:(id)sender - (IBAction)filterEnableHeadPhoneVirt:(id)sender
{ {
[self setAudioFilter: "headphone" on:[sender state]]; [self setAudioFilter: "headphone" on:[sender state]];
} }
- (IBAction)filter_enableVolumeNorm:(id)sender - (IBAction)filterEnableVolumeNorm:(id)sender
{ {
[o_filter_normLevel_sld setEnabled:[sender state]]; [_filterNormLevelSlider setEnabled:[sender state]];
[o_filter_normLevel_lbl setEnabled:[sender state]]; [_filterNormLevelLabel setEnabled:[sender state]];
[self setAudioFilter: "normvol" on:[sender state]]; [self setAudioFilter: "normvol" on:[sender state]];
} }
- (IBAction)filter_volNormSliderUpdated:(id)sender - (IBAction)filterVolumeNormSliderUpdated:(id)sender
{ {
audio_output_t *p_aout = getAout(); audio_output_t *p_aout = getAout();
if (p_aout) { if (p_aout) {
var_SetFloat(p_aout, "norm-max-level", [o_filter_normLevel_sld floatValue]); var_SetFloat(p_aout, "norm-max-level", [_filterNormLevelSlider floatValue]);
vlc_object_release(p_aout); vlc_object_release(p_aout);
} }
config_PutFloat(p_intf, "norm-max-level", [o_filter_normLevel_sld floatValue]); config_PutFloat(VLCIntf, "norm-max-level", [_filterNormLevelSlider floatValue]);
} }
- (IBAction)filter_enableKaraoke:(id)sender - (IBAction)filterEnableKaraoke:(id)sender
{ {
[self setAudioFilter: "karaoke" on:[sender state]]; [self setAudioFilter: "karaoke" on:[sender state]];
} }
......
...@@ -1153,7 +1153,7 @@ ...@@ -1153,7 +1153,7 @@
o_audioeffects = [[VLCAudioEffects alloc] init]; o_audioeffects = [[VLCAudioEffects alloc] init];
if (!b_nib_audioeffects_loaded) if (!b_nib_audioeffects_loaded)
b_nib_audioeffects_loaded = [NSBundle loadNibNamed:@"AudioEffects" owner:NSApp]; b_nib_audioeffects_loaded = [NSBundle loadNibNamed:@"AudioEffects" owner:o_audioeffects];
[o_audioeffects toggleWindow:sender]; [o_audioeffects toggleWindow:sender];
} }
......
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