00001
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef CSHELLSYNTH_SYNTH_H
00026 #define CSHELLSYNTH_SYNTH_H 1
00027
00028 #include <jack/jack.h>
00029 #include <cshellsynth/atomic-types.h>
00030 #include <cshellsynth/jclient.h>
00031
00039 typedef struct cs_synth_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 } cs_synth_t;
00047
00053 #define cs_synth_destroy(cs_synth) jclient_destroy((jclient_t *) (cs_synth))
00054
00060 int cs_synth_init(cs_synth_t *self, const char *client_name, jack_options_t flags, char *server_name);
00061
00069 void cs_synth_set_freq(cs_synth_t *self, float freq);
00070
00078 void cs_synth_set_offset(cs_synth_t *self, float offset);
00079
00087 void cs_synth_set_amp(cs_synth_t *self, float amp);
00088
00089 #endif