Main Page   Data Structures   File List   Data Fields   Globals  

include/fluidsynth/event.h File Reference

Sequencer event functions and defines. More...

Go to the source code of this file.

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_PITCHWHHELSENS, 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_ANYCONTROLCHANGE, FLUID_SEQ_LASTEVENT
}
 Sequencer event type enumeration. More...


Functions

FLUIDSYNTH_API fluid_event_t * new_fluid_event (void)
 Create a new sequencer event structure. More...

FLUIDSYNTH_API void delete_fluid_event (fluid_event_t *evt)
 Delete a sequencer event structure. More...

FLUIDSYNTH_API void fluid_event_set_source (fluid_event_t *evt, short src)
 Set source of a sequencer event (DOCME). More...

FLUIDSYNTH_API void fluid_event_set_dest (fluid_event_t *evt, short dest)
 Set destination of a sequencer event (DOCME). More...

FLUIDSYNTH_API void fluid_event_timer (fluid_event_t *evt, void *data)
 Set a sequencer event to be a timer event. More...

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

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

FLUIDSYNTH_API void fluid_event_noteoff (fluid_event_t *evt, int channel, short key)
 Set a sequencer event to be a note off event. More...

FLUIDSYNTH_API void fluid_event_all_sounds_off (fluid_event_t *evt, int channel)
 Set a sequencer event to be an all sounds off event. More...

FLUIDSYNTH_API void fluid_event_all_notes_off (fluid_event_t *evt, int channel)
 Set a sequencer event to be a all notes off event. More...

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

FLUIDSYNTH_API void fluid_event_program_change (fluid_event_t *evt, int channel, short preset_num)
 Set a sequencer event to be a program change event. More...

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

FLUIDSYNTH_API void fluid_event_control_change (fluid_event_t *evt, int channel, short control, short val)
 Set a sequencer event to be a MIDI control change event. More...

FLUIDSYNTH_API void fluid_event_pitch_bend (fluid_event_t *evt, int channel, int val)
 Set a sequencer event to be a pitch bend event. More...

FLUIDSYNTH_API void fluid_event_pitch_wheelsens (fluid_event_t *evt, int channel, short val)
 Set a sequencer event to be a pitch wheel sensitivity event. More...

FLUIDSYNTH_API void fluid_event_modulation (fluid_event_t *evt, int channel, short val)
 Set a sequencer event to be a modulation event. More...

FLUIDSYNTH_API void fluid_event_sustain (fluid_event_t *evt, int channel, short val)
 Set a sequencer event to be a MIDI sustain event. More...

FLUIDSYNTH_API void fluid_event_pan (fluid_event_t *evt, int channel, short val)
 Set a sequencer event to be a stereo pan event. More...

FLUIDSYNTH_API void fluid_event_volume (fluid_event_t *evt, int channel, short val)
 Set a sequencer event to be a volume event. More...

FLUIDSYNTH_API void fluid_event_reverb_send (fluid_event_t *evt, int channel, short val)
 Set a sequencer event to be a reverb send event. More...

FLUIDSYNTH_API void fluid_event_chorus_send (fluid_event_t *evt, int channel, short val)
 Set a sequencer event to be a chorus send event. More...

FLUIDSYNTH_API void fluid_event_any_control_change (fluid_event_t *evt, int channel)
 Set a sequencer event to be an any control change event. More...

FLUIDSYNTH_API int fluid_event_get_type (fluid_event_t *evt)
 Get the event type (fluid_seq_event_type) field from a sequencer event structure. More...

FLUIDSYNTH_API short fluid_event_get_source (fluid_event_t *evt)
 Get the source field from a sequencer event structure. More...

FLUIDSYNTH_API short fluid_event_get_dest (fluid_event_t *evt)
 Get the dest field from a sequencer event structure. More...

FLUIDSYNTH_API int fluid_event_get_channel (fluid_event_t *evt)
 Get the MIDI channel field from a sequencer event structure. More...

FLUIDSYNTH_API short fluid_event_get_key (fluid_event_t *evt)
 Get the MIDI note field from a sequencer event structure. More...

FLUIDSYNTH_API short fluid_event_get_velocity (fluid_event_t *evt)
 Get the MIDI velocity field from a sequencer event structure. More...

FLUIDSYNTH_API short fluid_event_get_control (fluid_event_t *evt)
 Get the MIDI control number field from a sequencer event structure. More...

FLUIDSYNTH_API short fluid_event_get_value (fluid_event_t *evt)
 Get the value field from a sequencer event structure. More...

FLUIDSYNTH_API short fluid_event_get_program (fluid_event_t *evt)
 Get the MIDI program field from a sequencer event structure. More...

FLUIDSYNTH_API void * fluid_event_get_data (fluid_event_t *evt)
 Get the data field from a sequencer event structure. More...

