#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 struct snd_seq_addr snd_seq_addr_t |
Sequencer event address
typedef struct snd_seq_connect snd_seq_connect_t |
Connection (subscription) between ports
typedef struct snd_seq_ev_cluster snd_seq_ev_cluster_t |
sample cluster
typedef struct snd_seq_ev_ctrl snd_seq_ev_ctrl_t |
Controller event
typedef struct snd_seq_ev_ext snd_seq_ev_ext_t |
external stored data
typedef struct snd_seq_ev_instr_begin snd_seq_ev_instr_begin_t |
INSTR_BEGIN event
typedef struct snd_seq_ev_loop snd_seq_ev_loop_t |
simple loop redefinition
typedef struct snd_seq_ev_note snd_seq_ev_note_t |
Note event
typedef struct snd_seq_ev_queue_control snd_seq_ev_queue_control_t |
queue timer control
typedef struct snd_seq_ev_raw32 snd_seq_ev_raw32_t |
generic set of integers (3x32 bit)
typedef struct snd_seq_ev_raw8 snd_seq_ev_raw8_t |
generic set of bytes (12x8 bit)
typedef struct snd_seq_ev_sample_control snd_seq_ev_sample_control_t |
Sample control events
typedef struct snd_seq_ev_sample snd_seq_ev_sample_t |
sample number
typedef struct snd_seq_ev_volume snd_seq_ev_volume_t |
sample volume control; if any value is set to -1 == do not change
typedef struct snd_seq_event snd_seq_event_t |
Sequencer event
typedef unsigned char snd_seq_event_type_t |
Sequencer event data type
typedef int snd_seq_frequency_t |
sample frequency playback frequency in HZ * 16
typedef unsigned int snd_seq_instr_cluster_t |
Instrument cluster type
typedef struct snd_seq_instr snd_seq_instr_t |
Instrument type
typedef unsigned int snd_seq_position_t |
sample position playback position (in samples) * 16
typedef struct snd_seq_queue_skew snd_seq_queue_skew_t |
Queue skew values
typedef struct snd_seq_real_time snd_seq_real_time_t |
Real-time data record
typedef struct snd_seq_result snd_seq_result_t |
Result events
typedef enum snd_seq_stop_mode snd_seq_stop_mode_t |
sample stop mode
typedef unsigned int snd_seq_tick_time_t |
(MIDI) Tick-time data record
typedef union snd_seq_timestamp snd_seq_timestamp_t |
unioned time stamp
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_SAMPLE | Sample select; event data type = snd_seq_ev_sample_control_t |
SND_SEQ_EVENT_SAMPLE_CLUSTER | Sample cluster select; event data type = snd_seq_ev_sample_control_t |
SND_SEQ_EVENT_SAMPLE_START | voice start |
SND_SEQ_EVENT_SAMPLE_STOP | voice stop |
SND_SEQ_EVENT_SAMPLE_FREQ | playback frequency |
SND_SEQ_EVENT_SAMPLE_VOLUME | volume and balance |
SND_SEQ_EVENT_SAMPLE_LOOP | sample loop |
SND_SEQ_EVENT_SAMPLE_POSITION | sample position |
SND_SEQ_EVENT_SAMPLE_PRIVATE1 | private (hardware dependent) event |
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_INSTR_BEGIN | begin of instrument management |
SND_SEQ_EVENT_INSTR_END | end of instrument management |
SND_SEQ_EVENT_INSTR_INFO | query instrument interface info |
SND_SEQ_EVENT_INSTR_INFO_RESULT | result of instrument interface info |
SND_SEQ_EVENT_INSTR_FINFO | query instrument format info |
SND_SEQ_EVENT_INSTR_FINFO_RESULT | result of instrument format info |
SND_SEQ_EVENT_INSTR_RESET | reset instrument instrument memory |
SND_SEQ_EVENT_INSTR_STATUS | get instrument interface status |
SND_SEQ_EVENT_INSTR_STATUS_RESULT | result of instrument interface status |
SND_SEQ_EVENT_INSTR_PUT | put an instrument to port |
SND_SEQ_EVENT_INSTR_GET | get an instrument from port |
SND_SEQ_EVENT_INSTR_GET_RESULT | result of instrument query |
SND_SEQ_EVENT_INSTR_FREE | free instrument(s) |
SND_SEQ_EVENT_INSTR_LIST | get instrument list |
SND_SEQ_EVENT_INSTR_LIST_RESULT | result of instrument list |
SND_SEQ_EVENT_INSTR_CLUSTER | set cluster parameters |
SND_SEQ_EVENT_INSTR_CLUSTER_GET | get cluster parameters |
SND_SEQ_EVENT_INSTR_CLUSTER_RESULT | result of cluster parameters |
SND_SEQ_EVENT_INSTR_CHANGE | instrument change |
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 |
enum snd_seq_stop_mode |