00001
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef CSHELLSYNTH_FALLING_SAW_H
00026 #define CSHELLSYNTH_FALLING_SAW_H 1
00027
00028 #include <jack/jack.h>
00029 #include <cshellsynth/atomic-types.h>
00030 #include <cshellsynth/synth.h>
00031
00039 typedef struct cs_fsaw_struct {
00040 jack_client_t *client;
00041 jack_port_t *freq_port;
00042 atomic_float_t freq;
00043 jack_port_t *out_port;
00044 atomic_float_t amp;
00045 atomic_float_t offset;
00046 double t;
00047 } cs_fsaw_t;
00048
00054 #define cs_fsaw_destroy(cs_fsaw) cs_synth_destroy((cs_synth_t *) (cs_fsaw))
00055
00061 int cs_fsaw_init(cs_fsaw_t *self, const char *client_name, jack_options_t flags, char *server_name);
00062
00066 #define cs_fsaw_set_freq(cs_fsaw, freq) cs_synth_set_freq((cs_synth_t *) (cs_fsaw), (freq))
00067
00071 #define cs_fsaw_set_offset(cs_fsaw, offset) cs_synth_set_offset((cs_synth_t *) (cs_fsaw), (offset))
00072
00076 #define cs_fsaw_set_amp(cs_fsaw, amp) cs_synth_set_amp((cs_synth_t *) (cs_fsaw), (amp))
00077
00078 #endif