Sequencer Event Definitions
[MIDI Sequencer]


Data Structures

struct  snd_seq_addr
struct  snd_seq_connect
struct  snd_seq_real_time
union  snd_seq_timestamp
struct  snd_seq_ev_note
struct  snd_seq_ev_ctrl
struct  snd_seq_ev_raw8
struct  snd_seq_ev_raw32
struct  snd_seq_ev_ext
struct  snd_seq_instr
struct  snd_seq_ev_sample
struct  snd_seq_ev_cluster
struct  snd_seq_ev_volume
struct  snd_seq_ev_loop
struct  snd_seq_ev_sample_control
struct  snd_seq_ev_instr_begin
struct  snd_seq_result
struct  snd_seq_queue_skew
struct  snd_seq_ev_queue_control
struct  snd_seq_event

Defines

#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 snd_seq_addr snd_seq_addr_t
typedef snd_seq_connect snd_seq_connect_t
typedef snd_seq_real_time snd_seq_real_time_t
typedef unsigned int snd_seq_tick_time_t
typedef snd_seq_timestamp snd_seq_timestamp_t
typedef snd_seq_ev_note snd_seq_ev_note_t
typedef snd_seq_ev_ctrl snd_seq_ev_ctrl_t
typedef snd_seq_ev_raw8 snd_seq_ev_raw8_t
typedef snd_seq_ev_raw32 snd_seq_ev_raw32_t
typedef snd_seq_ev_ext snd_seq_ev_ext_t
typedef unsigned int snd_seq_instr_cluster_t
typedef snd_seq_instr snd_seq_instr_t
typedef snd_seq_ev_sample snd_seq_ev_sample_t
typedef snd_seq_ev_cluster snd_seq_ev_cluster_t
typedef unsigned int snd_seq_position_t
typedef enum snd_seq_stop_mode snd_seq_stop_mode_t
typedef int snd_seq_frequency_t
typedef snd_seq_ev_volume snd_seq_ev_volume_t
typedef snd_seq_ev_loop snd_seq_ev_loop_t
typedef snd_seq_ev_sample_control snd_seq_ev_sample_control_t
typedef snd_seq_ev_instr_begin snd_seq_ev_instr_begin_t
typedef snd_seq_result snd_seq_result_t
typedef snd_seq_queue_skew snd_seq_queue_skew_t
typedef snd_seq_ev_queue_control snd_seq_ev_queue_control_t
typedef snd_seq_event snd_seq_event_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_SAMPLE = 70, SND_SEQ_EVENT_SAMPLE_CLUSTER, SND_SEQ_EVENT_SAMPLE_START,
  SND_SEQ_EVENT_SAMPLE_STOP, SND_SEQ_EVENT_SAMPLE_FREQ, SND_SEQ_EVENT_SAMPLE_VOLUME, SND_SEQ_EVENT_SAMPLE_LOOP,
  SND_SEQ_EVENT_SAMPLE_POSITION, SND_SEQ_EVENT_SAMPLE_PRIVATE1, 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_INSTR_BEGIN = 100, SND_SEQ_EVENT_INSTR_END, SND_SEQ_EVENT_INSTR_INFO, SND_SEQ_EVENT_INSTR_INFO_RESULT,
  SND_SEQ_EVENT_INSTR_FINFO, SND_SEQ_EVENT_INSTR_FINFO_RESULT, SND_SEQ_EVENT_INSTR_RESET, SND_SEQ_EVENT_INSTR_STATUS,
  SND_SEQ_EVENT_INSTR_STATUS_RESULT, SND_SEQ_EVENT_INSTR_PUT, SND_SEQ_EVENT_INSTR_GET, SND_SEQ_EVENT_INSTR_GET_RESULT,
  SND_SEQ_EVENT_INSTR_FREE, SND_SEQ_EVENT_INSTR_LIST, SND_SEQ_EVENT_INSTR_LIST_RESULT, SND_SEQ_EVENT_INSTR_CLUSTER,
  SND_SEQ_EVENT_INSTR_CLUSTER_GET, SND_SEQ_EVENT_INSTR_CLUSTER_RESULT, SND_SEQ_EVENT_INSTR_CHANGE, 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
}
enum  snd_seq_stop_mode { SND_SEQ_SAMPLE_STOP_IMMEDIATELY = 0, SND_SEQ_SAMPLE_STOP_VENVELOPE = 1, SND_SEQ_SAMPLE_STOP_LOOP = 2 }

Detailed Description

Sequencer Event Definitions

Define 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

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


Enumeration Type Documentation

enum 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_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

sample stop mode

Enumerator:
SND_SEQ_SAMPLE_STOP_IMMEDIATELY  terminate playing immediately
SND_SEQ_SAMPLE_STOP_VENVELOPE  finish volume envelope
SND_SEQ_SAMPLE_STOP_LOOP  terminate loop and finish wave


Generated on Tue Apr 10 08:32:01 2007 for ALSA project - the C library reference by  doxygen 1.5.1