ALSA project - the C library reference
Data Structures | Macros | Typedefs | Enumerations | Functions
Sequencer Event Definitions
Collaboration diagram for Sequencer Event Definitions:

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

◆ SND_SEQ_EVENT_LENGTH_FIXED

#define SND_SEQ_EVENT_LENGTH_FIXED   (0<<2)

fixed event size

◆ SND_SEQ_EVENT_LENGTH_MASK

#define SND_SEQ_EVENT_LENGTH_MASK   (3<<2)

mask for event length bits

◆ SND_SEQ_EVENT_LENGTH_VARIABLE

#define SND_SEQ_EVENT_LENGTH_VARIABLE   (1<<2)

variable event size

◆ SND_SEQ_EVENT_LENGTH_VARUSR

#define SND_SEQ_EVENT_LENGTH_VARUSR   (2<<2)

variable event size - user memory space

◆ SND_SEQ_PRIORITY_HIGH

#define SND_SEQ_PRIORITY_HIGH   (1<<4)

event should be processed before others

◆ SND_SEQ_PRIORITY_MASK

#define SND_SEQ_PRIORITY_MASK   (1<<4)

mask for priority bits

◆ SND_SEQ_PRIORITY_NORMAL

#define SND_SEQ_PRIORITY_NORMAL   (0<<4)

normal priority

◆ SND_SEQ_TIME_MODE_ABS

#define SND_SEQ_TIME_MODE_ABS   (0<<1)

absolute timestamp

◆ SND_SEQ_TIME_MODE_MASK

#define SND_SEQ_TIME_MODE_MASK   (1<<1)

mask for time mode bits

◆ SND_SEQ_TIME_MODE_REL

#define SND_SEQ_TIME_MODE_REL   (1<<1)

relative to current time

◆ SND_SEQ_TIME_STAMP_MASK

#define SND_SEQ_TIME_STAMP_MASK   (1<<0)

mask for timestamp bits

◆ SND_SEQ_TIME_STAMP_REAL

#define SND_SEQ_TIME_STAMP_REAL   (1<<0)

timestamp in real time

◆ SND_SEQ_TIME_STAMP_TICK

#define SND_SEQ_TIME_STAMP_TICK   (0<<0)

Event mode flags

NOTE: only 8 bits available! timestamp in clock ticks

Typedef Documentation

◆ snd_seq_ev_ext_t

external stored data

◆ snd_seq_event_type_t

typedef unsigned char snd_seq_event_type_t

Sequencer event data type

◆ snd_seq_tick_time_t

typedef unsigned int snd_seq_tick_time_t

(MIDI) Tick-time data record

Enumeration Type Documentation

◆ snd_seq_event_type

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