ALSA project - the C library reference
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Enumerations | Functions
Sequencer Event Definitions
MIDI Sequencer

Data Structures

struct  snd_seq_addr_t
struct  snd_seq_connect_t
struct  snd_seq_real_time_t
union  snd_seq_timestamp_t
struct  snd_seq_ev_note_t
struct  snd_seq_ev_ctrl_t
struct  snd_seq_ev_raw8_t
struct  snd_seq_ev_raw32_t
struct  snd_seq_ev_ext_t
struct  snd_seq_result_t
struct  snd_seq_queue_skew_t
struct  snd_seq_ev_queue_control_t
struct  snd_seq_event_t

Macros

#define SND_SEQ_TIME_STAMP_TICK   (0<<0)
#define SND_SEQ_TIME_STAMP_REAL   (1<<0)
#define SND_SEQ_TIME_STAMP_MASK   (1<<0)
#define SND_SEQ_TIME_MODE_ABS   (0<<1)
#define SND_SEQ_TIME_MODE_REL   (1<<1)
#define SND_SEQ_TIME_MODE_MASK   (1<<1)
#define SND_SEQ_EVENT_LENGTH_FIXED   (0<<2)
#define SND_SEQ_EVENT_LENGTH_VARIABLE   (1<<2)
#define SND_SEQ_EVENT_LENGTH_VARUSR   (2<<2)
#define SND_SEQ_EVENT_LENGTH_MASK   (3<<2)
#define SND_SEQ_PRIORITY_NORMAL   (0<<4)
#define SND_SEQ_PRIORITY_HIGH   (1<<4)
#define SND_SEQ_PRIORITY_MASK   (1<<4)

Typedefs

typedef unsigned char snd_seq_event_type_t
typedef unsigned int snd_seq_tick_time_t
typedef snd_seq_ev_ext snd_seq_ev_ext_t

Enumerations

enum  snd_seq_event_type {
  SND_SEQ_EVENT_SYSTEM = 0, SND_SEQ_EVENT_RESULT, SND_SEQ_EVENT_NOTE = 5, SND_SEQ_EVENT_NOTEON,
  SND_SEQ_EVENT_NOTEOFF, SND_SEQ_EVENT_KEYPRESS, SND_SEQ_EVENT_CONTROLLER = 10, SND_SEQ_EVENT_PGMCHANGE,
  SND_SEQ_EVENT_CHANPRESS, SND_SEQ_EVENT_PITCHBEND, SND_SEQ_EVENT_CONTROL14, SND_SEQ_EVENT_NONREGPARAM,
  SND_SEQ_EVENT_REGPARAM, SND_SEQ_EVENT_SONGPOS = 20, SND_SEQ_EVENT_SONGSEL, SND_SEQ_EVENT_QFRAME,
  SND_SEQ_EVENT_TIMESIGN, SND_SEQ_EVENT_KEYSIGN, SND_SEQ_EVENT_START = 30, SND_SEQ_EVENT_CONTINUE,
  SND_SEQ_EVENT_STOP, SND_SEQ_EVENT_SETPOS_TICK, SND_SEQ_EVENT_SETPOS_TIME, SND_SEQ_EVENT_TEMPO,
  SND_SEQ_EVENT_CLOCK, SND_SEQ_EVENT_TICK, SND_SEQ_EVENT_QUEUE_SKEW, SND_SEQ_EVENT_SYNC_POS,
  SND_SEQ_EVENT_TUNE_REQUEST = 40, SND_SEQ_EVENT_RESET, SND_SEQ_EVENT_SENSING, SND_SEQ_EVENT_ECHO = 50,
  SND_SEQ_EVENT_OSS, SND_SEQ_EVENT_CLIENT_START = 60, SND_SEQ_EVENT_CLIENT_EXIT, SND_SEQ_EVENT_CLIENT_CHANGE,
  SND_SEQ_EVENT_PORT_START, SND_SEQ_EVENT_PORT_EXIT, SND_SEQ_EVENT_PORT_CHANGE, SND_SEQ_EVENT_PORT_SUBSCRIBED,
  SND_SEQ_EVENT_PORT_UNSUBSCRIBED, SND_SEQ_EVENT_USR0 = 90, SND_SEQ_EVENT_USR1, SND_SEQ_EVENT_USR2,
  SND_SEQ_EVENT_USR3, SND_SEQ_EVENT_USR4, SND_SEQ_EVENT_USR5, SND_SEQ_EVENT_USR6,
  SND_SEQ_EVENT_USR7, SND_SEQ_EVENT_USR8, SND_SEQ_EVENT_USR9, SND_SEQ_EVENT_SYSEX = 130,
  SND_SEQ_EVENT_BOUNCE, SND_SEQ_EVENT_USR_VAR0 = 135, SND_SEQ_EVENT_USR_VAR1, SND_SEQ_EVENT_USR_VAR2,
  SND_SEQ_EVENT_USR_VAR3, SND_SEQ_EVENT_USR_VAR4, SND_SEQ_EVENT_NONE = 255
}

Functions

struct snd_seq_ev_ext __attribute__ ((packed))

Detailed Description

Sequencer Event Definitions


Macro Definition Documentation

#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 Documentation

external stored data

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


Enumeration Type Documentation

Sequencer event type

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