1 /*****************************************************************************
2 * AudioEffects.h: MacOS X interface module
3 *****************************************************************************
4 * Copyright (C) 2004-2012 VLC authors and VideoLAN
7 * Authors: Felix Paul Kühne <fkuehne -at- videolan -dot- org>
8 * Jérôme Decoodt <djc@videolan.org>
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version.
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
20 * You should have received a copy of the GNU General Public License
21 * along with this program; if not, write to the Free Software
22 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
23 *****************************************************************************/
25 #import <Cocoa/Cocoa.h>
27 @interface VLCAudioEffects : NSObject {
29 IBOutlet id o_tableView;
31 intf_thread_t *p_intf;
32 IBOutlet id o_profile_pop;
33 BOOL b_genericAudioProfileInInteraction;
36 IBOutlet id o_eq_view;
37 IBOutlet id o_eq_enable_ckb;
38 IBOutlet id o_eq_twopass_ckb;
39 IBOutlet id o_eq_preamp_lbl;
40 IBOutlet id o_eq_presets_popup;
41 IBOutlet id o_eq_band1_sld;
42 IBOutlet id o_eq_band2_sld;
43 IBOutlet id o_eq_band3_sld;
44 IBOutlet id o_eq_band4_sld;
45 IBOutlet id o_eq_band5_sld;
46 IBOutlet id o_eq_band6_sld;
47 IBOutlet id o_eq_band7_sld;
48 IBOutlet id o_eq_band8_sld;
49 IBOutlet id o_eq_band9_sld;
50 IBOutlet id o_eq_band10_sld;
51 IBOutlet id o_eq_preamp_sld;
54 IBOutlet id o_comp_view;
55 IBOutlet id o_comp_enable_ckb;
56 IBOutlet id o_comp_reset_btn;
57 IBOutlet id o_comp_band1_sld;
58 IBOutlet id o_comp_band1_fld;
59 IBOutlet id o_comp_band1_lbl;
60 IBOutlet id o_comp_band2_sld;
61 IBOutlet id o_comp_band2_fld;
62 IBOutlet id o_comp_band2_lbl;
63 IBOutlet id o_comp_band3_sld;
64 IBOutlet id o_comp_band3_fld;
65 IBOutlet id o_comp_band3_lbl;
66 IBOutlet id o_comp_band4_sld;
67 IBOutlet id o_comp_band4_fld;
68 IBOutlet id o_comp_band4_lbl;
69 IBOutlet id o_comp_band5_sld;
70 IBOutlet id o_comp_band5_fld;
71 IBOutlet id o_comp_band5_lbl;
72 IBOutlet id o_comp_band6_sld;
73 IBOutlet id o_comp_band6_fld;
74 IBOutlet id o_comp_band6_lbl;
75 IBOutlet id o_comp_band7_sld;
76 IBOutlet id o_comp_band7_fld;
77 IBOutlet id o_comp_band7_lbl;
80 IBOutlet id o_spat_view;
81 IBOutlet id o_spat_enable_ckb;
82 IBOutlet id o_spat_reset_btn;
83 IBOutlet id o_spat_band1_sld;
84 IBOutlet id o_spat_band1_fld;
85 IBOutlet id o_spat_band1_lbl;
86 IBOutlet id o_spat_band2_sld;
87 IBOutlet id o_spat_band2_fld;
88 IBOutlet id o_spat_band2_lbl;
89 IBOutlet id o_spat_band3_sld;
90 IBOutlet id o_spat_band3_fld;
91 IBOutlet id o_spat_band3_lbl;
92 IBOutlet id o_spat_band4_sld;
93 IBOutlet id o_spat_band4_fld;
94 IBOutlet id o_spat_band4_lbl;
95 IBOutlet id o_spat_band5_sld;
96 IBOutlet id o_spat_band5_fld;
97 IBOutlet id o_spat_band5_lbl;
100 IBOutlet id o_filter_headPhone_ckb;
101 IBOutlet id o_filter_normLevel_ckb;
102 IBOutlet id o_filter_normLevel_sld;
103 IBOutlet id o_filter_normLevel_lbl;
104 IBOutlet id o_filter_karaoke_ckb;
106 NSInteger i_old_profile_index;
110 + (VLCAudioEffects *)sharedInstance;
112 - (void)updateCocoaWindowLevel:(NSInteger)i_level;
113 - (IBAction)toggleWindow:(id)sender;
114 - (void)setAudioFilter: (char *)psz_name on:(BOOL)b_on;
115 - (IBAction)profileSelectorAction:(id)sender;
116 - (IBAction)addAudioEffectsProfile:(id)sender;
117 - (IBAction)removeAudioEffectsProfile:(id)sender;
119 - (void)saveCurrentProfile;
122 - (void)equalizerUpdated;
123 - (void)setValue:(float)value forSlider:(int)index;
124 - (IBAction)eq_bandSliderUpdated:(id)sender;
125 - (IBAction)eq_changePreset:(id)sender;
126 - (IBAction)eq_enable:(id)sender;
127 - (IBAction)eq_preampSliderUpdated:(id)sender;
128 - (IBAction)eq_twopass:(id)sender;
131 - (void)resetCompressor;
132 - (IBAction)resetCompressorValues:(id)sender;
133 - (IBAction)comp_enable:(id)sender;
134 - (IBAction)comp_sliderUpdated:(id)sender;
137 - (void)resetSpatializer;
138 - (IBAction)resetSpatializerValues:(id)sender;
139 - (IBAction)spat_enable:(id)sender;
140 - (IBAction)spat_sliderUpdated:(id)sender;
143 - (void)resetAudioFilters;
144 - (IBAction)filter_enableHeadPhoneVirt:(id)sender;
145 - (IBAction)filter_enableVolumeNorm:(id)sender;
146 - (IBAction)filter_volNormSliderUpdated:(id)sender;
147 - (IBAction)filter_enableKaraoke:(id)sender;