00001
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef CSHELLSYNTH_MODULATOR_H
00028 #define CSHELLSYNTH_MODULATOR_H 1
00029
00030 #include <jack/jack.h>
00031 #include <cshellsynth/atomic-types.h>
00032 #include <cshellsynth/mixer.h>
00033
00041 typedef struct cs_modu_struct {
00042 jack_client_t *client;
00043 jack_port_t *in1_port;
00044 atomic_float_t in1;
00045 jack_port_t *in2_port;
00046 atomic_float_t in2;
00047 jack_port_t *out_port;
00048 atomic_float_t in1_amp;
00049 atomic_float_t in2_amp;
00050 } cs_modu_t;
00051
00057 #define cs_modu_destroy(cs_modu) cs_mix_destroy((cs_mix_t *) (cs_modu))
00058
00064 int cs_modu_init(cs_modu_t *self, const char *client_name, jack_options_t flags, char *server_name);
00065
00069 #define cs_modu_set_in1(self, in1) cs_mix_set_in1((cs_mix_t *) (self), in1);
00070
00074 #define cs_modu_set_in2(self, in2) cs_mix_set_in2((cs_mix_t *) (self), in2);
00075
00079 #define cs_modu_set_in1_amp(self, in1_amp) cs_mix_set_in1((cs_mix_t *) (self), in1_amp);
00080
00084 #define cs_modu_set_in2_amp(self, in2_amp) cs_mix_set_in2((cs_mix_t *) (self), in2_amp);
00085
00086 #endif