libfluidsynth
2.4.5
|
Create, modify, query and destroy sequencer events. More...
Enumerations | |
enum | fluid_seq_event_type { FLUID_SEQ_NOTE = 0 , FLUID_SEQ_NOTEON , FLUID_SEQ_NOTEOFF , FLUID_SEQ_ALLSOUNDSOFF , FLUID_SEQ_ALLNOTESOFF , FLUID_SEQ_BANKSELECT , FLUID_SEQ_PROGRAMCHANGE , FLUID_SEQ_PROGRAMSELECT , FLUID_SEQ_PITCHBEND , FLUID_SEQ_PITCHWHEELSENS , FLUID_SEQ_MODULATION , FLUID_SEQ_SUSTAIN , FLUID_SEQ_CONTROLCHANGE , FLUID_SEQ_PAN , FLUID_SEQ_VOLUME , FLUID_SEQ_REVERBSEND , FLUID_SEQ_CHORUSSEND , FLUID_SEQ_TIMER , FLUID_SEQ_CHANNELPRESSURE , FLUID_SEQ_KEYPRESSURE , FLUID_SEQ_SYSTEMRESET , FLUID_SEQ_UNREGISTERING , FLUID_SEQ_SCALE , FLUID_SEQ_LASTEVENT } |
Sequencer event type enumeration. More... | |
Lifecycle Functions for Sequencer Event_linebr@{ | |
fluid_event_t * | new_fluid_event (void) |
Create a new sequencer event structure. More... | |
void | delete_fluid_event (fluid_event_t *evt) |
Delete a sequencer event structure. More... | |
Functions | |
void | fluid_event_all_notes_off (fluid_event_t *evt, int channel) |
Set a sequencer event to be a all notes off event. More... | |
void | fluid_event_all_sounds_off (fluid_event_t *evt, int channel) |
Set a sequencer event to be an all sounds off event. More... | |
void | fluid_event_bank_select (fluid_event_t *evt, int channel, short bank_num) |
Set a sequencer event to be a bank select event. More... | |
void | fluid_event_channel_pressure (fluid_event_t *evt, int channel, int val) |
Set a sequencer event to be a channel-wide aftertouch event. More... | |
void | fluid_event_chorus_send (fluid_event_t *evt, int channel, int val) |
Set a sequencer event to be a chorus send event. More... | |
void | fluid_event_control_change (fluid_event_t *evt, int channel, short control, int val) |
Set a sequencer event to be a MIDI control change event. More... | |
int | fluid_event_from_midi_event (fluid_event_t *, const fluid_midi_event_t *) |
Transforms an incoming MIDI event (from a MIDI driver or MIDI router) to a sequencer event. More... | |
short | fluid_event_get_bank (fluid_event_t *evt) |
Get the MIDI bank field from a sequencer event structure. More... | |
int | fluid_event_get_channel (fluid_event_t *evt) |
Get the MIDI channel field from a sequencer event structure. More... | |
short | fluid_event_get_control (fluid_event_t *evt) |
Get the MIDI control number field from a sequencer event structure. More... | |
void * | fluid_event_get_data (fluid_event_t *evt) |
Get the data field from a sequencer event structure. More... | |
fluid_seq_id_t | fluid_event_get_dest (fluid_event_t *evt) |
Get the dest sequencer client from a sequencer event structure. More... | |
unsigned int | fluid_event_get_duration (fluid_event_t *evt) |
Get the duration field from a sequencer event structure. More... | |
short | fluid_event_get_key (fluid_event_t *evt) |
Get the MIDI note field from a sequencer event structure. More... | |
int | fluid_event_get_pitch (fluid_event_t *evt) |
Get the pitch field from a sequencer event structure. More... | |
int | fluid_event_get_program (fluid_event_t *evt) |
Get the MIDI program field from a sequencer event structure. More... | |
double | fluid_event_get_scale (fluid_event_t *evt) |
Gets time scale field from a sequencer event structure. More... | |
unsigned int | fluid_event_get_sfont_id (fluid_event_t *evt) |
Get the SoundFont ID field from a sequencer event structure. More... | |
fluid_seq_id_t | fluid_event_get_source (fluid_event_t *evt) |
Get the source sequencer client from a sequencer event structure. More... | |
int | fluid_event_get_type (fluid_event_t *evt) |
Get the event type (fluid_seq_event_type) field from a sequencer event structure. More... | |
int | fluid_event_get_value (fluid_event_t *evt) |
Get the value field from a sequencer event structure. More... | |
short | fluid_event_get_velocity (fluid_event_t *evt) |
Get the MIDI velocity field from a sequencer event structure. More... | |
void | fluid_event_key_pressure (fluid_event_t *evt, int channel, short key, int val) |
Set a sequencer event to be a polyphonic aftertouch event. More... | |
void | fluid_event_modulation (fluid_event_t *evt, int channel, int val) |
Set a sequencer event to be a modulation event. More... | |
void | fluid_event_note (fluid_event_t *evt, int channel, short key, short vel, unsigned int duration) |
Set a sequencer event to be a note duration event. More... | |
void | fluid_event_noteoff (fluid_event_t *evt, int channel, short key) |
Set a sequencer event to be a note off event. More... | |
void | fluid_event_noteon (fluid_event_t *evt, int channel, short key, short vel) |
Set a sequencer event to be a note on event. More... | |
void | fluid_event_pan (fluid_event_t *evt, int channel, int val) |
Set a sequencer event to be a stereo pan event. More... | |
void | fluid_event_pitch_bend (fluid_event_t *evt, int channel, int val) |
Set a sequencer event to be a pitch bend event. More... | |
void | fluid_event_pitch_wheelsens (fluid_event_t *evt, int channel, int val) |
Set a sequencer event to be a pitch wheel sensitivity event. More... | |
void | fluid_event_program_change (fluid_event_t *evt, int channel, int preset_num) |
Set a sequencer event to be a program change event. More... | |
void | fluid_event_program_select (fluid_event_t *evt, int channel, unsigned int sfont_id, short bank_num, short preset_num) |
Set a sequencer event to be a program select event. More... | |
void | fluid_event_reverb_send (fluid_event_t *evt, int channel, int val) |
Set a sequencer event to be a reverb send event. More... | |
void | fluid_event_scale (fluid_event_t *evt, double new_scale) |
Set a sequencer event to be a scale change event. More... | |
void | fluid_event_set_dest (fluid_event_t *evt, fluid_seq_id_t dest) |
Set destination of this sequencer event, i.e. More... | |
void | fluid_event_set_source (fluid_event_t *evt, fluid_seq_id_t src) |
Set source of a sequencer event. More... | |
void | fluid_event_sustain (fluid_event_t *evt, int channel, int val) |
Set a sequencer event to be a MIDI sustain event. More... | |
void | fluid_event_system_reset (fluid_event_t *evt) |
Set a sequencer event to be a midi system reset event. More... | |
void | fluid_event_timer (fluid_event_t *evt, void *data) |
Set a sequencer event to be a timer event. More... | |
void | fluid_event_unregistering (fluid_event_t *evt) |
Set a sequencer event to be an unregistering event. More... | |
void | fluid_event_volume (fluid_event_t *evt, int channel, int val) |
Set a sequencer event to be a volume event. More... | |
Create, modify, query and destroy sequencer events.
enum fluid_seq_event_type |
Sequencer event type enumeration.
void delete_fluid_event | ( | fluid_event_t * | evt | ) |
Delete a sequencer event structure.
evt | Sequencer event structure created by new_fluid_event(). |
void fluid_event_all_notes_off | ( | fluid_event_t * | evt, |
int | channel | ||
) |
Set a sequencer event to be a all notes off event.
evt | Sequencer event structure |
channel | MIDI channel number |
void fluid_event_all_sounds_off | ( | fluid_event_t * | evt, |
int | channel | ||
) |
Set a sequencer event to be an all sounds off event.
evt | Sequencer event structure |
channel | MIDI channel number |
void fluid_event_bank_select | ( | fluid_event_t * | evt, |
int | channel, | ||
short | bank_num | ||
) |
Set a sequencer event to be a bank select event.
evt | Sequencer event structure |
channel | MIDI channel number |
bank_num | MIDI bank number (0-16383) |
void fluid_event_channel_pressure | ( | fluid_event_t * | evt, |
int | channel, | ||
int | val | ||
) |
Set a sequencer event to be a channel-wide aftertouch event.
evt | Sequencer event structure |
channel | MIDI channel number |
val | Aftertouch amount (0-127) |
void fluid_event_chorus_send | ( | fluid_event_t * | evt, |
int | channel, | ||
int | val | ||
) |
Set a sequencer event to be a chorus send event.
evt | Sequencer event structure |
channel | MIDI channel number |
val | Chorus amount (0-127) |
void fluid_event_control_change | ( | fluid_event_t * | evt, |
int | channel, | ||
short | control, | ||
int | val | ||
) |
Set a sequencer event to be a MIDI control change event.
evt | Sequencer event structure |
channel | MIDI channel number |
control | MIDI control number (0-127) |
val | MIDI control value (0-127) |
int fluid_event_from_midi_event | ( | fluid_event_t * | evt, |
const fluid_midi_event_t * | event | ||
) |
Transforms an incoming MIDI event (from a MIDI driver or MIDI router) to a sequencer event.
evt | Sequencer event structure |
event | MIDI event |
short fluid_event_get_bank | ( | fluid_event_t * | evt | ) |
Get the MIDI bank field from a sequencer event structure.
evt | Sequencer event structure |
Used by the FLUID_SEQ_BANKSELECT and FLUID_SEQ_PROGRAMSELECT event types.
int fluid_event_get_channel | ( | fluid_event_t * | evt | ) |
Get the MIDI channel field from a sequencer event structure.
evt | Sequencer event structure |
short fluid_event_get_control | ( | fluid_event_t * | evt | ) |
Get the MIDI control number field from a sequencer event structure.
evt | Sequencer event structure |
void* fluid_event_get_data | ( | fluid_event_t * | evt | ) |
Get the data field from a sequencer event structure.
evt | Sequencer event structure |
Used by the FLUID_SEQ_TIMER event type.
fluid_seq_id_t fluid_event_get_dest | ( | fluid_event_t * | evt | ) |
Get the dest sequencer client from a sequencer event structure.
evt | Sequencer event structure |
unsigned int fluid_event_get_duration | ( | fluid_event_t * | evt | ) |
Get the duration field from a sequencer event structure.
evt | Sequencer event structure |
Used by the FLUID_SEQ_NOTE event type.
short fluid_event_get_key | ( | fluid_event_t * | evt | ) |
Get the MIDI note field from a sequencer event structure.
evt | Sequencer event structure |
int fluid_event_get_pitch | ( | fluid_event_t * | evt | ) |
Get the pitch field from a sequencer event structure.
evt | Sequencer event structure |
Used by the FLUID_SEQ_PITCHBEND event type.
int fluid_event_get_program | ( | fluid_event_t * | evt | ) |
Get the MIDI program field from a sequencer event structure.
evt | Sequencer event structure |
Used by the FLUID_SEQ_PROGRAMCHANGE and FLUID_SEQ_PROGRAMSELECT event types.
double fluid_event_get_scale | ( | fluid_event_t * | evt | ) |
Gets time scale field from a sequencer event structure.
evt | Sequencer event structure |
Used by the FLUID_SEQ_SCALE event type.
unsigned int fluid_event_get_sfont_id | ( | fluid_event_t * | evt | ) |
Get the SoundFont ID field from a sequencer event structure.
evt | Sequencer event structure |
Used by the FLUID_SEQ_PROGRAMSELECT event type.
fluid_seq_id_t fluid_event_get_source | ( | fluid_event_t * | evt | ) |
Get the source sequencer client from a sequencer event structure.
evt | Sequencer event structure |
int fluid_event_get_type | ( | fluid_event_t * | evt | ) |
Get the event type (fluid_seq_event_type) field from a sequencer event structure.
evt | Sequencer event structure |
int fluid_event_get_value | ( | fluid_event_t * | evt | ) |
Get the value field from a sequencer event structure.
evt | Sequencer event structure |
The Value field is used by the following event types: FLUID_SEQ_PROGRAMCHANGE, FLUID_SEQ_PROGRAMSELECT (preset_num), FLUID_SEQ_PITCHWHEELSENS, FLUID_SEQ_MODULATION, FLUID_SEQ_SUSTAIN, FLUID_SEQ_CONTROLCHANGE, FLUID_SEQ_PAN, FLUID_SEQ_VOLUME, FLUID_SEQ_REVERBSEND, FLUID_SEQ_CHORUSSEND.
short fluid_event_get_velocity | ( | fluid_event_t * | evt | ) |
Get the MIDI velocity field from a sequencer event structure.
evt | Sequencer event structure |
void fluid_event_key_pressure | ( | fluid_event_t * | evt, |
int | channel, | ||
short | key, | ||
int | val | ||
) |
Set a sequencer event to be a polyphonic aftertouch event.
evt | Sequencer event structure |
channel | MIDI channel number |
key | MIDI note number (0-127) |
val | Aftertouch amount (0-127) |
void fluid_event_modulation | ( | fluid_event_t * | evt, |
int | channel, | ||
int | val | ||
) |
Set a sequencer event to be a modulation event.
evt | Sequencer event structure |
channel | MIDI channel number |
val | MIDI modulation value (0-127) |
void fluid_event_note | ( | fluid_event_t * | evt, |
int | channel, | ||
short | key, | ||
short | vel, | ||
unsigned int | duration | ||
) |
Set a sequencer event to be a note duration event.
Before fluidsynth 2.2.0, this event type was naively implemented when used in conjunction with fluid_sequencer_register_fluidsynth(), because it simply enqueued a fluid_event_noteon() and fluid_event_noteoff(). A handling for overlapping notes was not implemented. Starting with 2.2.0, this changes: If a fluid_event_note() is already playing, while another fluid_event_note() arrives on the same channel
and key
, the earlier event will be canceled.
evt | Sequencer event structure |
channel | MIDI channel number |
key | MIDI note number (0-127) |
vel | MIDI velocity value (1-127) |
duration | Duration of note in the time scale used by the sequencer |
vel
or duration
being zero results in undefined behavior! void fluid_event_noteoff | ( | fluid_event_t * | evt, |
int | channel, | ||
short | key | ||
) |
Set a sequencer event to be a note off event.
evt | Sequencer event structure |
channel | MIDI channel number |
key | MIDI note number (0-127) |
void fluid_event_noteon | ( | fluid_event_t * | evt, |
int | channel, | ||
short | key, | ||
short | vel | ||
) |
Set a sequencer event to be a note on event.
evt | Sequencer event structure |
channel | MIDI channel number |
key | MIDI note number (0-127) |
vel | MIDI velocity value (0-127) |
vel
being zero. void fluid_event_pan | ( | fluid_event_t * | evt, |
int | channel, | ||
int | val | ||
) |
Set a sequencer event to be a stereo pan event.
evt | Sequencer event structure |
channel | MIDI channel number |
val | MIDI panning value (0-127, 0=left, 64 = middle, 127 = right) |
void fluid_event_pitch_bend | ( | fluid_event_t * | evt, |
int | channel, | ||
int | pitch | ||
) |
Set a sequencer event to be a pitch bend event.
evt | Sequencer event structure |
channel | MIDI channel number |
pitch | MIDI pitch bend value (0-16383, 8192 = no bend) |
void fluid_event_pitch_wheelsens | ( | fluid_event_t * | evt, |
int | channel, | ||
int | value | ||
) |
Set a sequencer event to be a pitch wheel sensitivity event.
evt | Sequencer event structure |
channel | MIDI channel number |
value | MIDI pitch wheel sensitivity value in semitones |
void fluid_event_program_change | ( | fluid_event_t * | evt, |
int | channel, | ||
int | val | ||
) |
Set a sequencer event to be a program change event.
evt | Sequencer event structure |
channel | MIDI channel number |
val | MIDI program number (0-127) |
void fluid_event_program_select | ( | fluid_event_t * | evt, |
int | channel, | ||
unsigned int | sfont_id, | ||
short | bank_num, | ||
short | preset_num | ||
) |
Set a sequencer event to be a program select event.
evt | Sequencer event structure |
channel | MIDI channel number |
sfont_id | SoundFont ID number |
bank_num | MIDI bank number (0-16383) |
preset_num | MIDI preset number (0-127) |
void fluid_event_reverb_send | ( | fluid_event_t * | evt, |
int | channel, | ||
int | val | ||
) |
Set a sequencer event to be a reverb send event.
evt | Sequencer event structure |
channel | MIDI channel number |
val | Reverb amount (0-127) |
void fluid_event_scale | ( | fluid_event_t * | evt, |
double | new_scale | ||
) |
Set a sequencer event to be a scale change event.
Useful for scheduling tempo changes.
evt | Sequencer event structure |
new_scale | The new time scale to apply to the sequencer, see fluid_sequencer_set_time_scale() |
void fluid_event_set_dest | ( | fluid_event_t * | evt, |
fluid_seq_id_t | dest | ||
) |
Set destination of this sequencer event, i.e.
the sequencer client this event will be sent to. dest
must be a unique sequencer ID.
evt | Sequencer event structure |
dest | The destination unique sequencer ID |
void fluid_event_set_source | ( | fluid_event_t * | evt, |
fluid_seq_id_t | src | ||
) |
Set source of a sequencer event.
src
must be a unique sequencer ID or -1 if not set.
evt | Sequencer event structure |
src | Unique sequencer ID |
void fluid_event_sustain | ( | fluid_event_t * | evt, |
int | channel, | ||
int | val | ||
) |
Set a sequencer event to be a MIDI sustain event.
evt | Sequencer event structure |
channel | MIDI channel number |
val | MIDI sustain value (0-127) |
void fluid_event_system_reset | ( | fluid_event_t * | evt | ) |
Set a sequencer event to be a midi system reset event.
evt | Sequencer event structure |
void fluid_event_timer | ( | fluid_event_t * | evt, |
void * | data | ||
) |
Set a sequencer event to be a timer event.
evt | Sequencer event structure |
data | User supplied data pointer |
void fluid_event_unregistering | ( | fluid_event_t * | evt | ) |
Set a sequencer event to be an unregistering event.
evt | Sequencer event structure |
void fluid_event_volume | ( | fluid_event_t * | evt, |
int | channel, | ||
int | val | ||
) |
Set a sequencer event to be a volume event.
evt | Sequencer event structure |
channel | MIDI channel number |
val | Volume value (0-127) |
fluid_event_t* new_fluid_event | ( | void | ) |
Create a new sequencer event structure.