FLUIDSYNTH_API unsigned int fluid_event_get_duration (fluid_event_t *evt)
 Get the duration field from a sequencer event structure. More...

FLUIDSYNTH_API short fluid_event_get_bank (fluid_event_t *evt)
 Get the MIDI bank field from a sequencer event structure. More...

FLUIDSYNTH_API int fluid_event_get_pitch (fluid_event_t *evt)
 Get the pitch field from a sequencer event structure. More...

FLUIDSYNTH_API unsigned int fluid_event_get_sfont_id (fluid_event_t *evt)
 Get the SoundFont ID field from a sequencer event structure. More...


Detailed Description

Sequencer event functions and defines.

Functions and constants for creating/processing sequencer events.

Definition in file event.h.


Enumeration Type Documentation

enum fluid_seq_event_type
 

Sequencer event type enumeration.

Enumeration values:
FLUID_SEQ_NOTE  Note event (DOCME).
FLUID_SEQ_NOTEON  Note on event.
FLUID_SEQ_NOTEOFF  Note off event.
FLUID_SEQ_ALLSOUNDSOFF  All sounds off event.
FLUID_SEQ_ALLNOTESOFF  All notes off event.
FLUID_SEQ_BANKSELECT  Bank select message.
FLUID_SEQ_PROGRAMCHANGE  Program change message.
FLUID_SEQ_PROGRAMSELECT  Program select message (DOCME).
FLUID_SEQ_PITCHBEND  Pitch bend message.
FLUID_SEQ_PITCHWHHELSENS  Pitch wheel sensitivity set message.
FLUID_SEQ_MODULATION  Modulation controller event.
FLUID_SEQ_SUSTAIN  Sustain controller event.
FLUID_SEQ_CONTROLCHANGE  MIDI control change event.
FLUID_SEQ_PAN  Stereo pan set event.
FLUID_SEQ_VOLUME  Volume set event.
FLUID_SEQ_REVERBSEND  Reverb send set event.
FLUID_SEQ_CHORUSSEND  Chorus send set event.
FLUID_SEQ_TIMER  Timer event (DOCME).
FLUID_SEQ_ANYCONTROLCHANGE  DOCME (used for remove_events only).
FLUID_SEQ_LASTEVENT  Defines the count of event enums.

Definition at line 38 of file event.h.


Function Documentation

FLUIDSYNTH_API fluid_event_t* new_fluid_event void   
 

Create a new sequencer event structure.

Returns:
New sequencer event structure or NULL if out of memory

Definition at line 46 of file fluid_event.c.

FLUIDSYNTH_API void delete_fluid_event fluid_event_t *    evt
 

Delete a sequencer event structure.

Parameters:
evt  Sequencer event structure created by new_fluid_event().

Definition at line 71 of file fluid_event.c.

FLUIDSYNTH_API void fluid_event_set_source fluid_event_t *    evt,
short    src
 

Set source of a sequencer event (DOCME).

Parameters:
evt  Sequencer event structure
src  DOCME

Definition at line 99 of file fluid_event.c.

FLUIDSYNTH_API void fluid_event_set_dest fluid_event_t *    evt,
short    dest
 

Set destination of a sequencer event (DOCME).

Parameters:
evt  Sequencer event structure
dest  DOCME

Definition at line 110 of file fluid_event.c.

FLUIDSYNTH_API void fluid_event_timer fluid_event_t *    evt,
void *    data
 

Set a sequencer event to be a timer event.

Parameters:
evt  Sequencer event structure
data  DOCME

Definition at line 121 of file fluid_event.c.

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

Parameters:
evt  Sequencer event structure
channel  MIDI channel number
key  MIDI note number (0-127)
vel  MIDI velocity value (0-127)
duration  Duration of note (DOCME units?)

Definition at line 166 of file fluid_event.c.

FLUIDSYNTH_API void fluid_event_noteon fluid_event_t *    evt,
int    channel,
short    key,
short    vel
 

Set a sequencer event to be a note on event.

Parameters:
evt  Sequencer event structure
channel  MIDI channel number
key  MIDI note number (0-127)
vel  MIDI velocity value (0-127)

Definition at line 135 of file fluid_event.c.

FLUIDSYNTH_API void fluid_event_noteoff fluid_event_t *    evt,
int    channel,
short    key
 

Set a sequencer event to be a note off event.

Parameters:
evt  Sequencer event structure
channel  MIDI channel number
key  MIDI note number (0-127)

Definition at line 150 of file fluid_event.c.

FLUIDSYNTH_API void fluid_event_all_sounds_off fluid_event_t *    evt,
int    channel
 

Set a sequencer event to be an all sounds off event.

Parameters:
evt  Sequencer event structure
channel  MIDI channel number

