libfluidsynth
2.4.5
|
SoundFont modulator functions and constants. More...
Enumerations | |
enum | fluid_mod_flags { FLUID_MOD_POSITIVE = 0 , FLUID_MOD_NEGATIVE = 1 , FLUID_MOD_UNIPOLAR = 0 , FLUID_MOD_BIPOLAR = 2 , FLUID_MOD_LINEAR = 0 , FLUID_MOD_CONCAVE = 4 , FLUID_MOD_CONVEX = 8 , FLUID_MOD_SWITCH = 12 , FLUID_MOD_GC = 0 , FLUID_MOD_CC = 16 , FLUID_MOD_SIN = 0x80 } |
Flags defining the polarity, mapping function and type of a modulator source. More... | |
enum | fluid_mod_src { FLUID_MOD_NONE = 0 , FLUID_MOD_VELOCITY = 2 , FLUID_MOD_KEY = 3 , FLUID_MOD_KEYPRESSURE = 10 , FLUID_MOD_CHANNELPRESSURE = 13 , FLUID_MOD_PITCHWHEEL = 14 , FLUID_MOD_PITCHWHEELSENS = 16 } |
General controller (if FLUID_MOD_GC in flags). More... | |
enum | fluid_mod_transforms { FLUID_MOD_TRANSFORM_LINEAR = 0 , FLUID_MOD_TRANSFORM_ABS = 2 } |
Transform types for the SoundFont2 modulators as defined by SoundFont 2.04 section 8.3. More... | |
Lifecycle Functions for Modulator_linebr@{ | |
fluid_mod_t * | new_fluid_mod (void) |
Create a new uninitialized modulator structure. More... | |
void | delete_fluid_mod (fluid_mod_t *mod) |
Free a modulator structure. More... | |
Functions | |
void | fluid_mod_clone (fluid_mod_t *mod, const fluid_mod_t *src) |
Clone the modulators destination, sources, flags and amount. More... | |
double | fluid_mod_get_amount (const fluid_mod_t *mod) |
Get the scale amount from a modulator. More... | |
int | fluid_mod_get_dest (const fluid_mod_t *mod) |
Get destination effect from a modulator. More... | |
int | fluid_mod_get_flags1 (const fluid_mod_t *mod) |
Get primary source flags from a modulator. More... | |
int | fluid_mod_get_flags2 (const fluid_mod_t *mod) |
Get secondary source flags from a modulator. More... | |
int | fluid_mod_get_source1 (const fluid_mod_t *mod) |
Get the primary source value from a modulator. More... | |
int | fluid_mod_get_source2 (const fluid_mod_t *mod) |
Get the secondary source value from a modulator. More... | |
int | fluid_mod_get_transform (fluid_mod_t *mod) |
Get the transform type of a modulator. More... | |
int | fluid_mod_has_dest (const fluid_mod_t *mod, int gen) |
Check if the modulator has the given destination. More... | |
int | fluid_mod_has_source (const fluid_mod_t *mod, int cc, int ctrl) |
Check if the modulator has the given source. More... | |
void | fluid_mod_set_amount (fluid_mod_t *mod, double amount) |
Set the scale amount of a modulator. More... | |
void | fluid_mod_set_dest (fluid_mod_t *mod, int dst) |
Set the destination effect of a modulator. More... | |
void | fluid_mod_set_source1 (fluid_mod_t *mod, int src, int flags) |
Set a modulator's primary source controller and flags. More... | |
void | fluid_mod_set_source2 (fluid_mod_t *mod, int src, int flags) |
Set a modulator's secondary source controller and flags. More... | |
void | fluid_mod_set_transform (fluid_mod_t *mod, int type) |
Set the transform type of a modulator. More... | |
size_t | fluid_mod_sizeof (void) |
Returns the size of the fluid_mod_t structure. More... | |
int | fluid_mod_test_identity (const fluid_mod_t *mod1, const fluid_mod_t *mod2) |
Checks if two modulators are identical in sources, flags and destination. More... | |
SoundFont modulator functions and constants.
enum fluid_mod_flags |
Flags defining the polarity, mapping function and type of a modulator source.
Compare with SoundFont 2.04 PDF section 8.2.
Note: Bit values do not correspond to the SoundFont spec! Also note that FLUID_MOD_GC and FLUID_MOD_CC are in the flags field instead of the source field.
Enumerator | |
---|---|
FLUID_MOD_POSITIVE | Mapping function is positive. |
FLUID_MOD_NEGATIVE | Mapping function is negative. |
FLUID_MOD_UNIPOLAR | Mapping function is unipolar. |
FLUID_MOD_BIPOLAR | Mapping function is bipolar. |
FLUID_MOD_LINEAR | Linear mapping function. |
FLUID_MOD_CONCAVE | Concave mapping function. |
FLUID_MOD_CONVEX | Convex mapping function. |
FLUID_MOD_SWITCH | Switch (on/off) mapping function. |
FLUID_MOD_GC | General controller source type (fluid_mod_src) |
FLUID_MOD_CC | MIDI CC controller (source will be a MIDI CC number) |
FLUID_MOD_SIN | Custom non-standard sinus mapping function. |
enum fluid_mod_src |
General controller (if FLUID_MOD_GC in flags).
This corresponds to SoundFont 2.04 PDF section 8.2.1
enum fluid_mod_transforms |
void delete_fluid_mod | ( | fluid_mod_t * | mod | ) |
Free a modulator structure.
mod | Modulator to free |
void fluid_mod_clone | ( | fluid_mod_t * | mod, |
const fluid_mod_t * | src | ||
) |
Clone the modulators destination, sources, flags and amount.
mod | the modulator to store the copy to |
src | the source modulator to retrieve the information from |
next
member of mod
will be left unchanged. double fluid_mod_get_amount | ( | const fluid_mod_t * | mod | ) |
Get the scale amount from a modulator.
mod | The modulator instance |
int fluid_mod_get_dest | ( | const fluid_mod_t * | mod | ) |
Get destination effect from a modulator.
mod | The modulator instance |
int fluid_mod_get_flags1 | ( | const fluid_mod_t * | mod | ) |
Get primary source flags from a modulator.
mod | The modulator instance |
int fluid_mod_get_flags2 | ( | const fluid_mod_t * | mod | ) |
Get secondary source flags from a modulator.
mod | The modulator instance |
int fluid_mod_get_source1 | ( | const fluid_mod_t * | mod | ) |
Get the primary source value from a modulator.
mod | The modulator instance |
int fluid_mod_get_source2 | ( | const fluid_mod_t * | mod | ) |
Get the secondary source value from a modulator.
mod | The modulator instance |
int fluid_mod_get_transform | ( | fluid_mod_t * | mod | ) |
Get the transform type of a modulator.
mod | The modulator instance |
type | Transform type, see fluid_mod_transforms |
int fluid_mod_has_dest | ( | const fluid_mod_t * | mod, |
int | gen | ||
) |
Check if the modulator has the given destination.
mod | The modulator instance |
gen | The destination generator of type fluid_gen_type to check for |
int fluid_mod_has_source | ( | const fluid_mod_t * | mod, |
int | cc, | ||
int | ctrl | ||
) |
Check if the modulator has the given source.
mod | The modulator instance |
cc | Boolean value indicating if ctrl is a CC controller or not |
ctrl | The source to check for (if cc == FALSE : a value of type fluid_mod_src, else the value of the MIDI CC to check for) |
void fluid_mod_set_amount | ( | fluid_mod_t * | mod, |
double | amount | ||
) |
Set the scale amount of a modulator.
mod | The modulator instance |
amount | Scale amount to assign |
void fluid_mod_set_dest | ( | fluid_mod_t * | mod, |
int | dest | ||
) |
Set the destination effect of a modulator.
mod | The modulator instance |
dest | Destination generator (fluid_gen_type) |
void fluid_mod_set_source1 | ( | fluid_mod_t * | mod, |
int | src, | ||
int | flags | ||
) |
Set a modulator's primary source controller and flags.
mod | The modulator instance |
src | Modulator source (fluid_mod_src or a MIDI controller number) |
flags | Flags determining mapping function and whether the source controller is a general controller (FLUID_MOD_GC) or a MIDI CC controller (FLUID_MOD_CC), see fluid_mod_flags. |
void fluid_mod_set_source2 | ( | fluid_mod_t * | mod, |
int | src, | ||
int | flags | ||
) |
Set a modulator's secondary source controller and flags.
mod | The modulator instance |
src | Modulator source (fluid_mod_src or a MIDI controller number) |
flags | Flags determining mapping function and whether the source controller is a general controller (FLUID_MOD_GC) or a MIDI CC controller (FLUID_MOD_CC), see fluid_mod_flags. |
void fluid_mod_set_transform | ( | fluid_mod_t * | mod, |
int | type | ||
) |
Set the transform type of a modulator.
mod | The modulator instance |
type | Transform type, see fluid_mod_transforms |
size_t fluid_mod_sizeof | ( | void | ) |
Returns the size of the fluid_mod_t structure.
Useful in low latency scenarios e.g. to allocate a modulator on the stack.
int fluid_mod_test_identity | ( | const fluid_mod_t * | mod1, |
const fluid_mod_t * | mod2 | ||
) |
Checks if two modulators are identical in sources, flags and destination.
mod1 | First modulator |
mod2 | Second modulator |
SF2.01 section 9.5.1 page 69, 'bullet' 3 defines 'identical'.
fluid_mod_t* new_fluid_mod | ( | void | ) |
Create a new uninitialized modulator structure.