ALSA project - the C library reference
Macros | Typedefs | Enumerations | Functions | Variables
seq.h File Reference

Application interface library for the ALSA driver. More...

Go to the source code of this file.

Macros

#define SND_SEQ_DLSYM_VERSION   _dlsym_seq_001
 
#define SND_SEQ_OPEN_OUTPUT   1
 
#define SND_SEQ_OPEN_INPUT   2
 
#define SND_SEQ_OPEN_DUPLEX   (SND_SEQ_OPEN_OUTPUT|SND_SEQ_OPEN_INPUT)
 
#define SND_SEQ_NONBLOCK   0x0001
 
#define SND_SEQ_ADDRESS_UNKNOWN   253
 
#define SND_SEQ_ADDRESS_SUBSCRIBERS   254
 
#define SND_SEQ_ADDRESS_BROADCAST   255
 
#define SND_SEQ_CLIENT_SYSTEM   0
 
#define snd_seq_system_info_alloca(ptr)    __snd_alloca(ptr, snd_seq_system_info)
 
#define snd_seq_client_info_alloca(ptr)    __snd_alloca(ptr, snd_seq_client_info)
 
#define snd_seq_client_pool_alloca(ptr)    __snd_alloca(ptr, snd_seq_client_pool)
 
#define SND_SEQ_PORT_SYSTEM_TIMER   0
 
#define SND_SEQ_PORT_SYSTEM_ANNOUNCE   1
 
#define SND_SEQ_PORT_CAP_READ   (1<<0)
 
#define SND_SEQ_PORT_CAP_WRITE   (1<<1)
 
#define SND_SEQ_PORT_CAP_SYNC_READ   (1<<2)
 
#define SND_SEQ_PORT_CAP_SYNC_WRITE   (1<<3)
 
#define SND_SEQ_PORT_CAP_DUPLEX   (1<<4)
 
#define SND_SEQ_PORT_CAP_SUBS_READ   (1<<5)
 
#define SND_SEQ_PORT_CAP_SUBS_WRITE   (1<<6)
 
#define SND_SEQ_PORT_CAP_NO_EXPORT   (1<<7)
 
#define SND_SEQ_PORT_TYPE_SPECIFIC   (1<<0)
 
#define SND_SEQ_PORT_TYPE_MIDI_GENERIC   (1<<1)
 
#define SND_SEQ_PORT_TYPE_MIDI_GM   (1<<2)
 
#define SND_SEQ_PORT_TYPE_MIDI_GS   (1<<3)
 
#define SND_SEQ_PORT_TYPE_MIDI_XG   (1<<4)
 
#define SND_SEQ_PORT_TYPE_MIDI_MT32   (1<<5)
 
#define SND_SEQ_PORT_TYPE_MIDI_GM2   (1<<6)
 
#define SND_SEQ_PORT_TYPE_SYNTH   (1<<10)
 
#define SND_SEQ_PORT_TYPE_DIRECT_SAMPLE   (1<<11)
 
#define SND_SEQ_PORT_TYPE_SAMPLE   (1<<12)
 
#define SND_SEQ_PORT_TYPE_HARDWARE   (1<<16)
 
#define SND_SEQ_PORT_TYPE_SOFTWARE   (1<<17)
 
#define SND_SEQ_PORT_TYPE_SYNTHESIZER   (1<<18)
 
#define SND_SEQ_PORT_TYPE_PORT   (1<<19)
 
#define SND_SEQ_PORT_TYPE_APPLICATION   (1<<20)
 
#define snd_seq_port_info_alloca(ptr)    __snd_alloca(ptr, snd_seq_port_info)
 
#define snd_seq_port_subscribe_alloca(ptr)    __snd_alloca(ptr, snd_seq_port_subscribe)
 
#define snd_seq_query_subscribe_alloca(ptr)    __snd_alloca(ptr, snd_seq_query_subscribe)
 
#define SND_SEQ_QUEUE_DIRECT   253
 
#define snd_seq_queue_info_alloca(ptr)    __snd_alloca(ptr, snd_seq_queue_info)
 
#define snd_seq_queue_status_alloca(ptr)    __snd_alloca(ptr, snd_seq_queue_status)
 
#define snd_seq_queue_tempo_alloca(ptr)    __snd_alloca(ptr, snd_seq_queue_tempo)
 
#define snd_seq_queue_timer_alloca(ptr)    __snd_alloca(ptr, snd_seq_queue_timer)
 
#define SND_SEQ_REMOVE_INPUT   (1<<0)
 
#define SND_SEQ_REMOVE_OUTPUT   (1<<1)
 
#define SND_SEQ_REMOVE_DEST   (1<<2)
 
#define SND_SEQ_REMOVE_DEST_CHANNEL   (1<<3)
 
#define SND_SEQ_REMOVE_TIME_BEFORE   (1<<4)
 
#define SND_SEQ_REMOVE_TIME_AFTER   (1<<5)
 
#define SND_SEQ_REMOVE_TIME_TICK   (1<<6)
 
#define SND_SEQ_REMOVE_EVENT_TYPE   (1<<7)
 
#define SND_SEQ_REMOVE_IGNORE_OFF   (1<<8)
 
#define SND_SEQ_REMOVE_TAG_MATCH   (1<<9)
 
#define snd_seq_remove_events_alloca(ptr)    __snd_alloca(ptr, snd_seq_remove_events)
 
#define _SND_SEQ_TYPE(x)   (1<<(x))
 
#define _SND_SEQ_TYPE_OPT(x)   ((x)<<24)
 
#define snd_seq_type_check(ev, x)   (snd_seq_event_types[(ev)->type] & _SND_SEQ_TYPE(x))
 
#define snd_seq_ev_is_result_type(ev)    snd_seq_type_check(ev, SND_SEQ_EVFLG_RESULT)
 
#define snd_seq_ev_is_note_type(ev)    snd_seq_type_check(ev, SND_SEQ_EVFLG_NOTE)
 
