include/fluidsynth/event.h File Reference

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.
FLUIDSYNTH_API void delete_fluid_event (fluid_event_t *evt)
 Delete a sequencer event structure.
FLUIDSYNTH_API void fluid_event_set_source (fluid_event_t *evt, short src)
 Set source of a sequencer event (DOCME).
FLUIDSYNTH_API void fluid_event_set_dest (fluid_event_t *evt, short dest)
 Set destination of a sequencer event (DOCME).
FLUIDSYNTH_API void fluid_event_timer (fluid_event_t *evt, void *data)
 Set a sequencer event to be a timer event.
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.
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.
FLUIDSYNTH_API void fluid_event_noteoff (fluid_event_t *evt, int channel, short key)
 Set a sequencer event to be a note off event.
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.
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.
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.
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.
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.
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.
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.
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.
FLUIDSYNTH_API void fluid_event_modulation (fluid_event_t *evt, int channel, short val)
 Set a sequencer event to be a modulation event.
FLUIDSYNTH_API void fluid_event_sustain (fluid_event_t *evt, int channel, short val)
 Set a sequencer event to be a MIDI sustain event.
FLUIDSYNTH_API void fluid_event_pan (fluid_event_t *evt, int channel, short val)
 Set a sequencer event to be a stereo pan event.
FLUIDSYNTH_API void fluid_event_volume (fluid_event_t *evt, int channel, short val)
 Set a sequencer event to be a volume event.
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.
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.
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.
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.
FLUIDSYNTH_API short fluid_event_get_source (fluid_event_t *evt)
 Get the source field from a sequencer event structure.
FLUIDSYNTH_API short fluid_event_get_dest (fluid_event_t *evt)
 Get the dest field from a sequencer event structure.
FLUIDSYNTH_API int fluid_event_get_channel (fluid_event_t *evt)
 Get the MIDI channel field from a sequencer event structure.
FLUIDSYNTH_API short fluid_event_get_key (fluid_event_t *evt)
 Get the MIDI note field from a sequencer event structure.
FLUIDSYNTH_API short fluid_event_get_velocity (fluid_event_t *evt)
 Get the MIDI velocity field from a sequencer event structure.
FLUIDSYNTH_API short fluid_event_get_control (fluid_event_t *evt)
 Get the MIDI control number field from a sequencer event structure.
FLUIDSYNTH_API short fluid_event_get_value (fluid_event_t *evt)
 Get the value field from a sequencer event structure.
FLUIDSYNTH_API short fluid_event_get_program (fluid_event_t *evt)
 Get the MIDI program field from a sequencer event structure.
FLUIDSYNTH_API void * fluid_event_get_data (fluid_event_t *evt)
 Get the data field from a sequencer event structure.
FLUIDSYNTH_API
unsigned int 
fluid_event_get_duration (fluid_event_t *evt)
 Get the duration field from a sequencer event structure.
FLUIDSYNTH_API short fluid_event_get_bank (fluid_event_t *evt)
 Get the MIDI bank field from a sequencer event structure.
FLUIDSYNTH_API int fluid_event_get_pitch (fluid_event_t *evt)
 Get the pitch field from a sequencer event structure.
FLUIDSYNTH_API
unsigned int 
fluid_event_get_sfont_id (fluid_event_t *evt)
 Get the SoundFont ID field from a sequencer event structure.


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.

Enumerator:
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.

References fluid_log(), FLUID_PANIC, and new_fluid_event().

Referenced by new_fluid_event().

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.

References delete_fluid_event().

Referenced by delete_fluid_event().

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.

References fluid_event_set_source().

Referenced by fluid_event_set_source().

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.

References fluid_event_set_dest().

Referenced by fluid_event_set_dest().

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.

References fluid_event_timer(), and FLUID_SEQ_TIMER.

Referenced by fluid_event_timer().

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.

References fluid_event_note(), and FLUID_SEQ_NOTE.

Referenced by fluid_event_note().

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.

References fluid_event_noteon(), and FLUID_SEQ_NOTEON.

Referenced by fluid_event_noteon().

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.

References fluid_event_noteoff(), and FLUID_SEQ_NOTEOFF.

Referenced by fluid_event_noteoff().

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.

References fluid_event_all_sounds_off(), and FLUID_SEQ_ALLSOUNDSOFF.

Referenced by fluid_event_all_sounds_off().

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.

References fluid_event_all_notes_off(), and FLUID_SEQ_ALLNOTESOFF.

Referenced by fluid_event_all_notes_off().

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.

References fluid_event_bank_select(), and FLUID_SEQ_BANKSELECT.

Referenced by fluid_event_bank_select().

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.

References fluid_event_program_change(), and FLUID_SEQ_PROGRAMCHANGE.

Referenced by fluid_event_program_change().

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.

References fluid_event_program_select(), and FLUID_SEQ_PROGRAMSELECT.

Referenced by fluid_event_program_select().

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.

References fluid_event_control_change(), and FLUID_SEQ_CONTROLCHANGE.

Referenced by fluid_event_control_change().

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.

References fluid_event_pitch_bend(), and FLUID_SEQ_PITCHBEND.

Referenced by fluid_event_pitch_bend().

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.

References fluid_event_pitch_wheelsens(), and FLUID_SEQ_PITCHWHHELSENS.

Referenced by fluid_event_pitch_wheelsens().

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.

References fluid_event_modulation(), and FLUID_SEQ_MODULATION.

Referenced by fluid_event_modulation().

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.

References fluid_event_sustain(), and FLUID_SEQ_SUSTAIN.

Referenced by fluid_event_sustain().

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.

References fluid_event_pan(), and FLUID_SEQ_PAN.

Referenced by fluid_event_pan().

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.

References fluid_event_volume(), and FLUID_SEQ_VOLUME.

Referenced by fluid_event_volume().

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.

References fluid_event_reverb_send(), and FLUID_SEQ_REVERBSEND.

Referenced by fluid_event_reverb_send().

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.

References fluid_event_chorus_send(), and FLUID_SEQ_CHORUSSEND.

Referenced by fluid_event_chorus_send().

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.

References fluid_event_any_control_change(), and FLUID_SEQ_ANYCONTROLCHANGE.

Referenced by fluid_event_any_control_change().

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.

References fluid_event_get_type().

Referenced by fluid_event_get_type().

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.

References fluid_event_get_source().

Referenced by fluid_event_get_source().

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.

References fluid_event_get_dest().

Referenced by fluid_event_get_dest().

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.

References fluid_event_get_channel().

Referenced by fluid_event_get_channel().

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.

References fluid_event_get_key().

Referenced by fluid_event_get_key().

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.

References fluid_event_get_velocity().

Referenced by fluid_event_get_velocity().

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.

References fluid_event_get_control().

Referenced by fluid_event_get_control().

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.

References fluid_event_get_value().

Referenced by fluid_event_get_value().

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.

References fluid_event_get_program().

Referenced by fluid_event_get_program().

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.

References fluid_event_get_data().

Referenced by fluid_event_get_data().

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.

References fluid_event_get_duration().

Referenced by fluid_event_get_duration().

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.

References fluid_event_get_bank().

Referenced by fluid_event_get_bank().

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.

References fluid_event_get_pitch().

Referenced by fluid_event_get_pitch().

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.

References fluid_event_get_sfont_id().

Referenced by fluid_event_get_sfont_id().


Generated on Sat Nov 17 13:40:24 2007 for libfluidsynth by  doxygen 1.5.3