mod.h File Reference

SoundFont modulator functions and constants. More...


Data Structures

struct  _fluid_mod_t
 Modulator structure. More...

Defines

#define FLUID_NUM_MOD   64
 Maximum number of modulators in a voice.

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
}
 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...

Functions

FLUIDSYNTH_API fluid_mod_tfluid_mod_new (void)
 Create a new uninitialized modulator structure.
FLUIDSYNTH_API void fluid_mod_delete (fluid_mod_t *mod)
 Free a modulator structure.
FLUIDSYNTH_API void fluid_mod_set_source1 (fluid_mod_t *mod, int src, int flags)
 Set a modulator's primary source controller and flags.
FLUIDSYNTH_API void fluid_mod_set_source2 (fluid_mod_t *mod, int src, int flags)
 Set a modulator's secondary source controller and flags.
FLUIDSYNTH_API void fluid_mod_set_dest (fluid_mod_t *mod, int dst)
 Set the destination effect of a modulator.
FLUIDSYNTH_API void fluid_mod_set_amount (fluid_mod_t *mod, double amount)
 Set the scale amount of a modulator.
FLUIDSYNTH_API int fluid_mod_get_source1 (fluid_mod_t *mod)
 Get the primary source value from a modulator.
FLUIDSYNTH_API int fluid_mod_get_flags1 (fluid_mod_t *mod)
 Get primary source flags from a modulator.
FLUIDSYNTH_API int fluid_mod_get_source2 (fluid_mod_t *mod)
 Get the secondary source value from a modulator.
FLUIDSYNTH_API int fluid_mod_get_flags2 (fluid_mod_t *mod)
 Get secondary source flags from a modulator.
FLUIDSYNTH_API int fluid_mod_get_dest (fluid_mod_t *mod)
 Get destination effect from a modulator.
FLUIDSYNTH_API double fluid_mod_get_amount (fluid_mod_t *mod)
 Get the scale amount from a modulator.
FLUIDSYNTH_API int fluid_mod_test_identity (fluid_mod_t *mod1, fluid_mod_t *mod2)
 Checks if two modulators are identical in sources, flags and destination.


Detailed Description

SoundFont modulator functions and constants.


Enumeration Type Documentation

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).

General controller (if FLUID_MOD_GC in flags).

This corresponds to SoundFont 2.04 PDF section 8.2.1

Enumerator:
FLUID_MOD_NONE  No source controller.
FLUID_MOD_VELOCITY  MIDI note-on velocity.
FLUID_MOD_KEY  MIDI note-on note number.
FLUID_MOD_KEYPRESSURE  MIDI key pressure.
FLUID_MOD_CHANNELPRESSURE  MIDI channel pressure.
FLUID_MOD_PITCHWHEEL  Pitch wheel.
FLUID_MOD_PITCHWHEELSENS  Pitch wheel sensitivity.


Function Documentation

FLUIDSYNTH_API fluid_mod_t* fluid_mod_new ( void   ) 

Create a new uninitialized modulator structure.

Returns:
New allocated modulator or NULL if out of memory

FLUIDSYNTH_API void fluid_mod_delete ( fluid_mod_t mod  ) 

Free a modulator structure.

Parameters:
mod Modulator to free

FLUIDSYNTH_API void fluid_mod_set_source1 ( fluid_mod_t mod,
int  src,
int  flags 
)

Set a modulator's primary source controller and flags.

Parameters:
mod Modulator
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.

FLUIDSYNTH_API void fluid_mod_set_source2 ( fluid_mod_t mod,
int  src,
int  flags 
)

Set a modulator's secondary source controller and flags.

Parameters:
mod Modulator
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.

FLUIDSYNTH_API void fluid_mod_set_dest ( fluid_mod_t mod,
int  dest 
)

Set the destination effect of a modulator.

Parameters:
mod Modulator
dest Destination generator (fluid_gen_type)

FLUIDSYNTH_API void fluid_mod_set_amount ( fluid_mod_t mod,
double  amount 
)

Set the scale amount of a modulator.

Parameters:
mod Modulator
amount Scale amount to assign

FLUIDSYNTH_API int fluid_mod_get_source1 ( fluid_mod_t mod  ) 

Get the primary source value from a modulator.

Parameters:
mod Modulator
Returns:
The primary source value (fluid_mod_src or a MIDI CC controller value).

FLUIDSYNTH_API int fluid_mod_get_flags1 ( fluid_mod_t mod  ) 

Get primary source flags from a modulator.

Parameters:
mod Modulator
Returns:
The primary source flags (fluid_mod_flags).

FLUIDSYNTH_API int fluid_mod_get_source2 ( fluid_mod_t mod  ) 

Get the secondary source value from a modulator.

Parameters:
mod Modulator
Returns:
The secondary source value (fluid_mod_src or a MIDI CC controller value).

FLUIDSYNTH_API int fluid_mod_get_flags2 ( fluid_mod_t mod  ) 

Get secondary source flags from a modulator.

Parameters:
mod Modulator
Returns:
The secondary source flags (fluid_mod_flags).

FLUIDSYNTH_API int fluid_mod_get_dest ( fluid_mod_t mod  ) 

Get destination effect from a modulator.

Parameters:
mod Modulator
Returns:
Destination generator (fluid_gen_type)

FLUIDSYNTH_API double fluid_mod_get_amount ( fluid_mod_t mod  ) 

Get the scale amount from a modulator.

Parameters:
mod Modulator
Returns:
Scale amount

FLUIDSYNTH_API int fluid_mod_test_identity ( fluid_mod_t mod1,
fluid_mod_t mod2 
)

Checks if two modulators are identical in sources, flags and destination.

Parameters:
mod1 First modulator
mod2 Second modulator
Returns:
TRUE if identical, FALSE otherwise
SF2.01 section 9.5.1 page 69, 'bullet' 3 defines 'identical'.


Generated on Fri Jan 8 02:37:43 2016 for libfluidsynth by  doxygen 1.5.6