#define snd_seq_ev_is_control_type(ev)    snd_seq_type_check(ev, SND_SEQ_EVFLG_CONTROL)
 
#define snd_seq_ev_is_channel_type(ev)    (snd_seq_event_types[(ev)->type] & (_SND_SEQ_TYPE(SND_SEQ_EVFLG_NOTE) | _SND_SEQ_TYPE(SND_SEQ_EVFLG_CONTROL)))
 
#define snd_seq_ev_is_queue_type(ev)    snd_seq_type_check(ev, SND_SEQ_EVFLG_QUEUE)
 
#define snd_seq_ev_is_message_type(ev)    snd_seq_type_check(ev, SND_SEQ_EVFLG_MESSAGE)
 
#define snd_seq_ev_is_subscribe_type(ev)    snd_seq_type_check(ev, SND_SEQ_EVFLG_CONNECTION)
 
#define snd_seq_ev_is_sample_type(ev)    snd_seq_type_check(ev, SND_SEQ_EVFLG_SAMPLE)
 
#define snd_seq_ev_is_user_type(ev)    snd_seq_type_check(ev, SND_SEQ_EVFLG_USERS)
 
#define snd_seq_ev_is_instr_type(ev)    snd_seq_type_check(ev, SND_SEQ_EVFLG_INSTR)
 
#define snd_seq_ev_is_fixed_type(ev)    snd_seq_type_check(ev, SND_SEQ_EVFLG_FIXED)
 
#define snd_seq_ev_is_variable_type(ev)    snd_seq_type_check(ev, SND_SEQ_EVFLG_VARIABLE)
 
#define snd_seq_ev_is_varusr_type(ev)    snd_seq_type_check(ev, SND_SEQ_EVFLG_VARUSR)
 
#define snd_seq_ev_is_reserved(ev)    (! snd_seq_event_types[(ev)->type])
 
#define snd_seq_ev_is_prior(ev)    (((ev)->flags & SND_SEQ_PRIORITY_MASK) == SND_SEQ_PRIORITY_HIGH)
 
#define snd_seq_ev_length_type(ev)    ((ev)->flags & SND_SEQ_EVENT_LENGTH_MASK)
 
#define snd_seq_ev_is_fixed(ev)    (snd_seq_ev_length_type(ev) == SND_SEQ_EVENT_LENGTH_FIXED)
 
#define snd_seq_ev_is_variable(ev)    (snd_seq_ev_length_type(ev) == SND_SEQ_EVENT_LENGTH_VARIABLE)
 
#define snd_seq_ev_is_varusr(ev)    (snd_seq_ev_length_type(ev) == SND_SEQ_EVENT_LENGTH_VARUSR)
 
#define snd_seq_ev_timestamp_type(ev)    ((ev)->flags & SND_SEQ_TIME_STAMP_MASK)
 
#define snd_seq_ev_is_tick(ev)    (snd_seq_ev_timestamp_type(ev) == SND_SEQ_TIME_STAMP_TICK)
 
#define snd_seq_ev_is_real(ev)    (snd_seq_ev_timestamp_type(ev) == SND_SEQ_TIME_STAMP_REAL)
 
#define snd_seq_ev_timemode_type(ev)    ((ev)->flags & SND_SEQ_TIME_MODE_MASK)
 
#define snd_seq_ev_is_abstime(ev)    (snd_seq_ev_timemode_type(ev) == SND_SEQ_TIME_MODE_ABS)
 
#define snd_seq_ev_is_reltime(ev)    (snd_seq_ev_timemode_type(ev) == SND_SEQ_TIME_MODE_REL)
 
#define snd_seq_ev_is_direct(ev)    ((ev)->queue == SND_SEQ_QUEUE_DIRECT)
 

Typedefs

typedef struct _snd_seq snd_seq_t
 
typedef struct _snd_seq_system_info snd_seq_system_info_t
 
typedef struct _snd_seq_client_info snd_seq_client_info_t
 
typedef struct _snd_seq_client_pool snd_seq_client_pool_t
 
typedef struct _snd_seq_port_info snd_seq_port_info_t
 
typedef struct _snd_seq_port_subscribe snd_seq_port_subscribe_t
 
typedef struct _snd_seq_query_subscribe snd_seq_query_subscribe_t
 
typedef struct _snd_seq_queue_info snd_seq_queue_info_t
 
typedef struct _snd_seq_queue_status snd_seq_queue_status_t
 
typedef struct _snd_seq_queue_tempo snd_seq_queue_tempo_t
 
typedef struct _snd_seq_queue_timer snd_seq_queue_timer_t
 
typedef struct _snd_seq_remove_events snd_seq_remove_events_t
 

Enumerations

enum  snd_seq_type_t { SND_SEQ_TYPE_HW , SND_SEQ_TYPE_SHM , SND_SEQ_TYPE_INET }
 
enum  snd_seq_client_type_t { SND_SEQ_USER_CLIENT = 1 , SND_SEQ_KERNEL_CLIENT = 2 }
 
enum  snd_seq_query_subs_type_t { SND_SEQ_QUERY_SUBS_READ , SND_SEQ_QUERY_SUBS_WRITE }
 
enum  snd_seq_queue_timer_type_t { SND_SEQ_TIMER_ALSA = 0 , SND_SEQ_TIMER_MIDI_CLOCK = 1 , SND_SEQ_TIMER_MIDI_TICK = 2 }
 
enum  {
  SND_SEQ_EVFLG_RESULT , SND_SEQ_EVFLG_NOTE , SND_SEQ_EVFLG_CONTROL , SND_SEQ_EVFLG_QUEUE ,
  SND_SEQ_EVFLG_SYSTEM , SND_SEQ_EVFLG_MESSAGE , SND_SEQ_EVFLG_CONNECTION , SND_SEQ_EVFLG_SAMPLE ,
  SND_SEQ_EVFLG_USERS , SND_SEQ_EVFLG_INSTR , SND_SEQ_EVFLG_QUOTE , SND_SEQ_EVFLG_NONE ,
  SND_SEQ_EVFLG_RAW , SND_SEQ_EVFLG_FIXED , SND_SEQ_EVFLG_VARIABLE , SND_SEQ_EVFLG_VARUSR
}
 
