*** empty log message ***
[chuck-blob.git] / v2 / ugen_filter.h
blobd4ec9bdd217d75db5c5e64071d9ad8076ad737d8
1 /*----------------------------------------------------------------------------
2 ChucK Concurrent, On-the-fly Audio Programming Language
3 Compiler and Virtual Machine
5 Copyright (c) 2004 Ge Wang and Perry R. Cook. All rights reserved.
6 http://chuck.cs.princeton.edu/
7 http://soundlab.cs.princeton.edu/
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 2 of the License, or
12 (at your option) any later version.
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
19 You should have received a copy of the GNU General Public License
20 along with this program; if not, write to the Free Software
21 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
22 U.S.A.
23 -----------------------------------------------------------------------------*/
25 //-----------------------------------------------------------------------------
26 // file: ugen_filter.h
27 // desc: ...
29 // author: Ge Wang (gewang@cs.princeton.edu)
30 // Perry R. Cook (prc@cs.princeton.edu)
31 // Philip L. Davidson (philipd@cs.princeton.edu)
32 // date: Spring 2004
33 //-----------------------------------------------------------------------------
34 #ifndef __UGEN_FILTER_H__
35 #define __UGEN_FILTER_H__
37 #include "chuck_dl.h"
40 // query
41 DLL_QUERY filter_query( Chuck_DL_Query * query );
43 // FilterBasic
44 CK_DLL_CTOR( FilterBasic_ctor );
45 CK_DLL_DTOR( FilterBasic_dtor );
46 CK_DLL_TICK( FilterBasic_tick );
47 CK_DLL_PMSG( FilterBasic_pmsg );
48 CK_DLL_CTRL( FilterBasic_ctrl_freq );
49 CK_DLL_CGET( FilterBasic_cget_freq );
50 CK_DLL_CTRL( FilterBasic_ctrl_Q );
51 CK_DLL_CGET( FilterBasic_cget_Q );
52 CK_DLL_CTRL( FilterBasic_ctrl_set );
54 // LPF
55 CK_DLL_CTOR( LPF_ctor );
56 CK_DLL_DTOR( LPF_dtor );
57 CK_DLL_TICK( LPF_tick );
58 CK_DLL_PMSG( LPF_pmsg );
59 CK_DLL_CTRL( LPF_ctrl_freq );
60 CK_DLL_CGET( LPF_cget_freq );
62 // HPF
63 CK_DLL_CTOR( HPF_ctor );
64 CK_DLL_DTOR( HPF_dtor );
65 CK_DLL_TICK( HPF_tick );
66 CK_DLL_PMSG( HPF_pmsg );
67 CK_DLL_CTRL( HPF_ctrl_freq );
68 CK_DLL_CGET( HPF_cget_freq );
70 // BPF
71 CK_DLL_CTOR( BPF_ctor );
72 CK_DLL_DTOR( BPF_dtor );
73 CK_DLL_TICK( BPF_tick );
74 CK_DLL_PMSG( BPF_pmsg );
75 CK_DLL_CTRL( BPF_ctrl_freq );
76 CK_DLL_CGET( BPF_cget_freq );
77 CK_DLL_CTRL( BPF_ctrl_Q );
78 CK_DLL_CGET( BPF_cget_Q );
79 CK_DLL_CTRL( BPF_ctrl_set );
81 // BRF
82 CK_DLL_CTOR( BRF_ctor );
83 CK_DLL_DTOR( BRF_dtor );
84 CK_DLL_TICK( BRF_tick );
85 CK_DLL_PMSG( BRF_pmsg );
86 CK_DLL_CTRL( BRF_ctrl_freq );
87 CK_DLL_CGET( BRF_cget_freq );
88 CK_DLL_CTRL( BRF_ctrl_Q );
89 CK_DLL_CGET( BRF_cget_Q );
90 CK_DLL_CTRL( BRF_ctrl_set );
92 // RLPF
93 CK_DLL_CTOR( RLPF_ctor );
94 CK_DLL_DTOR( RLPF_dtor );
95 CK_DLL_TICK( RLPF_tick );
96 CK_DLL_PMSG( RLPF_pmsg );
97 CK_DLL_CTRL( RLPF_ctrl_freq );
98 CK_DLL_CGET( RLPF_cget_freq );
99 CK_DLL_CTRL( RLPF_ctrl_Q );
100 CK_DLL_CGET( RLPF_cget_Q );
101 CK_DLL_CTRL( RLPF_ctrl_set );
103 // RHPF
104 CK_DLL_CTOR( RHPF_ctor );
105 CK_DLL_DTOR( RHPF_dtor );
106 CK_DLL_TICK( RHPF_tick );
107 CK_DLL_PMSG( RHPF_pmsg );
108 CK_DLL_CTRL( RHPF_ctrl_freq );
109 CK_DLL_CGET( RHPF_cget_freq );
110 CK_DLL_CTRL( RHPF_ctrl_Q );
111 CK_DLL_CGET( RHPF_cget_Q );
112 CK_DLL_CTRL( RHPF_ctrl_set );
114 // ResonZ
115 CK_DLL_CTOR( ResonZ_ctor );
116 CK_DLL_DTOR( ResonZ_dtor );
117 CK_DLL_TICK( ResonZ_tick );
118 CK_DLL_PMSG( ResonZ_pmsg );
119 CK_DLL_CTRL( ResonZ_ctrl_freq );
120 CK_DLL_CGET( ResonZ_cget_freq );
121 CK_DLL_CTRL( ResonZ_ctrl_Q );
122 CK_DLL_CGET( ResonZ_cget_Q );
123 CK_DLL_CTRL( ResonZ_ctrl_set );
125 // filter
126 CK_DLL_CTOR( filter_ctor );
127 CK_DLL_DTOR( filter_dtor );
128 CK_DLL_TICK( filter_tick );
129 CK_DLL_CTRL( filter_ctrl_coefs );
130 CK_DLL_CGET( filter_cget_coefs );
131 CK_DLL_PMSG( filter_pmsg );
133 // biquad
134 CK_DLL_CTOR( biquad_ctor );
135 CK_DLL_DTOR( biquad_dtor );
136 CK_DLL_TICK( biquad_tick );
138 CK_DLL_CTRL( biquad_ctrl_pfreq );
139 CK_DLL_CGET( biquad_cget_pfreq );
140 CK_DLL_CTRL( biquad_ctrl_prad );
141 CK_DLL_CGET( biquad_cget_prad );
142 CK_DLL_CTRL( biquad_ctrl_zfreq );
143 CK_DLL_CGET( biquad_cget_zfreq );
144 CK_DLL_CTRL( biquad_ctrl_zrad );
145 CK_DLL_CGET( biquad_cget_zrad );
146 CK_DLL_CTRL( biquad_ctrl_norm );
147 CK_DLL_CGET( biquad_cget_norm );
148 CK_DLL_CTRL( biquad_ctrl_pregain );
149 CK_DLL_CGET( biquad_cget_pregain );
150 CK_DLL_CTRL( biquad_ctrl_eqzs );
151 CK_DLL_CGET( biquad_cget_eqzs );
152 CK_DLL_CTRL( biquad_ctrl_b0 );
153 CK_DLL_CGET( biquad_cget_b0 );
154 CK_DLL_CTRL( biquad_ctrl_b1 );
155 CK_DLL_CGET( biquad_cget_b1 );
156 CK_DLL_CTRL( biquad_ctrl_b2 );
157 CK_DLL_CGET( biquad_cget_b2 );
158 CK_DLL_CTRL( biquad_ctrl_a0 );
159 CK_DLL_CGET( biquad_cget_a0 );
160 CK_DLL_CTRL( biquad_ctrl_a1 );
161 CK_DLL_CGET( biquad_cget_a1 );
162 CK_DLL_CTRL( biquad_ctrl_a2 );
163 CK_DLL_CGET( biquad_cget_a2 );
165 //Teabox
166 CK_DLL_CTOR( teabox_ctor );
167 CK_DLL_TICK( teabox_tick );
168 CK_DLL_CGET( teabox_cget_analog );
169 CK_DLL_CGET( teabox_cget_digital );
170 CK_DLL_PMSG( teabox_pmsg );
172 // onepole
173 CK_DLL_CTOR( onepole_ctor );
174 CK_DLL_DTOR( onepole_dtor );
175 CK_DLL_TICK( onepole_tick );
176 CK_DLL_CTRL( onepole_ctrl_pole );
178 // onezero
179 CK_DLL_CTOR( onezero_ctor );
180 CK_DLL_DTOR( onezero_dtor );
181 CK_DLL_TICK( onezero_tick );
182 CK_DLL_CTRL( onezero_ctrl_zero );
184 // twopole
185 CK_DLL_CTOR( twopole_ctor );
186 CK_DLL_DTOR( twopole_dtor );
187 CK_DLL_TICK( twopole_tick );
188 CK_DLL_CTRL( twopole_ctrl_freq );
189 CK_DLL_CTRL( twopole_ctrl_rad );
190 CK_DLL_CTRL( twopole_ctrl_norm );
192 // twozero
193 CK_DLL_CTOR( twozero_ctor );
194 CK_DLL_DTOR( twozero_dtor );
195 CK_DLL_TICK( twozero_tick );
196 CK_DLL_CTRL( twozero_ctrl_freq );
197 CK_DLL_CTRL( twozero_ctrl_rad );
199 // gQ
200 CK_DLL_CTOR( gQ_ctor );
201 CK_DLL_DTOR( gQ_dtor );
202 CK_DLL_TICK( gQ_tick );
203 CK_DLL_CTRL( gQ_ctrl_freq );
204 CK_DLL_CTRL( gQ_ctrl_rad );
206 // allpass
207 CK_DLL_CTOR( allpass_ctor );
208 CK_DLL_DTOR( allpass_dtor );
209 CK_DLL_TICK( allpass_tick );
210 CK_DLL_PMSG( allpass_pmsg );
212 // delay
213 CK_DLL_CTOR( delay_ctor );
214 CK_DLL_DTOR( delay_dtor );
215 CK_DLL_TICK( delay_tick );
216 CK_DLL_CTRL( delay_ctrl_delay );
217 CK_DLL_CTRL( delay_ctrl_max );
218 CK_DLL_CTRL( delay_ctrl_tap );
219 CK_DLL_CTRL( delay_ctrl_energy );
221 // delayA
222 CK_DLL_CTOR( delayA_ctor );
223 CK_DLL_DTOR( delayA_dtor );
224 CK_DLL_TICK( delayA_tick );
225 CK_DLL_CTRL( delayA_ctrl_delay );
226 CK_DLL_CTRL( delayA_ctrl_max );
228 // delayL
229 CK_DLL_CTOR( delayL_ctor );
230 CK_DLL_DTOR( delayL_dtor );
231 CK_DLL_TICK( delayL_tick );
232 CK_DLL_CTRL( delayL_ctrl_delay );
233 CK_DLL_CTRL( delayL_ctrl_max );
238 #endif