00001
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040 #ifndef CSHELLSYNTH_MIXER_H
00041 #define CSHELLSYNTH_MIXER_H 1
00042
00043 #include <jack/jack.h>
00044 #include <cshellsynth/atomic-types.h>
00045 #include <cshellsynth/jclient.h>
00046
00054 typedef struct cs_mix_struct {
00055 jack_client_t *client;
00056 jack_port_t *in1_port;
00057 atomic_float_t in1;
00058 jack_port_t *in2_port;
00059 atomic_float_t in2;
00060 jack_port_t *out_port;
00061 atomic_float_t in1_amp;
00062 atomic_float_t in2_amp;
00063 } cs_mix_t;
00064
00070 #define cs_mix_destroy(cs_mix) jclient_destroy((jclient_t *) (cs_mix))
00071
00077 int cs_mix_init(cs_mix_t *self, const char *client_name, jack_options_t flags, char *server_name);
00078
00082 int cs_mix_subclass_init(cs_mix_t *self, const char *client_name, jack_options_t flags, char *server_name);
00083
00089 void cs_mix_set_in1(cs_mix_t *self, float in1);
00090
00096 void cs_mix_set_in2(cs_mix_t *self, float in2);
00097
00103 void cs_mix_set_in1_amp(cs_mix_t *self, float in1_amp);
00104
00110 void cs_mix_set_in2_amp(cs_mix_t *self, float in2_amp);
00111
00112 #endif