enum  { SND_SEQ_EVFLG_NOTE_ONEARG , SND_SEQ_EVFLG_NOTE_TWOARG }
 
enum  { SND_SEQ_EVFLG_QUEUE_NOARG , SND_SEQ_EVFLG_QUEUE_TICK , SND_SEQ_EVFLG_QUEUE_TIME , SND_SEQ_EVFLG_QUEUE_VALUE }
 

Functions

int snd_seq_open (snd_seq_t **handle, const char *name, int streams, int mode)
 Open the ALSA sequencer. More...
 
int snd_seq_open_lconf (snd_seq_t **handle, const char *name, int streams, int mode, snd_config_t *lconf)
 Open the ALSA sequencer using local configuration. More...
 
const char * snd_seq_name (snd_seq_t *seq)
 get identifier of sequencer handle More...
 
snd_seq_type_t snd_seq_type (snd_seq_t *seq)
 get type of sequencer handle More...
 
int snd_seq_close (snd_seq_t *handle)
 Close the sequencer. More...
 
int snd_seq_poll_descriptors_count (snd_seq_t *handle, short events)
 Returns the number of poll descriptors. More...
 
int snd_seq_poll_descriptors (snd_seq_t *handle, struct pollfd *pfds, unsigned int space, short events)
 Get poll descriptors. More...
 
int snd_seq_poll_descriptors_revents (snd_seq_t *seq, struct pollfd *pfds, unsigned int nfds, unsigned short *revents)
 get returned events from poll descriptors More...
 
int snd_seq_nonblock (snd_seq_t *handle, int nonblock)
 Set nonblock mode. More...
 
int snd_seq_client_id (snd_seq_t *handle)
 Get the client id. More...
 
size_t snd_seq_get_output_buffer_size (snd_seq_t *handle)
 Return the size of output buffer. More...
 
size_t snd_seq_get_input_buffer_size (snd_seq_t *handle)
 Return the size of input buffer. More...
 
int snd_seq_set_output_buffer_size (snd_seq_t *handle, size_t size)
 Change the size of output buffer. More...
 
int snd_seq_set_input_buffer_size (snd_seq_t *handle, size_t size)
 Resize the input buffer. More...
 
size_t snd_seq_system_info_sizeof (void)
 Get size of snd_seq_system_info_t. More...
 
int snd_seq_system_info_malloc (snd_seq_system_info_t **ptr)
 Allocate an empty snd_seq_system_info_t using standard malloc. More...
 
void snd_seq_system_info_free (snd_seq_system_info_t *ptr)
 Frees a previously allocated snd_seq_system_info_t. More...
 
void snd_seq_system_info_copy (snd_seq_system_info_t *dst, const snd_seq_system_info_t *src)
 Copy one snd_seq_system_info_t to another. More...
 
int snd_seq_system_info_get_queues (const snd_seq_system_info_t *info)
 Get maximum number of queues. More...
 
int snd_seq_system_info_get_clients (const snd_seq_system_info_t *info)
 Get maximum number of clients. More...
 
int snd_seq_system_info_get_ports (const snd_seq_system_info_t *info)
 Get maximum number of ports. More...
 
int snd_seq_system_info_get_channels (const snd_seq_system_info_t *info)
 Get maximum number of channels. More...
 
int snd_seq_system_info_get_cur_clients (const snd_seq_system_info_t *info)
 Get the current number of clients. More...
 
int snd_seq_system_info_get_cur_queues (const snd_seq_system_info_t *info)
 Get the current number of queues. More...
 
int snd_seq_system_info (snd_seq_t *handle, snd_seq_system_info_t *info)
 obtain the sequencer system information More...
 
size_t snd_seq_client_info_sizeof (void)
 get size of snd_seq_client_info_t More...
 
int snd_seq_client_info_malloc (snd_seq_client_info_t **ptr)
 allocate an empty snd_seq_client_info_t using standard malloc More...
 
void snd_seq_client_info_free (snd_seq_client_info_t *ptr)
 frees a previously allocated snd_seq_client_info_t More...
 
void snd_seq_client_info_copy (snd_seq_client_info_t *dst, const snd_seq_client_info_t *src)
 copy one snd_seq_client_info_t to another More...
 
int snd_seq_client_info_get_client (const snd_seq_client_info_t *info)
 Get client id of a client_info container. More...
 
snd_seq_client_type_t snd_seq_client_info_get_type (const snd_seq_client_info_t *info)
 Get client type of a client_info container. More...
 
const char * snd_seq_client_info_get_name (snd_seq_client_info_t *info)
 Get the name of a client_info container. More...
 
int snd_seq_client_info_get_broadcast_filter (const snd_seq_client_info_t *info)
 Get the broadcast filter usage of a client_info container. More...
 
int snd_seq_client_info_get_error_bounce (const snd_seq_client_info_t *info)
 Get the error-bounce usage of a client_info container. More...
 
int snd_seq_client_info_get_card (const snd_seq_client_info_t *info)
 Get the sound card number. More...
 
int snd_seq_client_info_get_pid (const snd_seq_client_info_t *info)
 Get the owning PID. More...
 
const unsigned char * snd_seq_client_info_get_event_filter (const snd_seq_client_info_t *info)
 (DEPRECATED) Get the event filter bitmap of a client_info container More...
 
int snd_seq_client_info_get_num_ports (const snd_seq_client_info_t *info)
 Get the number of opened ports of a client_info container. More...
 
int snd_seq_client_info_get_event_lost (const snd_seq_client_info_t *info)
 Get the number of lost events of a client_info container. More...
 
void snd_seq_client_info_set_client (snd_seq_client_info_t *info, int client)
 Set the client id of a client_info container. More...
 
void snd_seq_client_info_set_name (snd_seq_client_info_t *info, const char *name)
 Set the name of a client_info container. More...
 
