Sequencer Event Definitions
#define SND_SEQ_EVENT_LENGTH_FIXED (0<<2) |
fixed event size
#define SND_SEQ_EVENT_LENGTH_MASK (3<<2) |
mask for event length bits
#define SND_SEQ_EVENT_LENGTH_VARIABLE (1<<2) |
variable event size
#define SND_SEQ_EVENT_LENGTH_VARUSR (2<<2) |
variable event size - user memory space
#define SND_SEQ_PRIORITY_HIGH (1<<4) |
event should be processed before others
#define SND_SEQ_PRIORITY_MASK (1<<4) |
mask for priority bits
#define SND_SEQ_PRIORITY_NORMAL (0<<4) |
normal priority
#define SND_SEQ_TIME_MODE_ABS (0<<1) |
absolute timestamp
#define SND_SEQ_TIME_MODE_MASK (1<<1) |
mask for time mode bits
#define SND_SEQ_TIME_MODE_REL (1<<1) |
relative to current time
#define SND_SEQ_TIME_STAMP_MASK (1<<0) |
mask for timestamp bits
#define SND_SEQ_TIME_STAMP_REAL (1<<0) |
timestamp in real time
#define SND_SEQ_TIME_STAMP_TICK (0<<0) |
Event mode flags
NOTE: only 8 bits available! timestamp in clock ticks
typedef unsigned char snd_seq_event_type_t |
Sequencer event data type
typedef unsigned int snd_seq_tick_time_t |
(MIDI) Tick-time data record
enum snd_seq_event_type |
Sequencer event type
SND_SEQ_EVENT_SYSTEM |
system status; event data type = snd_seq_result_t |
SND_SEQ_EVENT_RESULT |
returned result status; event data type = snd_seq_result_t |
SND_SEQ_EVENT_NOTE |
note on and off with duration; event data type = snd_seq_ev_note_t |
SND_SEQ_EVENT_NOTEON |
note on; event data type = snd_seq_ev_note_t |
SND_SEQ_EVENT_NOTEOFF |
note off; event data type = snd_seq_ev_note_t |
SND_SEQ_EVENT_KEYPRESS |
key pressure change (aftertouch); event data type = snd_seq_ev_note_t |
SND_SEQ_EVENT_CONTROLLER |
controller; event data type = snd_seq_ev_ctrl_t |
SND_SEQ_EVENT_PGMCHANGE |
program change; event data type = snd_seq_ev_ctrl_t |
SND_SEQ_EVENT_CHANPRESS |
channel pressure; event data type = snd_seq_ev_ctrl_t |
SND_SEQ_EVENT_PITCHBEND |
pitchwheel; event data type = snd_seq_ev_ctrl_t; data is from -8192 to 8191) |
SND_SEQ_EVENT_CONTROL14 |
14 bit controller value; event data type = snd_seq_ev_ctrl_t |
SND_SEQ_EVENT_NONREGPARAM |
14 bit NRPN; event data type = snd_seq_ev_ctrl_t |
SND_SEQ_EVENT_REGPARAM |
14 bit RPN; event data type = snd_seq_ev_ctrl_t |
SND_SEQ_EVENT_SONGPOS |
SPP with LSB and MSB values; event data type = snd_seq_ev_ctrl_t |
SND_SEQ_EVENT_SONGSEL |
Song Select with song ID number; event data type = snd_seq_ev_ctrl_t |
SND_SEQ_EVENT_QFRAME |
midi time code quarter frame; event data type = snd_seq_ev_ctrl_t |
SND_SEQ_EVENT_TIMESIGN |
SMF Time Signature event; event data type = snd_seq_ev_ctrl_t |
SND_SEQ_EVENT_KEYSIGN |
SMF Key Signature event; event data type = snd_seq_ev_ctrl_t |
SND_SEQ_EVENT_START |
MIDI Real Time Start message; event data type = snd_seq_ev_queue_control_t |
SND_SEQ_EVENT_CONTINUE |
MIDI Real Time Continue message; event data type = snd_seq_ev_queue_control_t |
SND_SEQ_EVENT_STOP |
MIDI Real Time Stop message; event data type = snd_seq_ev_queue_control_t |
SND_SEQ_EVENT_SETPOS_TICK |
Set tick queue position; event data type = snd_seq_ev_queue_control_t |
SND_SEQ_EVENT_SETPOS_TIME |
Set real-time queue position; event data type = snd_seq_ev_queue_control_t |
SND_SEQ_EVENT_TEMPO |
(SMF) Tempo event; event data type = snd_seq_ev_queue_control_t |
SND_SEQ_EVENT_CLOCK |
MIDI Real Time Clock message; event data type = snd_seq_ev_queue_control_t |
SND_SEQ_EVENT_TICK |
MIDI Real Time Tick message; event data type = snd_seq_ev_queue_control_t |
SND_SEQ_EVENT_QUEUE_SKEW |
Queue timer skew; event data type = snd_seq_ev_queue_control_t |
SND_SEQ_EVENT_SYNC_POS |
Sync position changed; event data type = snd_seq_ev_queue_control_t |
SND_SEQ_EVENT_TUNE_REQUEST |
Tune request; event data type = none |
SND_SEQ_EVENT_RESET |
Reset to power-on state; event data type = none |
SND_SEQ_EVENT_SENSING |
Active sensing event; event data type = none |
SND_SEQ_EVENT_ECHO |
Echo-back event; event data type = any type |
SND_SEQ_EVENT_OSS |
OSS emulation raw event; event data type = any type |
SND_SEQ_EVENT_CLIENT_START |
New client has connected; event data type = snd_seq_addr_t |
SND_SEQ_EVENT_CLIENT_EXIT |
Client has left the system; event data type = snd_seq_addr_t |
SND_SEQ_EVENT_CLIENT_CHANGE |
Client status/info has changed; event data type = snd_seq_addr_t |
SND_SEQ_EVENT_PORT_START |
New port was created; event data type = snd_seq_addr_t |
SND_SEQ_EVENT_PORT_EXIT |
Port was deleted from system; event data type = snd_seq_addr_t |
SND_SEQ_EVENT_PORT_CHANGE |
Port status/info has changed; event data type = snd_seq_addr_t |
SND_SEQ_EVENT_PORT_SUBSCRIBED |
Ports connected; event data type = snd_seq_connect_t |
SND_SEQ_EVENT_PORT_UNSUBSCRIBED |
Ports disconnected; event data type = snd_seq_connect_t |
SND_SEQ_EVENT_USR0 |
user-defined event; event data type = any (fixed size) |
SND_SEQ_EVENT_USR1 |
user-defined event; event data type = any (fixed size) |
SND_SEQ_EVENT_USR2 |
user-defined event; event data type = any (fixed size) |
SND_SEQ_EVENT_USR3 |
user-defined event; event data type = any (fixed size) |
SND_SEQ_EVENT_USR4 |
user-defined event; event data type = any (fixed size) |
SND_SEQ_EVENT_USR5 |
user-defined event; event data type = any (fixed size) |
SND_SEQ_EVENT_USR6 |
user-defined event; event data type = any (fixed size) |
SND_SEQ_EVENT_USR7 |
user-defined event; event data type = any (fixed size) |
SND_SEQ_EVENT_USR8 |
user-defined event; event data type = any (fixed size) |
SND_SEQ_EVENT_USR9 |
user-defined event; event data type = any (fixed size) |
SND_SEQ_EVENT_SYSEX |
system exclusive data (variable length); event data type = snd_seq_ev_ext_t |
SND_SEQ_EVENT_BOUNCE |
error event; event data type = snd_seq_ev_ext_t |
SND_SEQ_EVENT_USR_VAR0 |
reserved for user apps; event data type = snd_seq_ev_ext_t |
SND_SEQ_EVENT_USR_VAR1 |
reserved for user apps; event data type = snd_seq_ev_ext_t |
SND_SEQ_EVENT_USR_VAR2 |
reserved for user apps; event data type = snd_seq_ev_ext_t |
SND_SEQ_EVENT_USR_VAR3 |
reserved for user apps; event data type = snd_seq_ev_ext_t |
SND_SEQ_EVENT_USR_VAR4 |
reserved for user apps; event data type = snd_seq_ev_ext_t |
SND_SEQ_EVENT_NONE |
NOP; ignored in any case |