]> git.sesse.net Git - vlc/blob - modules/gui/macosx/AudioEffects.h
macosx: expose the 'Karaoke' filter in the UI because we can
[vlc] / modules / gui / macosx / AudioEffects.h
1 /*****************************************************************************
2  * AudioEffects.h: MacOS X interface module
3  *****************************************************************************
4  * Copyright (C) 2004-2012 VLC authors and VideoLAN
5  * $Id$
6  *
7  * Authors: Felix Paul Kühne <fkuehne -at- videolan -dot- org>
8  *          Jérôme Decoodt <djc@videolan.org>
9  *
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.
14  *
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.
19  *
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  *****************************************************************************/
24
25 #import <Cocoa/Cocoa.h>
26
27 @interface VLCAudioEffects : NSObject {
28     /* generic */
29     IBOutlet id o_tableView;
30     IBOutlet id o_window;
31     intf_thread_t *p_intf;
32     IBOutlet id o_profile_pop;
33     BOOL b_genericAudioProfileInInteraction;
34
35     /* Equalizer */
36     IBOutlet id o_eq_enable_ckb;
37     IBOutlet id o_eq_twopass_ckb;
38     IBOutlet id o_eq_preamp_lbl;
39     IBOutlet id o_eq_presets_popup;
40     IBOutlet id o_eq_band1_sld;
41     IBOutlet id o_eq_band2_sld;
42     IBOutlet id o_eq_band3_sld;
43     IBOutlet id o_eq_band4_sld;
44     IBOutlet id o_eq_band5_sld;
45     IBOutlet id o_eq_band6_sld;
46     IBOutlet id o_eq_band7_sld;
47     IBOutlet id o_eq_band8_sld;
48     IBOutlet id o_eq_band9_sld;
49     IBOutlet id o_eq_band10_sld;
50     IBOutlet id o_eq_preamp_sld;
51
52     /* Compressor */
53     IBOutlet id o_comp_enable_ckb;
54     IBOutlet id o_comp_reset_btn;
55     IBOutlet id o_comp_band1_sld;
56     IBOutlet id o_comp_band1_fld;
57     IBOutlet id o_comp_band1_lbl;
58     IBOutlet id o_comp_band2_sld;
59     IBOutlet id o_comp_band2_fld;
60     IBOutlet id o_comp_band2_lbl;
61     IBOutlet id o_comp_band3_sld;
62     IBOutlet id o_comp_band3_fld;
63     IBOutlet id o_comp_band3_lbl;
64     IBOutlet id o_comp_band4_sld;
65     IBOutlet id o_comp_band4_fld;
66     IBOutlet id o_comp_band4_lbl;
67     IBOutlet id o_comp_band5_sld;
68     IBOutlet id o_comp_band5_fld;
69     IBOutlet id o_comp_band5_lbl;
70     IBOutlet id o_comp_band6_sld;
71     IBOutlet id o_comp_band6_fld;
72     IBOutlet id o_comp_band6_lbl;
73     IBOutlet id o_comp_band7_sld;
74     IBOutlet id o_comp_band7_fld;
75     IBOutlet id o_comp_band7_lbl;
76
77     /* Spatializer */
78     IBOutlet id o_spat_enable_ckb;
79     IBOutlet id o_spat_reset_btn;
80     IBOutlet id o_spat_band1_sld;
81     IBOutlet id o_spat_band1_fld;
82     IBOutlet id o_spat_band1_lbl;
83     IBOutlet id o_spat_band2_sld;
84     IBOutlet id o_spat_band2_fld;
85     IBOutlet id o_spat_band2_lbl;
86     IBOutlet id o_spat_band3_sld;
87     IBOutlet id o_spat_band3_fld;
88     IBOutlet id o_spat_band3_lbl;
89     IBOutlet id o_spat_band4_sld;
90     IBOutlet id o_spat_band4_fld;
91     IBOutlet id o_spat_band4_lbl;
92     IBOutlet id o_spat_band5_sld;
93     IBOutlet id o_spat_band5_fld;
94     IBOutlet id o_spat_band5_lbl;
95
96     /* Filter */
97     IBOutlet id o_filter_headPhone_ckb;
98     IBOutlet id o_filter_normLevel_ckb;
99     IBOutlet id o_filter_normLevel_sld;
100     IBOutlet id o_filter_normLevel_lbl;
101     IBOutlet id o_filter_karaoke_ckb;
102 }
103
104 /* generic */
105 + (VLCAudioEffects *)sharedInstance;
106 - (IBAction)toggleWindow:(id)sender;
107 - (void)setAudioFilter: (char *)psz_name on:(BOOL)b_on;
108 - (IBAction)profileSelectorAction:(id)sender;
109 - (IBAction)addAudioEffectsProfile:(id)sender;
110 - (IBAction)removeAudioEffectsProfile:(id)sender;
111
112 /* Equalizer */
113 - (void)setupEqualizer;
114 - (void)equalizerUpdated;
115 - (void)setBandSlidersValues:(float *)values;
116 - (void)initBandSliders;
117 - (void)setValue:(float)value forSlider:(int)index;
118 - (IBAction)eq_bandSliderUpdated:(id)sender;
119 - (IBAction)eq_changePreset:(id)sender;
120 - (IBAction)eq_enable:(id)sender;
121 - (IBAction)eq_preampSliderUpdated:(id)sender;
122 - (IBAction)eq_twopass:(id)sender;
123
124 /* Compressor */
125 - (void)resetCompressor;
126 - (IBAction)resetCompressorValues:(id)sender;
127 - (IBAction)comp_enable:(id)sender;
128 - (IBAction)comp_sliderUpdated:(id)sender;
129
130 /* Spatializer */
131 - (void)resetSpatializer;
132 - (IBAction)resetSpatializerValues:(id)sender;
133 - (IBAction)spat_enable:(id)sender;
134 - (IBAction)spat_sliderUpdated:(id)sender;
135
136 /* Filter */
137 - (void)resetAudioFilters;
138 - (IBAction)filter_enableHeadPhoneVirt:(id)sender;
139 - (IBAction)filter_enableVolumeNorm:(id)sender;
140 - (IBAction)filter_volNormSliderUpdated:(id)sender;
141 - (IBAction)filter_enableKaraoke:(id)sender;
142
143 @end