void snd_seq_client_info_set_broadcast_filter (snd_seq_client_info_t *info, int val)
 Set the broadcast filter usage of a client_info container. More...
 
void snd_seq_client_info_set_error_bounce (snd_seq_client_info_t *info, int val)
 Set the error-bounce usage of a client_info container. More...
 
void snd_seq_client_info_set_event_filter (snd_seq_client_info_t *info, unsigned char *filter)
 (DEPRECATED) Set the event filter bitmap of a client_info container More...
 
void snd_seq_client_info_event_filter_clear (snd_seq_client_info_t *info)
 Disable event filtering of a client_info container. More...
 
void snd_seq_client_info_event_filter_add (snd_seq_client_info_t *info, int event_type)
 Add an event type to the event filtering of a client_info container. More...
 
void snd_seq_client_info_event_filter_del (snd_seq_client_info_t *info, int event_type)
 Remove an event type from the event filtering of a client_info container. More...
 
int snd_seq_client_info_event_filter_check (snd_seq_client_info_t *info, int event_type)
 Check if an event type is present in the event filtering of a client_info container. More...
 
int snd_seq_get_client_info (snd_seq_t *handle, snd_seq_client_info_t *info)
 obtain the current client information More...
 
int snd_seq_get_any_client_info (snd_seq_t *handle, int client, snd_seq_client_info_t *info)
 obtain the information of the given client More...
 
int snd_seq_set_client_info (snd_seq_t *handle, snd_seq_client_info_t *info)
 set the current client information More...
 
int snd_seq_query_next_client (snd_seq_t *handle, snd_seq_client_info_t *info)
 query the next client More...
 
size_t snd_seq_client_pool_sizeof (void)
 get size of snd_seq_client_pool_t More...
 
int snd_seq_client_pool_malloc (snd_seq_client_pool_t **ptr)
 allocate an empty snd_seq_client_pool_t using standard malloc More...
 
void snd_seq_client_pool_free (snd_seq_client_pool_t *ptr)
 frees a previously allocated snd_seq_client_pool_t More...
 
void snd_seq_client_pool_copy (snd_seq_client_pool_t *dst, const snd_seq_client_pool_t *src)
 copy one snd_seq_client_pool_t to another More...
 
int snd_seq_client_pool_get_client (const snd_seq_client_pool_t *info)
 Get the client id of a queue_info container. More...
 
size_t snd_seq_client_pool_get_output_pool (const snd_seq_client_pool_t *info)
 Get the output pool size of a queue_info container. More...
 
size_t snd_seq_client_pool_get_input_pool (const snd_seq_client_pool_t *info)
 Get the input pool size of a queue_info container. More...
 
size_t snd_seq_client_pool_get_output_room (const snd_seq_client_pool_t *info)
 Get the output room size of a queue_info container. More...
 
size_t snd_seq_client_pool_get_output_free (const snd_seq_client_pool_t *info)
 Get the available size on output pool of a queue_info container. More...
 
size_t snd_seq_client_pool_get_input_free (const snd_seq_client_pool_t *info)
 Get the available size on input pool of a queue_info container. More...
 
void snd_seq_client_pool_set_output_pool (snd_seq_client_pool_t *info, size_t size)
 Set the output pool size of a queue_info container. More...
 
void snd_seq_client_pool_set_input_pool (snd_seq_client_pool_t *info, size_t size)
 Set the input pool size of a queue_info container. More...
 
void snd_seq_client_pool_set_output_room (snd_seq_client_pool_t *info, size_t size)
 Set the output room size of a queue_info container. More...
 
int snd_seq_get_client_pool (snd_seq_t *handle, snd_seq_client_pool_t *info)
 obtain the pool information of the current client More...
 
int snd_seq_set_client_pool (snd_seq_t *handle, snd_seq_client_pool_t *info)
 set the pool information More...
 
size_t snd_seq_port_info_sizeof (void)
 get size of snd_seq_port_info_t More...
 
int snd_seq_port_info_malloc (snd_seq_port_info_t **ptr)
 allocate an empty snd_seq_port_info_t using standard malloc More...
 
void snd_seq_port_info_free (snd_seq_port_info_t *ptr)
 frees a previously allocated snd_seq_port_info_t More...
 
void snd_seq_port_info_copy (snd_seq_port_info_t *dst, const snd_seq_port_info_t *src)
 copy one snd_seq_port_info_t to another More...
 
int snd_seq_port_info_get_client (const snd_seq_port_info_t *info)
 Get client id of a port_info container. More...
 
int snd_seq_port_info_get_port (const snd_seq_port_info_t *info)
 Get port id of a port_info container. More...
 
const snd_seq_addr_tsnd_seq_port_info_get_addr (const snd_seq_port_info_t *info)
 Get client/port address of a port_info container. More...
 
const char * snd_seq_port_info_get_name (const snd_seq_port_info_t *info)
 Get the name of a port_info container. More...
 
unsigned int snd_seq_port_info_get_capability (const snd_seq_port_info_t *info)
 Get the capability bits of a port_info container. More...
 
unsigned int snd_seq_port_info_get_type (const snd_seq_port_info_t *info)
 Get the type bits of a port_info container. More...
 
int snd_seq_port_info_get_midi_channels (const snd_seq_port_info_t *info)
 Get the midi channels of a port_info container. More...
 
int snd_seq_port_info_get_midi_voices (const snd_seq_port_info_t *info)
 Get the midi voices of a port_info container. More...
 
int snd_seq_port_info_get_synth_voices (const snd_seq_port_info_t *info)
 Get the synth voices of a port_info container. More...
 
int snd_seq_port_info_get_read_use (const snd_seq_port_info_t *info)
 Get the number of read subscriptions of a port_info container. More...
 
int snd_seq_port_info_get_write_use (const snd_seq_port_info_t *info)
 Get the number of write subscriptions of a port_info container. More...
 
int snd_seq_port_info_get_port_specified (const snd_seq_port_info_t *info)
 Get the port-specified mode of a port_info container. More...
 
