#include <jack/jack.h>#include <cshellsynth/atomic-types.h>#include <cshellsynth/jclient.h>Go to the source code of this file.
Data Structures | |
| struct | cs_mix_t |
Defines | |
| #define | cs_mix_destroy(cs_mix) jclient_destroy((jclient_t *) (cs_mix)) |
Functions | |
| int | cs_mix_init (cs_mix_t *self, const char *client_name, jack_options_t flags, char *server_name) |
| int | cs_mix_subclass_init (cs_mix_t *self, const char *client_name, jack_options_t flags, char *server_name) |
| void | cs_mix_set_in1 (cs_mix_t *self, float in1) |
| void | cs_mix_set_in2 (cs_mix_t *self, float in2) |
| void | cs_mix_set_in1_amp (cs_mix_t *self, float in1_amp) |
| void | cs_mix_set_in2_amp (cs_mix_t *self, float in2_amp) |
Mixer
Ruby version: LLMixer. There is also a derived Ruby Mixer class described below.
This simple mixer class just adds its arguments together, scaled by their respective amplitudes. Additionally, it serves as the subclass of all things that mix two things to get one thing. Right now, that's just Modulator (modulator.h).
In Ruby, there is a Mixer class which functions identically except that instead of in1* and in2*, there are in[0-x] and amp[0-x]. These are created on demand, but note that all intermediate values are filled in, so in[3] will ensure that in[0], in[1], and in[2] exist.
Additionally, there is a FullMixer class which also has pan[0-x], with outL and outR instead of out.
By default, $mixer is created as a FullMixer, with outL and outR connected to the default output.
| #define cs_mix_destroy | ( | cs_mix | ) | jclient_destroy((jclient_t *) (cs_mix)) |
Destroy mixer
See jclient_destroy
| int cs_mix_init | ( | cs_mix_t * | self, | |
| const char * | client_name, | |||
| jack_options_t | flags, | |||
| char * | server_name | |||
| ) |
Initialize mixer
See jclient_init
| void cs_mix_set_in1 | ( | cs_mix_t * | self, | |
| float | in1 | |||
| ) |
Sets in1
Ruby version: in1=
| void cs_mix_set_in1_amp | ( | cs_mix_t * | self, | |
| float | in1_amp | |||
| ) |
Sets in1 amplitude
Ruby version: in1amp=
| void cs_mix_set_in2 | ( | cs_mix_t * | self, | |
| float | in2 | |||
| ) |
Sets in2
Ruby version: in2=
| void cs_mix_set_in2_amp | ( | cs_mix_t * | self, | |
| float | in2_amp | |||
| ) |
Sets in2 amplitude
Ruby version: in2amp=
| int cs_mix_subclass_init | ( | cs_mix_t * | self, | |
| const char * | client_name, | |||
| jack_options_t | flags, | |||
| char * | server_name | |||
| ) |
An factored out init function for subclasses
1.6.3