ALSA Library Reference Manual
Sequencer Middle Level
initialize event record
set destination - following three macros are exclusive
set source port
set scheduling - following three macros are exclusive
set event priority (optional)
set event data type - following two macros are exclusive
set queue control event data
destination is overwritten to Timer port (0:0)
int snd_seq_ev_set_queue_start (snd_seq_event_t * ev, int q)
int snd_seq_ev_set_queue_stop (snd_seq_event_t * ev, int q)
int snd_seq_ev_set_queue_continue (snd_seq_event_t * ev, int q)
int snd_seq_ev_set_queue_tempo (snd_seq_event_t * ev, int q, int tempo)
int snd_seq_ev_set_queue_control (snd_seq_event_t * ev, int type, int q, int value)
int snd_seq_ev_set_queue_pos_real (snd_seq_event_t * ev, int q, snd_seq_real_time_t * rtime)
int snd_seq_ev_set_queue_pos_tick (snd_seq_event_t * ev, int q, snd_seq_tick_time_t tick)
use/unuse a queue
/* set and send a queue control event:
* to send at scheduled time, set the schedule in ev.
* if ev is NULL, event is sent immediately (to output queue).
* Note: to send actually to driver, you need to call snd_seq_flush_event()
* apropriately.
*/
int snd_seq_control_queue (snd_seq_t * seq, int q, int type, int value, snd_seq_event_t * ev)
int snd_seq_start_queue (snd_seq_t * seq, int q, snd_seq_event_t * ev)
int snd_seq_stop_queue (snd_seq_t * seq, int q, snd_seq_event_t * ev)
int snd_seq_continue_queue (snd_seq_t * seq, int q, snd_seq_event_t * ev)
int snd_seq_change_queue_tempo (snd_seq_t * seq, int q, int tempo, snd_seq_event_t * ev)
int snd_seq_setpos_queue (snd_seq_t * seq, int q, snd_seq_timestamp_t * rtime, snd_seq_event_t * ev)
create a port - simple version - return the port number
delete the port
simple subscription between this port and another port
(w/o exclusive & time conversion)
int snd_seq_connect_from (snd_seq_t * seq, int my_port, int src_client, int src_port)
int snd_seq_connect_to (snd_seq_t * seq, int my_port, int dest_client, int dest_port)
int snd_seq_disconnect_from (snd_seq_t * seq, int my_port, int src_client, int src_port)
int snd_seq_disconnect_to (snd_seq_t * seq, int my_port, int dest_client, int dest_port)
set client information
reset client input/output pool
equivalent macros
queue controls
snd_seq_ev_set_queue_control (ev,t,q,val)
snd_seq_ev_set_queue_start (ev,q)
snd_seq_ev_set_queue_stop (ev,q)
snd_seq_ev_set_queue_continue (ev,q)
snd_seq_ev_set_queue_tempo (ev,q,val)
snd_seq_ev_set_queue_pos_real (ev,q,rtime)
snd_seq_ev_set_queue_pos_tick (ev,q,ttime)
snd_seq_start_queue (seq,q,ev)
snd_seq_stop_queue (seq,q,ev)
snd_seq_continue_queue (seq,q,ev)
snd_seq_change_queue_tempo (seq,q,tempo,ev)
macros to set standard event data
snd_seq_ev_set_note(ev,ch,key,vel,dur)
snd_seq_ev_set_noteon(ev,ch,key,vel)
snd_seq_ev_set_noteoff(ev,ch,key,vel)
snd_seq_ev_set_keypress(ev,ch,key,vel)
snd_seq_ev_set_controller(ev,ch,cc,val)
snd_seq_ev_set_pgmchange(ev,ch,val)
snd_seq_ev_set_pitchbend(ev,ch,val)
snd_seq_ev_set_chanpress(ev,ch,val)
snd_seq_ev_set_sysex(ev,datalen,dataptr)