int snd_seq_port_info_get_timestamping (const snd_seq_port_info_t *info)
 Get the time-stamping mode of the given port in a port_info container. More...
 
int snd_seq_port_info_get_timestamp_real (const snd_seq_port_info_t *info)
 Get whether the time-stamping of the given port is real-time mode. More...
 
int snd_seq_port_info_get_timestamp_queue (const snd_seq_port_info_t *info)
 Get the queue id to update timestamps. More...
 
void snd_seq_port_info_set_client (snd_seq_port_info_t *info, int client)
 Set the client id of a port_info container. More...
 
void snd_seq_port_info_set_port (snd_seq_port_info_t *info, int port)
 Set the port id of a port_info container. More...
 
void snd_seq_port_info_set_addr (snd_seq_port_info_t *info, const snd_seq_addr_t *addr)
 Set the client/port address of a port_info container. More...
 
void snd_seq_port_info_set_name (snd_seq_port_info_t *info, const char *name)
 Set the name of a port_info container. More...
 
void snd_seq_port_info_set_capability (snd_seq_port_info_t *info, unsigned int capability)
 set the capability bits of a port_info container More...
 
void snd_seq_port_info_set_type (snd_seq_port_info_t *info, unsigned int type)
 Get the type bits of a port_info container. More...
 
void snd_seq_port_info_set_midi_channels (snd_seq_port_info_t *info, int channels)
 set the midi channels of a port_info container More...
 
void snd_seq_port_info_set_midi_voices (snd_seq_port_info_t *info, int voices)
 set the midi voices of a port_info container More...
 
void snd_seq_port_info_set_synth_voices (snd_seq_port_info_t *info, int voices)
 set the synth voices of a port_info container More...
 
void snd_seq_port_info_set_port_specified (snd_seq_port_info_t *info, int val)
 Set the port-specified mode of a port_info container. More...
 
void snd_seq_port_info_set_timestamping (snd_seq_port_info_t *info, int enable)
 Set the time-stamping mode of the given port. More...
 
void snd_seq_port_info_set_timestamp_real (snd_seq_port_info_t *info, int realtime)
 Set whether the timestime is updated in the real-time mode. More...
 
void snd_seq_port_info_set_timestamp_queue (snd_seq_port_info_t *info, int queue)
 Set the queue id for timestamping. More...
 
int snd_seq_create_port (snd_seq_t *handle, snd_seq_port_info_t *info)
 create a sequencer port on the current client More...
 
int snd_seq_delete_port (snd_seq_t *handle, int port)
 delete a sequencer port on the current client More...
 
int snd_seq_get_port_info (snd_seq_t *handle, int port, snd_seq_port_info_t *info)
 obtain the information of a port on the current client More...
 
int snd_seq_get_any_port_info (snd_seq_t *handle, int client, int port, snd_seq_port_info_t *info)
 obtain the information of a port on an arbitrary client More...
 
int snd_seq_set_port_info (snd_seq_t *handle, int port, snd_seq_port_info_t *info)
 set the information of a port on the current client More...
 
int snd_seq_query_next_port (snd_seq_t *handle, snd_seq_port_info_t *info)
 query the next matching port More...
 
size_t snd_seq_port_subscribe_sizeof (void)
 get size of snd_seq_port_subscribe_t More...
 
int snd_seq_port_subscribe_malloc (snd_seq_port_subscribe_t **ptr)
 allocate an empty snd_seq_port_subscribe_t using standard malloc More...
 
void snd_seq_port_subscribe_free (snd_seq_port_subscribe_t *ptr)
 frees a previously allocated snd_seq_port_subscribe_t More...
 
void snd_seq_port_subscribe_copy (snd_seq_port_subscribe_t *dst, const snd_seq_port_subscribe_t *src)
 copy one snd_seq_port_subscribe_t to another More...
 
const snd_seq_addr_tsnd_seq_port_subscribe_get_sender (const snd_seq_port_subscribe_t *info)
 Get sender address of a port_subscribe container. More...
 
const snd_seq_addr_tsnd_seq_port_subscribe_get_dest (const snd_seq_port_subscribe_t *info)
 Get destination address of a port_subscribe container. More...
 
int snd_seq_port_subscribe_get_queue (const snd_seq_port_subscribe_t *info)
 Get the queue id of a port_subscribe container. More...
 
int snd_seq_port_subscribe_get_exclusive (const snd_seq_port_subscribe_t *info)
 Get the exclusive mode of a port_subscribe container. More...
 
int snd_seq_port_subscribe_get_time_update (const snd_seq_port_subscribe_t *info)
 Get the time-update mode of a port_subscribe container. More...
 
int snd_seq_port_subscribe_get_time_real (const snd_seq_port_subscribe_t *info)
 Get the real-time update mode of a port_subscribe container. More...
 
void snd_seq_port_subscribe_set_sender (snd_seq_port_subscribe_t *info, const snd_seq_addr_t *addr)
 Set sender address of a port_subscribe container. More...
 
void snd_seq_port_subscribe_set_dest (snd_seq_port_subscribe_t *info, const snd_seq_addr_t *addr)
 Set destination address of a port_subscribe container. More...
 
void snd_seq_port_subscribe_set_queue (snd_seq_port_subscribe_t *info, int q)
 Set the queue id of a port_subscribe container. More...
 
void snd_seq_port_subscribe_set_exclusive (snd_seq_port_subscribe_t *info, int val)
 Set the exclusive mode of a port_subscribe container. More...
 
void snd_seq_port_subscribe_set_time_update (snd_seq_port_subscribe_t *info, int val)
 Set the time-update mode of a port_subscribe container. More...
 
void snd_seq_port_subscribe_set_time_real (snd_seq_port_subscribe_t *info, int val)
 Set the real-time mode of a port_subscribe container. More...
 
int snd_seq_get_port_subscription (snd_seq_t *handle, snd_seq_port_subscribe_t *sub)
 obtain subscription information More...
 
