annotate libaf/control.h @ 33737:71c29e8ec68f

Move string functions from interface.c to string.c. Additionally, change char parameter of gstrchr() to const and rename parameter size of gstrncmp() n. The Win32 GUI now needs gstrdup() defined before its first usage.
author ib
date Thu, 07 Jul 2011 08:32:10 +0000
parents 812db1123f7a
children 49587a84cb91
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 volume control on and off, arg is int*
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
160 #define AF_CONTROL_VOLUME_ON_OFF 0x00000B00 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
161
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
162 // Turn soft clipping of the volume on and off, arg is binary
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
163 #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
164
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
165 // Set volume level, arg is a float* with the volume for all the channels
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
166 #define AF_CONTROL_VOLUME_LEVEL 0x00000D00 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
167
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28229
diff changeset
168 // Probed power level for all channels, arg is a float*
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
169 #define AF_CONTROL_VOLUME_PROBE 0x00000E00 | AF_CONTROL_FILTER_SPECIFIC
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
170
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28229
diff changeset
171 // Maximum probed power level for all channels, arg is a float*
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
172 #define AF_CONTROL_VOLUME_PROBE_MAX 0x00000F00 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
173
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
174 // Compressor/expander
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
175
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
176 // Turn compressor/expander on and off
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
177 #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
178
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
179 // Compression/expansion threshold [dB]
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
180 #define AF_CONTROL_COMP_THRESH 0x00001100 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
181
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
182 // Compression/expansion attack time [ms]
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
183 #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
184
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
185 // Compression/expansion release time [ms]
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
186 #define AF_CONTROL_COMP_RELEASE 0x00001300 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
187
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
188 // Compression/expansion gain level [dB]
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
189 #define AF_CONTROL_COMP_RATIO 0x00001400 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
190
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
191 // Noise gate
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
192
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
193 // Turn noise gate on an off
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
194 #define AF_CONTROL_GATE_ON_OFF 0x00001500 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
195
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28229
diff changeset
196 // Noise gate threshold [dB]
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
197 #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
198
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
199 // Noise gate attack time [ms]
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
200 #define AF_CONTROL_GATE_ATTACK 0x00001700 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
201
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28229
diff changeset
202 // Noise gate release time [ms]
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
203 #define AF_CONTROL_GATE_RELEASE 0x00001800 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
204
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
205 // Noise gate release range level [dB]
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
206 #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
207
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
208 // Pan
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
209
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28229
diff changeset
210 // Pan levels, arg is a control_ext with a float*
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
211 #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
212
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
213 // Number of outputs from pan, arg is int*
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
214 #define AF_CONTROL_PAN_NOUT 0x00001B00 | AF_CONTROL_FILTER_SPECIFIC
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28229
diff changeset
215
23551
63d9b7032bf3 Add AF_CONTROL_PAN_BALANCE control
zuxy
parents: 18611
diff changeset
216 // 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
217 #define AF_CONTROL_PAN_BALANCE 0x00001C00 | AF_CONTROL_FILTER_SPECIFIC
8073
c0e556f9986b Adding equalizer filter + some cosmetics
anders
parents: 7993
diff changeset
218
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28229
diff changeset
219 // 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
220 #define AF_CONTROL_EQUALIZER_GAIN 0x00001D00 | AF_CONTROL_FILTER_SPECIFIC
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
221
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
222
8832
a1578b329cc0 Adding sub-woofer filter, use this filter to add a sub channel to the audio stream
anders
parents: 8607
diff changeset
223 // 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
224 #define AF_CONTROL_DELAY_LEN 0x00001E00 | AF_CONTROL_FILTER_SPECIFIC
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
225
8073
c0e556f9986b Adding equalizer filter + some cosmetics
anders
parents: 7993
diff changeset
226
8832
a1578b329cc0 Adding sub-woofer filter, use this filter to add a sub channel to the audio stream
anders
parents: 8607
diff changeset
227 // Subwoofer
a1578b329cc0 Adding sub-woofer filter, use this filter to add a sub channel to the audio stream
anders
parents: 8607
diff changeset
228
a1578b329cc0 Adding sub-woofer filter, use this filter to add a sub channel to the audio stream
anders
parents: 8607
diff changeset
229 // 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
230 #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
231
a1578b329cc0 Adding sub-woofer filter, use this filter to add a sub channel to the audio stream
anders
parents: 8607
diff changeset
232 // 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
233 #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
234
a1578b329cc0 Adding sub-woofer filter, use this filter to add a sub channel to the audio stream
anders
parents: 8607
diff changeset
235
10892
2167ac4c1d72 Adding filter for exporting audio data to visual effect applications
anders
parents: 8832
diff changeset
236 // Export
29676
812db1123f7a Change libaf control ordering to make the controls unique again, (AF_CONTROL_PAN_BALANCE vs.
reimar
parents: 29263
diff changeset
237 #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
238
13550
81e62cbe57d9 reimplementation of the pl_extrastereo and pl_volnorm plugins
alex
parents: 10892
diff changeset
239
81e62cbe57d9 reimplementation of the pl_extrastereo and pl_volnorm plugins
alex
parents: 10892
diff changeset
240 // ExtraStereo Multiplier
29676
812db1123f7a Change libaf control ordering to make the controls unique again, (AF_CONTROL_PAN_BALANCE vs.
reimar
parents: 29263
diff changeset
241 #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
242
14749
ab617c2e24d3 filter for adding a center channel, adding a high pass filter would be nice
alex
parents: 14335
diff changeset
243
ab617c2e24d3 filter for adding a center channel, adding a high pass filter would be nice
alex
parents: 14335
diff changeset
244 // Center
ab617c2e24d3 filter for adding a center channel, adding a high pass filter would be nice
alex
parents: 14335
diff changeset
245
ab617c2e24d3 filter for adding a center channel, adding a high pass filter would be nice
alex
parents: 14335
diff changeset
246 // 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
247 #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
248
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
249
18611
1c2f694d5232 Rename sinesupress to sinesuppress, including af_sinesupress.c file rename.
corey
parents: 18082
diff changeset
250 // SineSuppress
29676
812db1123f7a Change libaf control ordering to make the controls unique again, (AF_CONTROL_PAN_BALANCE vs.
reimar
parents: 29263
diff changeset
251 #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
252 #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
253
29676
812db1123f7a Change libaf control ordering to make the controls unique again, (AF_CONTROL_PAN_BALANCE vs.
reimar
parents: 29263
diff changeset
254 #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
255 #define AF_CONTROL_SCALETEMPO_AMOUNT 0x00003600 | AF_CONTROL_FILTER_SPECIFIC
24896
8133163bd1dd Add audio filter scaletempo
uau
parents: 23551
diff changeset
256
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25551
diff changeset
257 #endif /* MPLAYER_CONTROL_H */