annotate libaf/control.h @ 25317:7f3cb5408f28

Fixed VIDIX color bug that was introduced when Radeon VIDIX driver was synchronized with vidix.sf.net. The red color was saturating. Corrected value fixes the issue and restore the color to the level it used to have before synchronization. Meaning of the value remains unknow but was retrieved from register's value of a Radeon 9000 card, so it may need further testing. Patch by Guillaume Lecerf (foxcore at gmail dot com)
author ben
date Mon, 10 Dec 2007 19:27:46 +0000
parents 8133163bd1dd
children d88f5f82826e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
1 #ifndef __af_control_h
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
2 #define __af_control_h
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
3
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
4 /*********************************************
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
5 // Control info struct.
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
6 //
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
7 // This struct is the argument in a info call to a filter.
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
8 */
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
9
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
10 // Argument types
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
11 #define AF_CONTROL_TYPE_BOOL (0x0<<0)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
12 #define AF_CONTROL_TYPE_CHAR (0x1<<0)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
13 #define AF_CONTROL_TYPE_INT (0x2<<0)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
14 #define AF_CONTROL_TYPE_FLOAT (0x3<<0)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
15 #define AF_CONTROL_TYPE_STRUCT (0x4<<0)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
16 #define AF_CONTROL_TYPE_SPECIAL (0x5<<0) // a pointer to a function for example
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
17 #define AF_CONTROL_TYPE_MASK (0x7<<0)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
18 // Argument geometry
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
19 #define AF_CONTROL_GEOM_SCALAR (0x0<<3)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
20 #define AF_CONTROL_GEOM_ARRAY (0x1<<3)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
21 #define AF_CONTROL_GEOM_MATRIX (0x2<<3)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
22 #define AF_CONTROL_GEOM_MASK (0x3<<3)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
23 // Argument properties
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
24 #define AF_CONTROL_PROP_READ (0x0<<5) // The argument can be read
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
25 #define AF_CONTROL_PROP_WRITE (0x1<<5) // The argument can be written
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
26 #define AF_CONTROL_PROP_SAVE (0x2<<5) // Can be saved
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
27 #define AF_CONTROL_PROP_RUNTIME (0x4<<5) // Acessable during execution
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
28 #define AF_CONTROL_PROP_CHANNEL (0x8<<5) // Argument is set per channel
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
29 #define AF_CONTROL_PROP_MASK (0xF<<5)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
30
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
31 typedef struct af_control_info_s{
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
32 int def; // Control enumrification
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
33 char* name; // Name of argument
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
34 char* info; // Description of what it does
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
35 int flags; // Flags as defined above
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
36 float max; // Max and min value
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
37 float min; // (only aplicable on float and int)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
38 int xdim; // 1st dimension
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
39 int ydim; // 2nd dimension (=0 for everything except matrix)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
40 size_t sz; // Size of argument in bytes
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
41 int ch; // Channel number (for future use)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
42 void* arg; // Data (for future use)
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
43 }af_control_info_t;
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
44
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
45
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
46 /*********************************************
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
47 // Extended control used with arguments that operates on only one
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
48 // channel at the time
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
49 */
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
50 typedef struct af_control_ext_s{
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
51 void* arg; // Argument
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
52 int ch; // Chanel number
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
53 }af_control_ext_t;
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
54
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
55 /*********************************************
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
56 // Control parameters
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
57 */
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
58
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
59 /* The control system is divided into 3 levels
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
60 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
61 optional calls - are optional
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
62 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
63 */
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
64
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
65 #define AF_CONTROL_MANDATORY 0x10000000
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
66 #define AF_CONTROL_OPTIONAL 0x20000000
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
67 #define AF_CONTROL_FILTER_SPECIFIC 0x40000000
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
68
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
69 // MANDATORY CALLS
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
70
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
71 /* 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
72 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
73 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
74 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
75 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
76 filter. */
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
77 #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
78
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
79 // OPTIONAL CALLS
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
80
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
81 /* 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
82 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
83 filter to initialize itself */
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
84 #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
85
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
86 // Called just before destruction of a filter
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
87 #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
88
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
89 /* 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
90 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
91 argument */
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
92 #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
93
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
94
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
95 // FILTER SPECIFIC CALLS
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
96
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
97 // Basic operations: These can be ored with any of the below calls
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
98 // Set argument
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
99 #define AF_CONTROL_SET 0x00000000
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
100 // Get argument
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
101 #define AF_CONTROL_GET 0x00000001
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
102 // Get info about the control, i.e fill in everything except argument
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
103 #define AF_CONTROL_INFO 0x00000002
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
104
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
105 // Resample
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
106
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
107 // Set output rate in resample
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
108 #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
109
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
110 // Enable sloppy resampling
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
111 #define AF_CONTROL_RESAMPLE_SLOPPY 0x00000200 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
112
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
113 // Set resampling accuracy
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
114 #define AF_CONTROL_RESAMPLE_ACCURACY 0x00000300 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
115
14335
8380694ba14f af_bits2fmt and af_str2fmt_short, also removed the extra FORMAT_BPS control in format.c
alex
parents: 13550
diff changeset
116 // Format
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
117
14335
8380694ba14f af_bits2fmt and af_str2fmt_short, also removed the extra FORMAT_BPS control in format.c
alex
parents: 13550
diff changeset
118 #define AF_CONTROL_FORMAT_FMT 0x00000400 | AF_CONTROL_FILTER_SPECIFIC
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
119
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
120 // Channels
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
121
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
122 // Set number of output channels in channels
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
123 #define AF_CONTROL_CHANNELS 0x00000600 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
124
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
125 // Set number of channel routes
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
126 #define AF_CONTROL_CHANNELS_ROUTES 0x00000700 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
127
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
128 // Set channel routing pair, arg is int[2] and ch is used
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
129 #define AF_CONTROL_CHANNELS_ROUTING 0x00000800 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
130
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
131 // Set nuber of channel routing pairs, arg is int*
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
132 #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
133
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
134 // Set make af_channels into a router
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
135 #define AF_CONTROL_CHANNELS_ROUTER 0x00000A00 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
136
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
137 // Volume
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
138
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
139 // Turn volume control on and off, arg is int*
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
140 #define AF_CONTROL_VOLUME_ON_OFF 0x00000B00 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
141
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
142 // Turn soft clipping of the volume on and off, arg is binary
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
143 #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
144
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
145 // Set volume level, arg is a float* with the volume for all the channels
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
146 #define AF_CONTROL_VOLUME_LEVEL 0x00000D00 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
147
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
148 // Probed power level for all channels, arg is a float*
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
149 #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
150
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
151 // Maximum probed power level for all channels, arg is a float*
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
152 #define AF_CONTROL_VOLUME_PROBE_MAX 0x00000F00 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
153
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
154 // Compressor/expander
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
155
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
156 // Turn compressor/expander on and off
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
157 #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
158
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
159 // Compression/expansion threshold [dB]
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
160 #define AF_CONTROL_COMP_THRESH 0x00001100 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
161
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
162 // Compression/expansion attack time [ms]
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
163 #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
164
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
165 // Compression/expansion release time [ms]
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
166 #define AF_CONTROL_COMP_RELEASE 0x00001300 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
167
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
168 // Compression/expansion gain level [dB]
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
169 #define AF_CONTROL_COMP_RATIO 0x00001400 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
170
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
171 // Noise gate
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
172
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
173 // Turn noise gate on an off
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
174 #define AF_CONTROL_GATE_ON_OFF 0x00001500 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
175
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
176 // Noise gate threshold [dB]
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
177 #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
178
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
179 // Noise gate attack time [ms]
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
180 #define AF_CONTROL_GATE_ATTACK 0x00001700 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
181
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
182 // Noise gate release time [ms]
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
183 #define AF_CONTROL_GATE_RELEASE 0x00001800 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
184
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
185 // Noise gate release range level [dB]
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
186 #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
187
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
188 // Pan
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
189
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
190 // Pan levels, arg is a control_ext with a float*
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
191 #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
192
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
193 // Number of outputs from pan, arg is int*
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
194 #define AF_CONTROL_PAN_NOUT 0x00001B00 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
195
23551
63d9b7032bf3 Add AF_CONTROL_PAN_BALANCE control
zuxy
parents: 18611
diff changeset
196 // Balance, arg is float*; range -1 (left) to 1 (right), 0 center
63d9b7032bf3 Add AF_CONTROL_PAN_BALANCE control
zuxy
parents: 18611
diff changeset
197 #define AF_CONTROL_PAN_BALANCE 0x00002500 | AF_CONTROL_FILTER_SPECIFIC
8073
c0e556f9986b Adding equalizer filter + some cosmetics
anders
parents: 7993
diff changeset
198
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
199 // Set equalizer gain, arg is a control_ext with a float*
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
200 #define AF_CONTROL_EQUALIZER_GAIN 0x00001C00 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
201
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
202
8832
a1578b329cc0 Adding sub-woofer filter, use this filter to add a sub channel to the audio stream
anders
parents: 8607
diff changeset
203 // Delay length in ms, arg is a control_ext with a float*
8607
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
204 #define AF_CONTROL_DELAY_LEN 0x00001D00 | AF_CONTROL_FILTER_SPECIFIC
d6f40a06867b Changes includes:
anders
parents: 8073
diff changeset
205
8073
c0e556f9986b Adding equalizer filter + some cosmetics
anders
parents: 7993
diff changeset
206
8832
a1578b329cc0 Adding sub-woofer filter, use this filter to add a sub channel to the audio stream
anders
parents: 8607
diff changeset
207 // Subwoofer
a1578b329cc0 Adding sub-woofer filter, use this filter to add a sub channel to the audio stream
anders
parents: 8607
diff changeset
208
a1578b329cc0 Adding sub-woofer filter, use this filter to add a sub channel to the audio stream
anders
parents: 8607
diff changeset
209 // Channel number which to insert the filtered data, arg in int*
a1578b329cc0 Adding sub-woofer filter, use this filter to add a sub channel to the audio stream
anders
parents: 8607
diff changeset
210 #define AF_CONTROL_SUB_CH 0x00001E00 | AF_CONTROL_FILTER_SPECIFIC
a1578b329cc0 Adding sub-woofer filter, use this filter to add a sub channel to the audio stream
anders
parents: 8607
diff changeset
211
a1578b329cc0 Adding sub-woofer filter, use this filter to add a sub channel to the audio stream
anders
parents: 8607
diff changeset
212 // Cutoff frequency [Hz] for lowpass filter, arg is float*
a1578b329cc0 Adding sub-woofer filter, use this filter to add a sub channel to the audio stream
anders
parents: 8607
diff changeset
213 #define AF_CONTROL_SUB_FC 0x00001F00 | AF_CONTROL_FILTER_SPECIFIC
a1578b329cc0 Adding sub-woofer filter, use this filter to add a sub channel to the audio stream
anders
parents: 8607
diff changeset
214
a1578b329cc0 Adding sub-woofer filter, use this filter to add a sub channel to the audio stream
anders
parents: 8607
diff changeset
215
10892
2167ac4c1d72 Adding filter for exporting audio data to visual effect applications
anders
parents: 8832
diff changeset
216 // Export
2167ac4c1d72 Adding filter for exporting audio data to visual effect applications
anders
parents: 8832
diff changeset
217 #define AF_CONTROL_EXPORT_SZ 0x00002000 | AF_CONTROL_FILTER_SPECIFIC
2167ac4c1d72 Adding filter for exporting audio data to visual effect applications
anders
parents: 8832
diff changeset
218
13550
81e62cbe57d9 reimplementation of the pl_extrastereo and pl_volnorm plugins
alex
parents: 10892
diff changeset
219
81e62cbe57d9 reimplementation of the pl_extrastereo and pl_volnorm plugins
alex
parents: 10892
diff changeset
220 // ExtraStereo Multiplier
81e62cbe57d9 reimplementation of the pl_extrastereo and pl_volnorm plugins
alex
parents: 10892
diff changeset
221 #define AF_CONTROL_ES_MUL 0x00002100 | AF_CONTROL_FILTER_SPECIFIC
81e62cbe57d9 reimplementation of the pl_extrastereo and pl_volnorm plugins
alex
parents: 10892
diff changeset
222
14749
ab617c2e24d3 filter for adding a center channel, adding a high pass filter would be nice
alex
parents: 14335
diff changeset
223
ab617c2e24d3 filter for adding a center channel, adding a high pass filter would be nice
alex
parents: 14335
diff changeset
224 // Center
ab617c2e24d3 filter for adding a center channel, adding a high pass filter would be nice
alex
parents: 14335
diff changeset
225
ab617c2e24d3 filter for adding a center channel, adding a high pass filter would be nice
alex
parents: 14335
diff changeset
226 // Channel number which to inster the filtered data, arg in int*
ab617c2e24d3 filter for adding a center channel, adding a high pass filter would be nice
alex
parents: 14335
diff changeset
227 #define AF_CONTROL_CENTER_CH 0x00002200 | AF_CONTROL_FILTER_SPECIFIC
ab617c2e24d3 filter for adding a center channel, adding a high pass filter would be nice
alex
parents: 14335
diff changeset
228
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
229
18611
1c2f694d5232 Rename sinesupress to sinesuppress, including af_sinesupress.c file rename.
corey
parents: 18082
diff changeset
230 // SineSuppress
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
231 #define AF_CONTROL_SS_FREQ 0x00002300 | AF_CONTROL_FILTER_SPECIFIC
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
232 #define AF_CONTROL_SS_DECAY 0x00002400 | AF_CONTROL_FILTER_SPECIFIC
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
233
24896
8133163bd1dd Add audio filter scaletempo
uau
parents: 23551
diff changeset
234 #define AF_CONTROL_PLAYBACK_SPEED 0x00002500 | AF_CONTROL_FILTER_SPECIFIC
8133163bd1dd Add audio filter scaletempo
uau
parents: 23551
diff changeset
235 #define AF_CONTROL_SCALETEMPO_AMOUNT 0x00002600 | AF_CONTROL_FILTER_SPECIFIC
8133163bd1dd Add audio filter scaletempo
uau
parents: 23551
diff changeset
236
7745
1d3a3dc1f488 Adding volume control and moving control() call parameters to a seperate file
anders
parents:
diff changeset
237 #endif /*__af_control_h */