Definition at line 181 of file fluid_event.c.

FLUIDSYNTH_API void fluid_event_all_notes_off fluid_event_t *    evt,
int    channel
 

Set a sequencer event to be a all notes off event.

Parameters:
evt  Sequencer event structure
channel  MIDI channel number

Definition at line 193 of file fluid_event.c.

FLUIDSYNTH_API void fluid_event_bank_select fluid_event_t *    evt,
int    channel,
short    bank_num
 

Set a sequencer event to be a bank select event.

Parameters:
evt  Sequencer event structure
channel  MIDI channel number
bank_num  MIDI bank number (0-16383)

Definition at line 206 of file fluid_event.c.

FLUIDSYNTH_API void fluid_event_program_change fluid_event_t *    evt,
int    channel,
short    val
 

Set a sequencer event to be a program change event.

Parameters:
evt  Sequencer event structure
channel  MIDI channel number
val  MIDI program number (0-127)

Definition at line 220 of file fluid_event.c.

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

Parameters:
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)

Definition at line 236 of file fluid_event.c.

FLUIDSYNTH_API void fluid_event_control_change fluid_event_t *    evt,
int    channel,
short    control,
short    val
 

Set a sequencer event to be a MIDI control change event.

Parameters:
evt  Sequencer event structure
channel  MIDI channel number
control  MIDI control number (0-127)
val  MIDI control value (0-16383 DOCME is that true?)

Definition at line 329 of file fluid_event.c.

FLUIDSYNTH_API void fluid_event_pitch_bend fluid_event_t *    evt,
int    channel,
int    pitch
 

Set a sequencer event to be a pitch bend event.

Parameters:
evt  Sequencer event structure
channel  MIDI channel number
pitch  MIDI pitch bend value (0-16383, 8192 = no bend)

Definition at line 266 of file fluid_event.c.

FLUIDSYNTH_API void fluid_event_pitch_wheelsens fluid_event_t *    evt,
int    channel,
short    value
 

Set a sequencer event to be a pitch wheel sensitivity event.

Parameters:
evt  Sequencer event structure
channel  MIDI channel number
value  MIDI pitch wheel sensitivity value (DOCME units?)

Definition at line 282 of file fluid_event.c.

FLUIDSYNTH_API void fluid_event_modulation fluid_event_t *    evt,
int    channel,
short    val
 

Set a sequencer event to be a modulation event.

Parameters:
evt  Sequencer event structure
channel  MIDI channel number
val  MIDI modulation value (0-127)

Definition at line 296 of file fluid_event.c.

FLUIDSYNTH_API void fluid_event_sustain fluid_event_t *    evt,
int    channel,
short    val
 

Set a sequencer event to be a MIDI sustain event.

Parameters:
evt  Sequencer event structure
channel  MIDI channel number
val  MIDI sustain value (0-127)

Definition at line 312 of file fluid_event.c.

FLUIDSYNTH_API void fluid_event_pan fluid_event_t *    evt,
int    channel,
short    val
 

Set a sequencer event to be a stereo pan event.

Parameters:
evt  Sequencer event structure
channel  MIDI channel number
val  MIDI panning value (0-127, 0=left, 64 = middle, 127 = right)

Definition at line 344 of file fluid_event.c.

FLUIDSYNTH_API void fluid_event_volume fluid_event_t *    evt,
int    channel,
short    val
 

Set a sequencer event to be a volume event.

Parameters:
evt  Sequencer event structure
channel  MIDI channel number
val  Volume value (0-127)

Definition at line 360 of file fluid_event.c.

FLUIDSYNTH_API void fluid_event_reverb_send fluid_event_t *    evt,
int    channel,
short    val
 

Set a sequencer event to be a reverb send event.

Parameters:
evt  Sequencer event structure
channel  MIDI channel number
val  Reverb amount (0-127)

Definition at line 376 of file fluid_event.c.

FLUIDSYNTH_API void fluid_event_chorus_send fluid_event_t *    evt,
int    channel,
short    val
 

Set a sequencer event to be a chorus send event.

Parameters:
evt  Sequencer event structure
channel  MIDI channel number
val  Chorus amount (0-127)

Definition at line 392 of file fluid_event.c.

FLUIDSYNTH_API void fluid_event_any_control_change fluid_event_t *    evt,
int    channel
 

Set a sequencer event to be an any control change event.

Parameters:
evt  Sequencer event structure
channel  MIDI channel number DOCME

Definition at line 253 of file fluid_event.c.

FLUIDSYNTH_API int fluid_event_get_type fluid_event_t *    evt
 

Get the event type (fluid_seq_event_type) field from a sequencer event structure.

Parameters:
evt  Sequencer event structure
Returns:
Event type (fluid_seq_event_type).

