*** empty log message ***
[chuck-blob.git] / v1 / ugen_xxx.h
blobbfb8074c6076913ed418f8698615c4c299149dc3
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_xxx.h
27 // desc: ...
29 // author: Ge Wang (gewang@cs.princeton.edu)
30 // Perry R. Cook (prc@cs.princeton.edu)
31 // date: Spring 2004
32 //-----------------------------------------------------------------------------
33 #ifndef __UGEN_XXX_H__
34 #define __UGEN_XXX_H__
36 #include "chuck_dl.h"
39 // query
40 DLL_QUERY xxx_query( Chuck_DL_Query * query );
42 // noise
43 UGEN_TICK noise_tick( t_CKTIME now, void * data, SAMPLE in, SAMPLE * out );
44 UGEN_CTOR cnoise_ctor( t_CKTIME now );
45 UGEN_DTOR cnoise_dtor( t_CKTIME now, void * data );
46 UGEN_TICK cnoise_tick( t_CKTIME now, void * data, SAMPLE in, SAMPLE * out );
47 UGEN_CTRL cnoise_ctrl_mode( t_CKTIME now, void * data, void * value );
48 UGEN_CTRL cnoise_ctrl_fprob( t_CKTIME now, void * data, void * value );
49 // impulse
50 UGEN_CTOR impulse_ctor( t_CKTIME now );
51 UGEN_DTOR impulse_dtor( t_CKTIME now, void * data );
52 UGEN_TICK impulse_tick( t_CKTIME now, void * data, SAMPLE in, SAMPLE * out );
53 UGEN_CTRL impulse_ctrl_value( t_CKTIME now, void * data, void * value );
54 UGEN_CGET impulse_cget_value( t_CKTIME now, void * data, void * out );
56 // step
57 UGEN_CTOR step_ctor( t_CKTIME now );
58 UGEN_DTOR step_dtor( t_CKTIME now, void * data );
59 UGEN_TICK step_tick( t_CKTIME now, void * data, SAMPLE in, SAMPLE * out );
60 UGEN_CTRL step_ctrl_value( t_CKTIME now, void * data, void * value );
61 UGEN_CGET step_cget_value( t_CKTIME now, void * data, void * out );
63 // gain
64 UGEN_CTOR gain_ctor( t_CKTIME now );
65 UGEN_DTOR gain_dtor( t_CKTIME now, void * data );
66 UGEN_TICK gain_tick( t_CKTIME now, void * data, SAMPLE in, SAMPLE * out );
67 UGEN_CTRL gain_ctrl_value( t_CKTIME now, void * data, void * value );
68 UGEN_CGET gain_cget_value( t_CKTIME now, void * data, void * out );
70 // halfrect
71 UGEN_TICK halfrect_tick( t_CKTIME now, void * data, SAMPLE in, SAMPLE * out );
73 // fullrect
74 UGEN_TICK fullrect_tick( t_CKTIME now, void * data, SAMPLE in, SAMPLE * out );
76 // zerox
77 UGEN_CTOR zerox_ctor( t_CKTIME now );
78 UGEN_DTOR zerox_dtor( t_CKTIME now, void * data );
79 UGEN_TICK zerox_tick( t_CKTIME now, void * data, SAMPLE in, SAMPLE * out );
81 // DAC and ADC
82 UGEN_TICK dac_tick( t_CKTIME now, void * data, SAMPLE in, SAMPLE * out );
83 UGEN_TICK bunghole_tick( t_CKTIME now, void * data, SAMPLE in, SAMPLE * out );
86 UGEN_CTOR delayp_ctor( t_CKTIME now );
87 UGEN_DTOR delayp_dtor( t_CKTIME now, void * data );
88 UGEN_PMSG delayp_pmsg( t_CKTIME now, void * data, const char * msg, void * value );
89 UGEN_TICK delayp_tick( t_CKTIME now, void * data, SAMPLE in, SAMPLE * out );
90 UGEN_CTRL delayp_ctrl_delay( t_CKTIME now, void * data, void * value );
91 UGEN_CGET delayp_cget_delay( t_CKTIME now, void * data, void * out );
92 UGEN_CTRL delayp_ctrl_window( t_CKTIME now, void * data, void * value );
93 UGEN_CGET delayp_cget_window( t_CKTIME now, void * data, void * out );
94 UGEN_CTRL delayp_ctrl_max( t_CKTIME now, void * data, void * value );
95 UGEN_CGET delayp_cget_max( t_CKTIME now, void * data, void * out );
97 // sndbuf
98 UGEN_CTOR sndbuf_ctor( t_CKTIME now );
99 UGEN_DTOR sndbuf_dtor( t_CKTIME now, void * data );
100 UGEN_TICK sndbuf_tick( t_CKTIME now, void * data, SAMPLE in, SAMPLE * out );
101 UGEN_CTRL sndbuf_ctrl_read( t_CKTIME now, void * data, void * value );
102 UGEN_CGET sndbuf_cget_read( t_CKTIME now, void * data, void * out );
103 UGEN_CTRL sndbuf_ctrl_write( t_CKTIME now, void * data, void * value );
104 UGEN_CGET sndbuf_cget_write( t_CKTIME now, void * data, void * value );
105 UGEN_CTRL sndbuf_ctrl_pos( t_CKTIME now, void * data, void * value );
106 UGEN_CGET sndbuf_cget_pos( t_CKTIME now, void * data, void * out );
107 UGEN_CTRL sndbuf_ctrl_loop( t_CKTIME now, void * data, void * value );
108 UGEN_CGET sndbuf_cget_loop( t_CKTIME now, void * data, void * out );
109 UGEN_CTRL sndbuf_ctrl_interp( t_CKTIME now, void * data, void * value );
110 UGEN_CGET sndbuf_cget_interp( t_CKTIME now, void * data, void * out );
111 UGEN_CTRL sndbuf_ctrl_rate( t_CKTIME now, void * data, void * value );
112 UGEN_CGET sndbuf_cget_rate( t_CKTIME now, void * data, void * out );
113 UGEN_CTRL sndbuf_ctrl_play( t_CKTIME now, void * data, void * value );
114 UGEN_CGET sndbuf_cget_play( t_CKTIME now, void * data, void * out );
115 UGEN_CTRL sndbuf_ctrl_freq( t_CKTIME now, void * data, void * value );
116 UGEN_CGET sndbuf_cget_freq( t_CKTIME now, void * data, void * out );
117 UGEN_CTRL sndbuf_ctrl_phase( t_CKTIME now, void * data, void * value );
118 UGEN_CGET sndbuf_cget_phase( t_CKTIME now, void * data, void * out );
119 UGEN_CTRL sndbuf_ctrl_channel( t_CKTIME now, void * data, void * value );
120 UGEN_CGET sndbuf_cget_channel( t_CKTIME now, void * data, void * out );
121 UGEN_CTRL sndbuf_ctrl_phase_offset( t_CKTIME now, void * data, void * value );
122 UGEN_CGET sndbuf_cget_samples( t_CKTIME now, void * data, void * out );
123 UGEN_CGET sndbuf_cget_length( t_CKTIME now, void * data, void * out );
124 UGEN_CGET sndbuf_cget_channels( t_CKTIME now, void * data, void * out );
129 #endif