annotate libaf/control.h @ 36838:7df9dd22f234

Don't set win32 as audio driver if none has been given. Select from the list of audio drivers instead. Having win32 as selected item in the combo box although this isn't used by MPlayer by default is confusing as well. Besides that, there seem to be issues with this driver when changing from or to it during playback.
author ib
date Tue, 25 Feb 2014 13:16:35 +0000
parents 44750c937ec8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
28229
72d0b1444141 Replace informal license notices by standard license header
diego
parents: 26182
diff changeset
1 /*
72d0b1444141 Replace informal license notices by standard license header
diego
parents: 26182
diff changeset
2 * This file is part of MPlayer.
72d0b1444141 Replace informal license notices by standard license header
diego
parents: 26182
diff changeset
3 *
72d0b1444141 Replace informal license notices by standard license header
diego
parents: 26182
diff changeset
4 * MPlayer is free software; you can redistribute it and/or modify
72d0b1444141 Replace informal license notices by standard license header
diego
parents: 26182
diff changeset
5 * it under the terms of the GNU General Public License as published by
72d0b1444141 Replace informal license notices by standard license header
diego
parents: 26182
diff changeset
6 * the Free Software Foundation; either version 2 of the License, or
72d0b1444141 Replace informal license notices by standard license header
diego
parents: 26182
diff changeset
7 * (at your option) any later version.
72d0b1444141 Replace informal license notices by standard license header
diego
parents: 26182
diff changeset
8 *
72d0b1444141 Replace informal license notices by standard license header
diego
parents: 26182
diff changeset
9 * MPlayer is distributed in the hope that it will be useful,
72d0b1444141 Replace informal license notices by standard license header
diego
parents: 26182
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
72d0b1444141 Replace informal license notices by standard license header
diego
parents: 26182
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
72d0b1444141 Replace informal license notices by standard license header
diego
parents: 26182
diff changeset
12 * GNU General Public License for more details.
72d0b1444141 Replace informal license notices by standard license header
diego
parents: 26182
diff changeset
13 *
72d0b1444141 Replace informal license notices by standard license header
diego
parents: 26182
diff changeset
14 * You should have received a copy of the GNU General Public License along
72d0b1444141 Replace informal license notices by standard license header
diego
parents: 26182
diff changeset
15 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
72d0b1444141 Replace informal license notices by standard license header
diego
parents: 26182
diff changeset
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
72d0b1444141 Replace informal license notices by standard license header
diego
parents: 26182
diff changeset
17 */
72d0b1444141 Replace informal license notices by standard license header
diego
parents: 26182
diff changeset
18
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25551
diff changeset
19 #ifndef MPLAYER_CONTROL_H
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25551
diff changeset
20 #define MPLAYER_CONTROL_H
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
21
26182
8db4448bf26c Add missing header #include to fix 'make checkheaders'.
diego
parents: 26029
diff changeset
22 #include <sys/types.h>
8db4448bf26c Add missing header #include to fix 'make checkheaders'.
diego
parents: 26029
diff changeset
23
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
24 /*********************************************
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28229
diff changeset
25 // Control info struct.
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
26 //
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
27 // This struct is the argument in a info call to a filter.
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
28 */
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
29
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28229
diff changeset
30 // Argument types
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
31 #define AF_CONTROL_TYPE_BOOL (0x0<<0)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
32 #define AF_CONTROL_TYPE_CHAR (0x1<<0)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
33 #define AF_CONTROL_TYPE_INT (0x2<<0)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
34 #define AF_CONTROL_TYPE_FLOAT (0x3<<0)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
35 #define AF_CONTROL_TYPE_STRUCT (0x4<<0)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
36 #define AF_CONTROL_TYPE_SPECIAL (0x5<<0) // a pointer to a function for example
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
37 #define AF_CONTROL_TYPE_MASK (0x7<<0)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
38 // Argument geometry
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
39 #define AF_CONTROL_GEOM_SCALAR (0x0<<3)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
40 #define AF_CONTROL_GEOM_ARRAY (0x1<<3)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
41 #define AF_CONTROL_GEOM_MATRIX (0x2<<3)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
42 #define AF_CONTROL_GEOM_MASK (0x3<<3)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
43 // Argument properties
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
44 #define AF_CONTROL_PROP_READ (0x0<<5) // The argument can be read
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
45 #define AF_CONTROL_PROP_WRITE (0x1<<5) // The argument can be written
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
46 #define AF_CONTROL_PROP_SAVE (0x2<<5) // Can be saved
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
47 #define AF_CONTROL_PROP_RUNTIME (0x4<<5) // Acessable during execution
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
48 #define AF_CONTROL_PROP_CHANNEL (0x8<<5) // Argument is set per channel
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
49 #define AF_CONTROL_PROP_MASK (0xF<<5)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
50
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
51 typedef struct af_control_info_s{
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
52 int def; // Control enumrification
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
53 char* name; // Name of argument
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
54 char* info; // Description of what it does
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28229
diff changeset
55 int flags; // Flags as defined above
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28229
diff changeset
56 float max; // Max and min value
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28229
diff changeset
57 float min; // (only aplicable on float and int)
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
58 int xdim; // 1st dimension
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
59 int ydim; // 2nd dimension (=0 for everything except matrix)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
60 size_t sz; // Size of argument in bytes
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
61 int ch; // Channel number (for future use)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
62 void* arg; // Data (for future use)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
63 }af_control_info_t;
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
64
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
65
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
66 /*********************************************
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
67 // Extended control used with arguments that operates on only one
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
68 // channel at the time
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
69 */
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
70 typedef struct af_control_ext_s{
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
71 void* arg; // Argument
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
72 int ch; // Chanel number
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
73 }af_control_ext_t;
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
74
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
75 /*********************************************
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28229
diff changeset
76 // Control parameters
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
77 */
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
78
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28229
diff changeset
79 /* The control system is divided into 3 levels
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
80 mandatory calls - all filters must answer to all of these
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
81 optional calls - are optional
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
82 filter specific calls - applies only to some filters
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
83 */
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
84
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
85 #define AF_CONTROL_MANDATORY 0x10000000
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
86 #define AF_CONTROL_OPTIONAL 0x20000000
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
87 #define AF_CONTROL_FILTER_SPECIFIC 0x40000000
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
88
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
89 // MANDATORY CALLS
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
90
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
91 /* Reinitialize filter. The optional argument contains the new
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
92 configuration in form of a af_data_t struct. If the filter does not
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
93 support the new format the struct should be changed and AF_FALSE
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
94 should be returned. If the incoming and outgoing data streams are
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
95 identical the filter can return AF_DETACH. This will remove the
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
96 filter. */
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
97 #define AF_CONTROL_REINIT 0x00000100 | AF_CONTROL_MANDATORY
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
98
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
99 // OPTIONAL CALLS
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
100
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
101 /* Called just after creation with the af_cfg for the stream in which
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
102 the filter resides as input parameter this call can be used by the
7993
ea0680d87f3f Changing the behavour of the commandline parameter -af to conform with -vop. Adding new commanline parameter -af-adv for advanced af options. Adding changes to volume control to support commandline parameters.
anders
parents: 7745
diff changeset
103 filter to initialize itself */
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
104 #define AF_CONTROL_POST_CREATE 0x00000100 | AF_CONTROL_OPTIONAL
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
105
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
106 // Called just before destruction of a filter
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
107 #define AF_CONTROL_PRE_DESTROY 0x00000200 | AF_CONTROL_OPTIONAL
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
108
7993
ea0680d87f3f Changing the behavour of the commandline parameter -af to conform with -vop. Adding new commanline parameter -af-adv for advanced af options. Adding changes to volume control to support commandline parameters.
anders
parents: 7745
diff changeset
109 /* Commandline parameters. If there were any commandline parameters
ea0680d87f3f Changing the behavour of the commandline parameter -af to conform with -vop. Adding new commanline parameter -af-adv for advanced af options. Adding changes to volume control to support commandline parameters.
anders
parents: 7745
diff changeset
110 for this specific filter, they will be given as a char* in the
ea0680d87f3f Changing the behavour of the commandline parameter -af to conform with -vop. Adding new commanline parameter -af-adv for advanced af options. Adding changes to volume control to support commandline parameters.
anders
parents: 7745
diff changeset
111 argument */
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
112 #define AF_CONTROL_COMMAND_LINE 0x00000300 | AF_CONTROL_OPTIONAL
7993
ea0680d87f3f Changing the behavour of the commandline parameter -af to conform with -vop. Adding new commanline parameter -af-adv for advanced af options. Adding changes to volume control to support commandline parameters.
anders
parents: 7745
diff changeset
113
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
114
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
115 // FILTER SPECIFIC CALLS
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
116
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
117 // Basic operations: These can be ored with any of the below calls
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28229
diff changeset
118 // Set argument
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
119 #define AF_CONTROL_SET 0x00000000
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
120 // Get argument
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
121 #define AF_CONTROL_GET 0x00000001
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
122 // Get info about the control, i.e fill in everything except argument
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28229
diff changeset
123 #define AF_CONTROL_INFO 0x00000002
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
124
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
125 // Resample
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
126
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
127 // Set output rate in resample
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
128 #define AF_CONTROL_RESAMPLE_RATE 0x00000100 | AF_CONTROL_FILTER_SPECIFIC
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
129
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
130 // Enable sloppy resampling
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
131 #define AF_CONTROL_RESAMPLE_SLOPPY 0x00000200 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
132
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
133 // Set resampling accuracy
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
134 #define AF_CONTROL_RESAMPLE_ACCURACY 0x00000300 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
135
14335
8380694ba14f af_bits2fmt and af_str2fmt_short, also removed the extra FORMAT_BPS control in format.c
alex
parents: 13550
diff changeset
136 // Format
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
137
14335
8380694ba14f af_bits2fmt and af_str2fmt_short, also removed the extra FORMAT_BPS control in format.c
alex
parents: 13550
diff changeset
138 #define AF_CONTROL_FORMAT_FMT 0x00000400 | AF_CONTROL_FILTER_SPECIFIC
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
139
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
140 // Channels
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
141
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
142 // Set number of output channels in channels
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
143 #define AF_CONTROL_CHANNELS 0x00000600 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
144
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
145 // Set number of channel routes
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
146 #define AF_CONTROL_CHANNELS_ROUTES 0x00000700 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
147
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
148 // Set channel routing pair, arg is int[2] and ch is used
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
149 #define AF_CONTROL_CHANNELS_ROUTING 0x00000800 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
150
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
151 // Set nuber of channel routing pairs, arg is int*
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
152 #define AF_CONTROL_CHANNELS_NR 0x00000900 | AF_CONTROL_FILTER_SPECIFIC
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
153
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
154 // Set make af_channels into a router
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
155 #define AF_CONTROL_CHANNELS_ROUTER 0x00000A00 | AF_CONTROL_FILTER_SPECIFIC
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28229
diff changeset
156
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28229
diff changeset
157 // Volume
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
158
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
159 // Turn soft clipping of the volume on and off, arg is binary
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
160 #define AF_CONTROL_VOLUME_SOFTCLIP 0x00000C00 | AF_CONTROL_FILTER_SPECIFIC
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
161
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
162 // Set volume level, arg is a float* with the volume for all the channels
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
163 #define AF_CONTROL_VOLUME_LEVEL 0x00000D00 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
164
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
165 // Compressor/expander
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
166
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
167 // Turn compressor/expander on and off
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
168 #define AF_CONTROL_COMP_ON_OFF 0x00001000 | AF_CONTROL_FILTER_SPECIFIC
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
169
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
170 // Compression/expansion threshold [dB]
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
171 #define AF_CONTROL_COMP_THRESH 0x00001100 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
172
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
173 // Compression/expansion attack time [ms]
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
174 #define AF_CONTROL_COMP_ATTACK 0x00001200 | AF_CONTROL_FILTER_SPECIFIC
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
175
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
176 // Compression/expansion release time [ms]
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
177 #define AF_CONTROL_COMP_RELEASE 0x00001300 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
178
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
179 // Compression/expansion gain level [dB]
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
180 #define AF_CONTROL_COMP_RATIO 0x00001400 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
181
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
182 // Noise gate
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
183
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
184 // Turn noise gate on an off
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
185 #define AF_CONTROL_GATE_ON_OFF 0x00001500 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
186
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28229
diff changeset
187 // Noise gate threshold [dB]
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
188 #define AF_CONTROL_GATE_THRESH 0x00001600 | AF_CONTROL_FILTER_SPECIFIC
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
189
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
190 // Noise gate attack time [ms]
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
191 #define AF_CONTROL_GATE_ATTACK 0x00001700 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
192
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28229
diff changeset
193 // Noise gate release time [ms]
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
194 #define AF_CONTROL_GATE_RELEASE 0x00001800 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
195
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
196 // Noise gate release range level [dB]
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
197 #define AF_CONTROL_GATE_RANGE 0x00001900 | AF_CONTROL_FILTER_SPECIFIC
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
198
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
199 // Pan
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
200
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28229
diff changeset
201 // Pan levels, arg is a control_ext with a float*
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
202 #define AF_CONTROL_PAN_LEVEL 0x00001A00 | AF_CONTROL_FILTER_SPECIFIC
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
203
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
204 // Number of outputs from pan, arg is int*
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
205 #define AF_CONTROL_PAN_NOUT 0x00001B00 | AF_CONTROL_FILTER_SPECIFIC
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28229
diff changeset
206
23551
63d9b7032bf3 Add AF_CONTROL_PAN_BALANCE control
zuxy
parents: 18611
diff changeset
207 // Balance, arg is float*; range -1 (left) to 1 (right), 0 center
29676
812db1123f7a Change libaf control ordering to make the controls unique again, (AF_CONTROL_PAN_BALANCE vs.
reimar
parents: 29263
diff changeset
208 #define AF_CONTROL_PAN_BALANCE 0x00001C00 | AF_CONTROL_FILTER_SPECIFIC
8073
c0e556f9986b Adding equalizer filter + some cosmetics
anders
parents: 7993
diff changeset
209
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28229
diff changeset
210 // Set equalizer gain, arg is a control_ext with a float*
29676
812db1123f7a Change libaf control ordering to make the controls unique again, (AF_CONTROL_PAN_BALANCE vs.
reimar
parents: 29263
diff changeset
211 #define AF_CONTROL_EQUALIZER_GAIN 0x00001D00 | AF_CONTROL_FILTER_SPECIFIC
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
212
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
213
8832
a1578b329cc0 Adding sub-woofer filter, use this filter to add a sub channel to the audio stream
anders
parents: 8607
diff changeset
214 // Delay length in ms, arg is a control_ext with a float*
29676
812db1123f7a Change libaf control ordering to make the controls unique again, (AF_CONTROL_PAN_BALANCE vs.
reimar
parents: 29263
diff changeset
215 #define AF_CONTROL_DELAY_LEN 0x00001E00 | AF_CONTROL_FILTER_SPECIFIC
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
216
8073
c0e556f9986b Adding equalizer filter + some cosmetics
anders
parents: 7993
diff changeset
217
8832
a1578b329cc0 Adding sub-woofer filter, use this filter to add a sub channel to the audio stream
anders
parents: 8607
diff changeset
218 // Subwoofer
a1578b329cc0 Adding sub-woofer filter, use this filter to add a sub channel to the audio stream
anders
parents: 8607
diff changeset
219
a1578b329cc0 Adding sub-woofer filter, use this filter to add a sub channel to the audio stream
anders
parents: 8607
diff changeset
220 // Channel number which to insert the filtered data, arg in int*
29676
812db1123f7a Change libaf control ordering to make the controls unique again, (AF_CONTROL_PAN_BALANCE vs.
reimar
parents: 29263
diff changeset
221 #define AF_CONTROL_SUB_CH 0x00001F00 | AF_CONTROL_FILTER_SPECIFIC
8832
a1578b329cc0 Adding sub-woofer filter, use this filter to add a sub channel to the audio stream
anders
parents: 8607
diff changeset
222
a1578b329cc0 Adding sub-woofer filter, use this filter to add a sub channel to the audio stream
anders
parents: 8607
diff changeset
223 // Cutoff frequency [Hz] for lowpass filter, arg is float*
29676
812db1123f7a Change libaf control ordering to make the controls unique again, (AF_CONTROL_PAN_BALANCE vs.
reimar
parents: 29263
diff changeset
224 #define AF_CONTROL_SUB_FC 0x00002000 | AF_CONTROL_FILTER_SPECIFIC
8832
a1578b329cc0 Adding sub-woofer filter, use this filter to add a sub channel to the audio stream
anders
parents: 8607
diff changeset
225
a1578b329cc0 Adding sub-woofer filter, use this filter to add a sub channel to the audio stream
anders
parents: 8607
diff changeset
226
10892
2167ac4c1d72 Adding filter for exporting audio data to visual effect applications
anders
parents: 8832
diff changeset
227 // Export
29676
812db1123f7a Change libaf control ordering to make the controls unique again, (AF_CONTROL_PAN_BALANCE vs.
reimar
parents: 29263
diff changeset
228 #define AF_CONTROL_EXPORT_SZ 0x00003000 | AF_CONTROL_FILTER_SPECIFIC
10892
2167ac4c1d72 Adding filter for exporting audio data to visual effect applications
anders
parents: 8832
diff changeset
229
13550
81e62cbe57d9 reimplementation of the pl_extrastereo and pl_volnorm plugins
alex
parents: 10892
diff changeset
230
81e62cbe57d9 reimplementation of the pl_extrastereo and pl_volnorm plugins
alex
parents: 10892
diff changeset
231 // ExtraStereo Multiplier
29676
812db1123f7a Change libaf control ordering to make the controls unique again, (AF_CONTROL_PAN_BALANCE vs.
reimar
parents: 29263
diff changeset
232 #define AF_CONTROL_ES_MUL 0x00003100 | AF_CONTROL_FILTER_SPECIFIC
13550
81e62cbe57d9 reimplementation of the pl_extrastereo and pl_volnorm plugins
alex
parents: 10892
diff changeset
233
14749
ab617c2e24d3 filter for adding a center channel, adding a high pass filter would be nice
alex
parents: 14335
diff changeset
234
ab617c2e24d3 filter for adding a center channel, adding a high pass filter would be nice
alex
parents: 14335
diff changeset
235 // Center
ab617c2e24d3 filter for adding a center channel, adding a high pass filter would be nice
alex
parents: 14335
diff changeset
236
ab617c2e24d3 filter for adding a center channel, adding a high pass filter would be nice
alex
parents: 14335
diff changeset
237 // Channel number which to inster the filtered data, arg in int*
29676
812db1123f7a Change libaf control ordering to make the controls unique again, (AF_CONTROL_PAN_BALANCE vs.
reimar
parents: 29263
diff changeset
238 #define AF_CONTROL_CENTER_CH 0x00003200 | AF_CONTROL_FILTER_SPECIFIC
14749
ab617c2e24d3 filter for adding a center channel, adding a high pass filter would be nice
alex
parents: 14335
diff changeset
239
18082
0aa3fef68422 very simple filter which can remove a sine at a specified frequency, usefull to get rid of the 50/60hz noise on ultra crappy equipment
michael
parents: 14749
diff changeset
240
18611
1c2f694d5232 Rename sinesupress to sinesuppress, including af_sinesupress.c file rename.
corey
parents: 18082
diff changeset
241 // SineSuppress
29676
812db1123f7a Change libaf control ordering to make the controls unique again, (AF_CONTROL_PAN_BALANCE vs.
reimar
parents: 29263
diff changeset
242 #define AF_CONTROL_SS_FREQ 0x00003300 | AF_CONTROL_FILTER_SPECIFIC
812db1123f7a Change libaf control ordering to make the controls unique again, (AF_CONTROL_PAN_BALANCE vs.
reimar
parents: 29263
diff changeset
243 #define AF_CONTROL_SS_DECAY 0x00003400 | AF_CONTROL_FILTER_SPECIFIC
18082
0aa3fef68422 very simple filter which can remove a sine at a specified frequency, usefull to get rid of the 50/60hz noise on ultra crappy equipment
michael
parents: 14749
diff changeset
244
29676
812db1123f7a Change libaf control ordering to make the controls unique again, (AF_CONTROL_PAN_BALANCE vs.
reimar
parents: 29263
diff changeset
245 #define AF_CONTROL_PLAYBACK_SPEED 0x00003500 | AF_CONTROL_FILTER_SPECIFIC
812db1123f7a Change libaf control ordering to make the controls unique again, (AF_CONTROL_PAN_BALANCE vs.
reimar
parents: 29263
diff changeset
246 #define AF_CONTROL_SCALETEMPO_AMOUNT 0x00003600 | AF_CONTROL_FILTER_SPECIFIC
24896
8133163bd1dd Add audio filter scaletempo
uau
parents: 23551
diff changeset
247
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25551
diff changeset
248 #endif /* MPLAYER_CONTROL_H */