int snd_seq_subscribe_port (snd_seq_t *handle, snd_seq_port_subscribe_t *sub)
 subscribe a port connection More...
 
int snd_seq_unsubscribe_port (snd_seq_t *handle, snd_seq_port_subscribe_t *sub)
 unsubscribe a connection between ports More...
 
size_t snd_seq_query_subscribe_sizeof (void)
 get size of snd_seq_query_subscribe_t More...
 
int snd_seq_query_subscribe_malloc (snd_seq_query_subscribe_t **ptr)
 allocate an empty snd_seq_query_subscribe_t using standard malloc More...
 
void snd_seq_query_subscribe_free (snd_seq_query_subscribe_t *ptr)
 frees a previously allocated snd_seq_query_subscribe_t More...
 
void snd_seq_query_subscribe_copy (snd_seq_query_subscribe_t *dst, const snd_seq_query_subscribe_t *src)
 copy one snd_seq_query_subscribe_t to another More...
 
int snd_seq_query_subscribe_get_client (const snd_seq_query_subscribe_t *info)
 Get the client id of a query_subscribe container. More...
 
int snd_seq_query_subscribe_get_port (const snd_seq_query_subscribe_t *info)
 Get the port id of a query_subscribe container. More...
 
const snd_seq_addr_tsnd_seq_query_subscribe_get_root (const snd_seq_query_subscribe_t *info)
 Get the client/port address of a query_subscribe container. More...
 
snd_seq_query_subs_type_t snd_seq_query_subscribe_get_type (const snd_seq_query_subscribe_t *info)
 Get the query type of a query_subscribe container. More...
 
int snd_seq_query_subscribe_get_index (const snd_seq_query_subscribe_t *info)
 Get the index of subscriber of a query_subscribe container. More...
 
int snd_seq_query_subscribe_get_num_subs (const snd_seq_query_subscribe_t *info)
 Get the number of subscriptions of a query_subscribe container. More...
 
const snd_seq_addr_tsnd_seq_query_subscribe_get_addr (const snd_seq_query_subscribe_t *info)
 Get the address of subscriber of a query_subscribe container. More...
 
int snd_seq_query_subscribe_get_queue (const snd_seq_query_subscribe_t *info)
 Get the queue id of subscriber of a query_subscribe container. More...
 
int snd_seq_query_subscribe_get_exclusive (const snd_seq_query_subscribe_t *info)
 Get the exclusive mode of a query_subscribe container. More...
 
int snd_seq_query_subscribe_get_time_update (const snd_seq_query_subscribe_t *info)
 Get the time-update mode of a query_subscribe container. More...
 
int snd_seq_query_subscribe_get_time_real (const snd_seq_query_subscribe_t *info)
 Get the real-time update mode of a query_subscribe container. More...
 
void snd_seq_query_subscribe_set_client (snd_seq_query_subscribe_t *info, int client)
 Set the client id of a query_subscribe container. More...
 
void snd_seq_query_subscribe_set_port (snd_seq_query_subscribe_t *info, int port)
 Set the port id of a query_subscribe container. More...
 
void snd_seq_query_subscribe_set_root (snd_seq_query_subscribe_t *info, const snd_seq_addr_t *addr)
 Set the client/port address of a query_subscribe container. More...
 
void snd_seq_query_subscribe_set_type (snd_seq_query_subscribe_t *info, snd_seq_query_subs_type_t type)
 Set the query type of a query_subscribe container. More...
 
void snd_seq_query_subscribe_set_index (snd_seq_query_subscribe_t *info, int _index)
 Set the subscriber's index to be queried. More...
 
int snd_seq_query_port_subscribers (snd_seq_t *seq, snd_seq_query_subscribe_t *subs)
 query port subscriber list More...
 
size_t snd_seq_queue_info_sizeof (void)
 get size of snd_seq_queue_info_t More...
 
int snd_seq_queue_info_malloc (snd_seq_queue_info_t **ptr)
 allocate an empty snd_seq_queue_info_t using standard malloc More...
 
void snd_seq_queue_info_free (snd_seq_queue_info_t *ptr)
 frees a previously allocated snd_seq_queue_info_t More...
 
void snd_seq_queue_info_copy (snd_seq_queue_info_t *dst, const snd_seq_queue_info_t *src)
 copy one snd_seq_queue_info_t to another More...
 
int snd_seq_queue_info_get_queue (const snd_seq_queue_info_t *info)
 Get the queue id of a queue_info container. More...
 
const char * snd_seq_queue_info_get_name (const snd_seq_queue_info_t *info)
 Get the name of a queue_info container. More...
 
int snd_seq_queue_info_get_owner (const snd_seq_queue_info_t *info)
 Get the owner client id of a queue_info container. More...
 
int snd_seq_queue_info_get_locked (const snd_seq_queue_info_t *info)
 Get the lock status of a queue_info container. More...
 
unsigned int snd_seq_queue_info_get_flags (const snd_seq_queue_info_t *info)
 Get the conditional bit flags of a queue_info container. More...
 
void snd_seq_queue_info_set_name (snd_seq_queue_info_t *info, const char *name)
 Set the name of a queue_info container. More...
 
void snd_seq_queue_info_set_owner (snd_seq_queue_info_t *info, int owner)
 Set the owner client id of a queue_info container. More...
 
void snd_seq_queue_info_set_locked (snd_seq_queue_info_t *info, int locked)
 Set the lock status of a queue_info container. More...
 
void snd_seq_queue_info_set_flags (snd_seq_queue_info_t *info, unsigned int flags)
 Set the conditional bit flags of a queue_info container. More...
 
int snd_seq_create_queue (snd_seq_t *seq, snd_seq_queue_info_t *info)
 create a queue More...
 
int snd_seq_alloc_named_queue (snd_seq_t *seq, const char *name)
 allocate a queue with the specified name More...
 
int snd_seq_alloc_queue (snd_seq_t *handle)
 allocate a queue More...
 