Definition at line 411 of file fluid_event.c.

FLUIDSYNTH_API short fluid_event_get_source fluid_event_t *    evt
 

Get the source field from a sequencer event structure.

Parameters:
evt  Sequencer event structure
Returns:
DOCME

Definition at line 431 of file fluid_event.c.

FLUIDSYNTH_API short fluid_event_get_dest fluid_event_t *    evt
 

Get the dest field from a sequencer event structure.

Parameters:
evt  Sequencer event structure
Returns:
DOCME

Definition at line 441 of file fluid_event.c.

FLUIDSYNTH_API int fluid_event_get_channel fluid_event_t *    evt
 

Get the MIDI channel field from a sequencer event structure.

Parameters:
evt  Sequencer event structure
Returns:
MIDI channel number (DOCME 0-15 or more?)

Definition at line 451 of file fluid_event.c.

FLUIDSYNTH_API short fluid_event_get_key fluid_event_t *    evt
 

Get the MIDI note field from a sequencer event structure.

Parameters:
evt  Sequencer event structure
Returns:
MIDI note number (0-127)

Definition at line 461 of file fluid_event.c.

FLUIDSYNTH_API short fluid_event_get_velocity fluid_event_t *    evt
 

Get the MIDI velocity field from a sequencer event structure.

Parameters:
evt  Sequencer event structure
Returns:
MIDI velocity value (0-127)

Definition at line 471 of file fluid_event.c.

FLUIDSYNTH_API short fluid_event_get_control fluid_event_t *    evt
 

Get the MIDI control number field from a sequencer event structure.

Parameters:
evt  Sequencer event structure
Returns:
MIDI control number (0-127)

Definition at line 482 of file fluid_event.c.

FLUIDSYNTH_API short fluid_event_get_value fluid_event_t *    evt
 

Get the value field from a sequencer event structure.

Parameters:
evt  Sequencer event structure
Returns:
Value field of event.
The Value field is used by the following event types: FLUID_SEQ_PROGRAMCHANGE, FLUID_SEQ_PROGRAMSELECT (preset_num), FLUID_SEQ_PITCHWHHELSENS, FLUID_SEQ_MODULATION, FLUID_SEQ_SUSTAIN, FLUID_SEQ_CONTROLCHANGE, FLUID_SEQ_PAN, FLUID_SEQ_VOLUME, FLUID_SEQ_REVERBSEND, FLUID_SEQ_CHORUSSEND.

Definition at line 498 of file fluid_event.c.

FLUIDSYNTH_API short fluid_event_get_program fluid_event_t *    evt
 

Get the MIDI program field from a sequencer event structure.

Parameters:
evt  Sequencer event structure
Returns:
MIDI program number (0-127)
Used by the FLUID_SEQ_PROGRAMCHANGE and FLUID_SEQ_PROGRAMSELECT event types.

Definition at line 561 of file fluid_event.c.

FLUIDSYNTH_API void* fluid_event_get_data fluid_event_t *    evt
 

Get the data field from a sequencer event structure.

Parameters:
evt  Sequencer event structure
Returns:
Data field of event.
Used by the FLUID_SEQ_TIMER event type.

Definition at line 510 of file fluid_event.c.

FLUIDSYNTH_API unsigned int fluid_event_get_duration fluid_event_t *    evt
 

Get the duration field from a sequencer event structure.

Parameters:
evt  Sequencer event structure
Returns:
Note duration value (DOCME units?)
Used by the FLUID_SEQ_NOTE event type.

Definition at line 522 of file fluid_event.c.

FLUIDSYNTH_API short fluid_event_get_bank fluid_event_t *    evt
 

Get the MIDI bank field from a sequencer event structure.

Parameters:
evt  Sequencer event structure
Returns:
MIDI bank number (0-16383)
Used by the FLUID_SEQ_BANKSELECT and FLUID_SEQ_PROGRAMSELECT event types.

Definition at line 535 of file fluid_event.c.

FLUIDSYNTH_API int fluid_event_get_pitch fluid_event_t *    evt
 

Get the pitch field from a sequencer event structure.

Parameters:
evt  Sequencer event structure
Returns:
MIDI pitch bend pitch value (0-16383, 8192 = no bend)
Used by the FLUID_SEQ_PITCHBEND event type.

Definition at line 547 of file fluid_event.c.

FLUIDSYNTH_API unsigned int fluid_event_get_sfont_id fluid_event_t *    evt
 

Get the SoundFont ID field from a sequencer event structure.

Parameters:
evt  Sequencer event structure
Returns:
SoundFont identifier value.
Used by the FLUID_SEQ_PROGRAMSELECT event type.

Definition at line 574 of file fluid_event.c.


Generated on Tue Aug 26 12:20:27 2008 for libfluidsynth by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001