int snd_seq_free_queue (snd_seq_t *handle, int q)
 delete the specified queue More...
 
int snd_seq_get_queue_info (snd_seq_t *seq, int q, snd_seq_queue_info_t *info)
 obtain queue attributes More...
 
int snd_seq_set_queue_info (snd_seq_t *seq, int q, snd_seq_queue_info_t *info)
 change the queue attributes More...
 
int snd_seq_query_named_queue (snd_seq_t *seq, const char *name)
 query the matching queue with the specified name More...
 
int snd_seq_get_queue_usage (snd_seq_t *handle, int q)
 Get the queue usage flag to the client. More...
 
int snd_seq_set_queue_usage (snd_seq_t *handle, int q, int used)
 Set the queue usage flag to the client. More...
 
size_t snd_seq_queue_status_sizeof (void)
 get size of snd_seq_queue_status_t More...
 
int snd_seq_queue_status_malloc (snd_seq_queue_status_t **ptr)
 allocate an empty snd_seq_queue_status_t using standard malloc More...
 
void snd_seq_queue_status_free (snd_seq_queue_status_t *ptr)
 frees a previously allocated snd_seq_queue_status_t More...
 
void snd_seq_queue_status_copy (snd_seq_queue_status_t *dst, const snd_seq_queue_status_t *src)
 copy one snd_seq_queue_status_t to another More...
 
int snd_seq_queue_status_get_queue (const snd_seq_queue_status_t *info)
 Get the queue id of a queue_status container. More...
 
int snd_seq_queue_status_get_events (const snd_seq_queue_status_t *info)
 Get the number of events of a queue_status container. More...
 
snd_seq_tick_time_t snd_seq_queue_status_get_tick_time (const snd_seq_queue_status_t *info)
 Get the tick time of a queue_status container. More...
 
const snd_seq_real_time_tsnd_seq_queue_status_get_real_time (const snd_seq_queue_status_t *info)
 Get the real time of a queue_status container. More...
 
unsigned int snd_seq_queue_status_get_status (const snd_seq_queue_status_t *info)
 Get the running status bits of a queue_status container. More...
 
int snd_seq_get_queue_status (snd_seq_t *handle, int q, snd_seq_queue_status_t *status)
 obtain the running state of the queue More...
 
size_t snd_seq_queue_tempo_sizeof (void)
 get size of snd_seq_queue_tempo_t More...
 
int snd_seq_queue_tempo_malloc (snd_seq_queue_tempo_t **ptr)
 allocate an empty snd_seq_queue_tempo_t using standard malloc More...
 
void snd_seq_queue_tempo_free (snd_seq_queue_tempo_t *ptr)
 frees a previously allocated snd_seq_queue_tempo_t More...
 
void snd_seq_queue_tempo_copy (snd_seq_queue_tempo_t *dst, const snd_seq_queue_tempo_t *src)
 copy one snd_seq_queue_tempo_t to another More...
 
int snd_seq_queue_tempo_get_queue (const snd_seq_queue_tempo_t *info)
 Get the queue id of a queue_status container. More...
 
unsigned int snd_seq_queue_tempo_get_tempo (const snd_seq_queue_tempo_t *info)
 Get the tempo of a queue_status container. More...
 
int snd_seq_queue_tempo_get_ppq (const snd_seq_queue_tempo_t *info)
 Get the ppq of a queue_status container. More...
 
unsigned int snd_seq_queue_tempo_get_skew (const snd_seq_queue_tempo_t *info)
 Get the timer skew value of a queue_status container. More...
 
unsigned int snd_seq_queue_tempo_get_skew_base (const snd_seq_queue_tempo_t *info)
 Get the timer skew base value of a queue_status container. More...
 
void snd_seq_queue_tempo_set_tempo (snd_seq_queue_tempo_t *info, unsigned int tempo)
 Set the tempo of a queue_status container. More...
 
void snd_seq_queue_tempo_set_ppq (snd_seq_queue_tempo_t *info, int ppq)
 Set the ppq of a queue_status container. More...
 
void snd_seq_queue_tempo_set_skew (snd_seq_queue_tempo_t *info, unsigned int skew)
 Set the timer skew value of a queue_status container. More...
 
void snd_seq_queue_tempo_set_skew_base (snd_seq_queue_tempo_t *info, unsigned int base)
 Set the timer skew base value of a queue_status container. More...
 
int snd_seq_get_queue_tempo (snd_seq_t *handle, int q, snd_seq_queue_tempo_t *tempo)
 obtain the current tempo of the queue More...
 
int snd_seq_set_queue_tempo (snd_seq_t *handle, int q, snd_seq_queue_tempo_t *tempo)
 set the tempo of the queue More...
 
size_t snd_seq_queue_timer_sizeof (void)
 get size of snd_seq_queue_timer_t More...
 
int snd_seq_queue_timer_malloc (snd_seq_queue_timer_t **ptr)
 allocate an empty snd_seq_queue_timer_t using standard malloc More...
 
void snd_seq_queue_timer_free (snd_seq_queue_timer_t *ptr)
 frees a previously allocated snd_seq_queue_timer_t More...
 
void snd_seq_queue_timer_copy (snd_seq_queue_timer_t *dst, const snd_seq_queue_timer_t *src)
 copy one snd_seq_queue_timer_t to another More...
 
int snd_seq_queue_timer_get_queue (const snd_seq_queue_timer_t *info)
 Get the queue id of a queue_timer container. More...
 
snd_seq_queue_timer_type_t snd_seq_queue_timer_get_type (const snd_seq_queue_timer_t *info)
 Get the timer type of a queue_timer container. More...
 
const snd_timer_id_tsnd_seq_queue_timer_get_id (const snd_seq_queue_timer_t *info)
 Get the timer id of a queue_timer container. More...
 
unsigned int snd_seq_queue_timer_get_resolution (const snd_seq_queue_timer_t *info)
 Get the timer resolution of a queue_timer container. More...
 
void snd_seq_queue_timer_set_type (snd_seq_queue_timer_t *info, snd_seq_queue_timer_type_t type)
 Set the timer type of a queue_timer container. More...
 
void snd_seq_queue_timer_set_id (snd_seq_queue_timer_t *info, const snd_timer_id_t *id)
 Set the timer id of a queue_timer container. More...
 
void snd_seq_queue_timer_set_resolution (snd_seq_queue_timer_t *info, unsigned int resolution)
 Set the timer resolution of a queue_timer container. More...
 
int snd_seq_get_queue_timer (snd_seq_t *handle, int q, snd_seq_queue_timer_t *timer)
 obtain the queue timer information More...
 
int snd_seq_set_queue_timer (snd_seq_t *handle, int q, snd_seq_queue_timer_t *timer)
 set the queue timer information More...
 
int snd_seq_free_event (snd_seq_event_t *ev)
 (DEPRECATED) free an event More...
 
ssize_t snd_seq_event_length (snd_seq_event_t *ev)
 calculates the (encoded) byte-stream size of the event More...
 
int snd_seq_event_output (snd_seq_t *handle, snd_seq_event_t *ev)
 output an event More...
 
int snd_seq_event_output_buffer (snd_seq_t *handle, snd_seq_event_t *ev)
 output an event onto the lib buffer without draining buffer More...
 
int snd_seq_event_output_direct (snd_seq_t *handle, snd_seq_event_t *ev)
 output an event directly to the sequencer NOT through output buffer More...
 
int snd_seq_event_input (snd_seq_t *handle, snd_seq_event_t **ev)
 retrieve an event from sequencer More...
 
int snd_seq_event_input_pending (snd_seq_t *seq, int fetch_sequencer)
 check events in input buffer More...
 
int snd_seq_drain_output (snd_seq_t *handle)
 drain output buffer to sequencer More...
 
int snd_seq_event_output_pending (snd_seq_t *seq)
 return the size of pending events on output buffer More...
 
int snd_seq_extract_output (snd_seq_t *handle, snd_seq_event_t **ev)
 extract the first event in output buffer More...
 
int snd_seq_drop_output (snd_seq_t *handle)
 remove all events on output buffer More...
 
int snd_seq_drop_output_buffer (snd_seq_t *handle)
 remove all events on user-space output buffer More...
 
int snd_seq_drop_input (snd_seq_t *handle)
 clear input buffer and and remove events in sequencer queue More...
 
int snd_seq_drop_input_buffer (snd_seq_t *handle)
 remove all events on user-space input FIFO More...
 
size_t snd_seq_remove_events_sizeof (void)
 get size of snd_seq_remove_events_t More...
 
int snd_seq_remove_events_malloc (snd_seq_remove_events_t **ptr)
 allocate an empty snd_seq_remove_events_t using standard malloc More...
 
void snd_seq_remove_events_free (snd_seq_remove_events_t *ptr)
 frees a previously allocated snd_seq_remove_events_t More...
 
void snd_seq_remove_events_copy (snd_seq_remove_events_t *dst, const snd_seq_remove_events_t *src)
 copy one snd_seq_remove_events_t to another More...
 
unsigned int snd_seq_remove_events_get_condition (const snd_seq_remove_events_t *info)
 Get the removal condition bits. More...
 
int snd_seq_remove_events_get_queue (const snd_seq_remove_events_t *info)
 Get the queue as removal condition. More...
 
const snd_seq_timestamp_tsnd_seq_remove_events_get_time (const snd_seq_remove_events_t *info)
 Get the event timestamp as removal condition. More...
 
const snd_seq_addr_tsnd_seq_remove_events_get_dest (const snd_seq_remove_events_t *info)
 Get the event destination address as removal condition. More...
 
int snd_seq_remove_events_get_channel (const snd_seq_remove_events_t *info)
 Get the event channel as removal condition. More...
 
int snd_seq_remove_events_get_event_type (const snd_seq_remove_events_t *info)
 Get the event type as removal condition. More...
 
int snd_seq_remove_events_get_tag (const snd_seq_remove_events_t *info)
 Get the event tag id as removal condition. More...
 
void snd_seq_remove_events_set_condition (snd_seq_remove_events_t *info, unsigned int flags)
 Set the removal condition bits. More...
 
void snd_seq_remove_events_set_queue (snd_seq_remove_events_t *info, int queue)
 Set the queue as removal condition. More...
 
void snd_seq_remove_events_set_time (snd_seq_remove_events_t *info, const snd_seq_timestamp_t *time)
 Set the timestamp as removal condition. More...
 
void snd_seq_remove_events_set_dest (snd_seq_remove_events_t *info, const snd_seq_addr_t *addr)
 Set the destination address as removal condition. More...
 
void snd_seq_remove_events_set_channel (snd_seq_remove_events_t *info, int channel)
 Set the channel as removal condition. More...
 
void snd_seq_remove_events_set_event_type (snd_seq_remove_events_t *info, int type)
 Set the event type as removal condition. More...
 
void snd_seq_remove_events_set_tag (snd_seq_remove_events_t *info, int tag)
 Set the event tag as removal condition. More...
 
int snd_seq_remove_events (snd_seq_t *handle, snd_seq_remove_events_t *info)
 remove events on input/output buffers and pools More...
 
void snd_seq_set_bit (int nr, void *array)
 set a bit flag
 
void snd_seq_unset_bit (int nr, void *array)
 unset a bit flag
 
int snd_seq_change_bit (int nr, void *array)
 change a bit flag
 
int snd_seq_get_bit (int nr, void *array)
 get a bit flag state
 

Variables

const unsigned int snd_seq_event_types []
 

Detailed Description

Application interface library for the ALSA driver.

Author
Jaroslav Kysela perex.nosp@m.@per.nosp@m.ex.cz
Abramo Bagnara abram.nosp@m.o@al.nosp@m.sa-pr.nosp@m.ojec.nosp@m.t.org
Takashi Iwai tiwai.nosp@m.@sus.nosp@m.e.de
Date
1998-2001