ALSA project - the C library reference
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
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.
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.
const char * snd_seq_name (snd_seq_t *seq)
 get identifier of sequencer handle
snd_seq_type_t snd_seq_type (snd_seq_t *seq)
 get type of sequencer handle
int snd_seq_close (snd_seq_t *handle)
 Close the sequencer.
int snd_seq_poll_descriptors_count (snd_seq_t *handle, short events)
 Returns the number of poll descriptors.
int snd_seq_poll_descriptors (snd_seq_t *handle, struct pollfd *pfds, unsigned int space, short events)
 Get poll descriptors.
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
int snd_seq_nonblock (snd_seq_t *handle, int nonblock)
 Set nonblock mode.
int snd_seq_client_id (snd_seq_t *handle)
 Get the client id.
size_t snd_seq_get_output_buffer_size (snd_seq_t *handle)
 Return the size of output buffer.
size_t snd_seq_get_input_buffer_size (snd_seq_t *handle)
 Return the size of input buffer.
int snd_seq_set_output_buffer_size (snd_seq_t *handle, size_t size)
 Change the size of output buffer.
int snd_seq_set_input_buffer_size (snd_seq_t *handle, size_t size)
 Resize the input buffer.
size_t snd_seq_system_info_sizeof (void)
 Get size of snd_seq_system_info_t.
int snd_seq_system_info_malloc (snd_seq_system_info_t **ptr)
 Allocate an empty snd_seq_system_info_t using standard malloc.
void snd_seq_system_info_free (snd_seq_system_info_t *ptr)
 Frees a previously allocated snd_seq_system_info_t.
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.
int snd_seq_system_info_get_queues (const snd_seq_system_info_t *info)
 Get maximum number of queues.
int snd_seq_system_info_get_clients (const snd_seq_system_info_t *info)
 Get maximum number of clients.
int snd_seq_system_info_get_ports (const snd_seq_system_info_t *info)
 Get maximum number of ports.
int snd_seq_system_info_get_channels (const snd_seq_system_info_t *info)
 Get maximum number of channels.
int snd_seq_system_info_get_cur_clients (const snd_seq_system_info_t *info)
 Get the current number of clients.
int snd_seq_system_info_get_cur_queues (const snd_seq_system_info_t *info)
 Get the current number of queues.
int snd_seq_system_info (snd_seq_t *handle, snd_seq_system_info_t *info)
 obtain the sequencer system information
size_t snd_seq_client_info_sizeof (void)
 get size of snd_seq_client_info_t
int snd_seq_client_info_malloc (snd_seq_client_info_t **ptr)
 allocate an empty snd_seq_client_info_t using standard malloc
void snd_seq_client_info_free (snd_seq_client_info_t *ptr)
 frees a previously allocated snd_seq_client_info_t
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
int snd_seq_client_info_get_client (const snd_seq_client_info_t *info)
 Get client id of a client_info container.
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.
const char * snd_seq_client_info_get_name (snd_seq_client_info_t *info)
 Get the name of a client_info container.
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.
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.
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
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.
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.
void snd_seq_client_info_set_client (snd_seq_client_info_t *info, int client)
 Set the client id of a client_info container.
void snd_seq_client_info_set_name (snd_seq_client_info_t *info, const char *name)
 Set the name of a client_info container.
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.
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.
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
void snd_seq_client_info_event_filter_clear (snd_seq_client_info_t *info)
 Disable event filtering of a client_info container.
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.
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.
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.
int snd_seq_get_client_info (snd_seq_t *handle, snd_seq_client_info_t *info)
 obtain the current client information
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
int snd_seq_set_client_info (snd_seq_t *handle, snd_seq_client_info_t *info)
 set the current client information
int snd_seq_query_next_client (snd_seq_t *handle, snd_seq_client_info_t *info)
 query the next client
size_t snd_seq_client_pool_sizeof (void)
 get size of snd_seq_client_pool_t
int snd_seq_client_pool_malloc (snd_seq_client_pool_t **ptr)
 allocate an empty snd_seq_client_pool_t using standard malloc
void snd_seq_client_pool_free (snd_seq_client_pool_t *ptr)
 frees a previously allocated snd_seq_client_pool_t
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
int snd_seq_client_pool_get_client (const snd_seq_client_pool_t *info)
 Get the client id of a queue_info container.
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.
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.
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.
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.
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.
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.
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.
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.
int snd_seq_get_client_pool (snd_seq_t *handle, snd_seq_client_pool_t *info)
 obtain the pool information of the current client
int snd_seq_set_client_pool (snd_seq_t *handle, snd_seq_client_pool_t *info)
 set the pool information
size_t snd_seq_port_info_sizeof (void)
 get size of snd_seq_port_info_t
int snd_seq_port_info_malloc (snd_seq_port_info_t **ptr)
 allocate an empty snd_seq_port_info_t using standard malloc
void snd_seq_port_info_free (snd_seq_port_info_t *ptr)
 frees a previously allocated snd_seq_port_info_t
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
int snd_seq_port_info_get_client (const snd_seq_port_info_t *info)
 Get client id of a port_info container.
int snd_seq_port_info_get_port (const snd_seq_port_info_t *info)
 Get port id of a port_info container.
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.
const char * snd_seq_port_info_get_name (const snd_seq_port_info_t *info)
 Get the name of a port_info container.
unsigned int snd_seq_port_info_get_capability (const snd_seq_port_info_t *info)
 Get the capability bits of a port_info container.
unsigned int snd_seq_port_info_get_type (const snd_seq_port_info_t *info)
 Get the type bits of a port_info container.
int snd_seq_port_info_get_midi_channels (const snd_seq_port_info_t *info)
 Get the midi channels of a port_info container.
int snd_seq_port_info_get_midi_voices (const snd_seq_port_info_t *info)
 Get the midi voices of a port_info container.
int snd_seq_port_info_get_synth_voices (const snd_seq_port_info_t *info)
 Get the synth voices of a port_info container.
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.
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.
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.
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.
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.
int snd_seq_port_info_get_timestamp_queue (const snd_seq_port_info_t *info)
 Get the queue id to update timestamps.
void snd_seq_port_info_set_client (snd_seq_port_info_t *info, int client)
 Set the client id of a port_info container.
void snd_seq_port_info_set_port (snd_seq_port_info_t *info, int port)
 Set the port id of a port_info container.
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.
void snd_seq_port_info_set_name (snd_seq_port_info_t *info, const char *name)
 Set the name of a port_info container.
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
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.
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
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
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
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.
void snd_seq_port_info_set_timestamping (snd_seq_port_info_t *info, int enable)
 Set the time-stamping mode of the given port.
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.
void snd_seq_port_info_set_timestamp_queue (snd_seq_port_info_t *info, int queue)
 Set the queue id for timestamping.
int snd_seq_create_port (snd_seq_t *handle, snd_seq_port_info_t *info)
 create a sequencer port on the current client
int snd_seq_delete_port (snd_seq_t *handle, int port)
 delete a sequencer port on the current client
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
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
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
int snd_seq_query_next_port (snd_seq_t *handle, snd_seq_port_info_t *info)
 query the next matching port
size_t snd_seq_port_subscribe_sizeof (void)
 get size of snd_seq_port_subscribe_t
int snd_seq_port_subscribe_malloc (snd_seq_port_subscribe_t **ptr)
 allocate an empty snd_seq_port_subscribe_t using standard malloc
void snd_seq_port_subscribe_free (snd_seq_port_subscribe_t *ptr)
 frees a previously allocated snd_seq_port_subscribe_t
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
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.
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.
int snd_seq_port_subscribe_get_queue (const snd_seq_port_subscribe_t *info)
 Get the queue id of a port_subscribe container.
int snd_seq_port_subscribe_get_exclusive (const snd_seq_port_subscribe_t *info)
 Get the exclusive mode of a port_subscribe container.
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.
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.
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.
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.
void snd_seq_port_subscribe_set_queue (snd_seq_port_subscribe_t *info, int q)
 Set the queue id of a port_subscribe container.
void snd_seq_port_subscribe_set_exclusive (snd_seq_port_subscribe_t *info, int val)
 Set the exclusive mode of a port_subscribe container.
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.
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.
int snd_seq_get_port_subscription (snd_seq_t *handle, snd_seq_port_subscribe_t *sub)
 obtain subscription information
int snd_seq_subscribe_port (snd_seq_t *handle, snd_seq_port_subscribe_t *sub)
 subscribe a port connection
int snd_seq_unsubscribe_port (snd_seq_t *handle, snd_seq_port_subscribe_t *sub)
 unsubscribe a connection between ports
size_t snd_seq_query_subscribe_sizeof (void)
 get size of snd_seq_query_subscribe_t
int snd_seq_query_subscribe_malloc (snd_seq_query_subscribe_t **ptr)
 allocate an empty snd_seq_query_subscribe_t using standard malloc
void snd_seq_query_subscribe_free (snd_seq_query_subscribe_t *ptr)
 frees a previously allocated snd_seq_query_subscribe_t
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
int snd_seq_query_subscribe_get_client (const snd_seq_query_subscribe_t *info)
 Get the client id of a query_subscribe container.
int snd_seq_query_subscribe_get_port (const snd_seq_query_subscribe_t *info)
 Get the port id of a query_subscribe container.
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.
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.
int snd_seq_query_subscribe_get_index (const snd_seq_query_subscribe_t *info)
 Get the index of subscriber of a query_subscribe container.
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.
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.
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.
int snd_seq_query_subscribe_get_exclusive (const snd_seq_query_subscribe_t *info)
 Get the exclusive mode of a query_subscribe container.
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.
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.
void snd_seq_query_subscribe_set_client (snd_seq_query_subscribe_t *info, int client)
 Set the client id of a query_subscribe container.
void snd_seq_query_subscribe_set_port (snd_seq_query_subscribe_t *info, int port)
 Set the port id of a query_subscribe container.
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.
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.
void snd_seq_query_subscribe_set_index (snd_seq_query_subscribe_t *info, int _index)
 Set the subscriber's index to be queried.
int snd_seq_query_port_subscribers (snd_seq_t *seq, snd_seq_query_subscribe_t *subs)
 query port subscriber list
size_t snd_seq_queue_info_sizeof (void)
 get size of snd_seq_queue_info_t
int snd_seq_queue_info_malloc (snd_seq_queue_info_t **ptr)
 allocate an empty snd_seq_queue_info_t using standard malloc
void snd_seq_queue_info_free (snd_seq_queue_info_t *ptr)
 frees a previously allocated snd_seq_queue_info_t
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
int snd_seq_queue_info_get_queue (const snd_seq_queue_info_t *info)
 Get the queue id of a queue_info container.
const char * snd_seq_queue_info_get_name (const snd_seq_queue_info_t *info)
 Get the name of a queue_info container.
int snd_seq_queue_info_get_owner (const snd_seq_queue_info_t *info)
 Get the owner client id of a queue_info container.
int snd_seq_queue_info_get_locked (const snd_seq_queue_info_t *info)
 Get the lock status of a queue_info container.
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.
void snd_seq_queue_info_set_name (snd_seq_queue_info_t *info, const char *name)
 Set the name of a queue_info container.
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.
void snd_seq_queue_info_set_locked (snd_seq_queue_info_t *info, int locked)
 Set the lock status of a queue_info container.
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.
int snd_seq_create_queue (snd_seq_t *seq, snd_seq_queue_info_t *info)
 create a queue
int snd_seq_alloc_named_queue (snd_seq_t *seq, const char *name)
 allocate a queue with the specified name
int snd_seq_alloc_queue (snd_seq_t *handle)
 allocate a queue
int snd_seq_free_queue (snd_seq_t *handle, int q)
 delete the specified queue
int snd_seq_get_queue_info (snd_seq_t *seq, int q, snd_seq_queue_info_t *info)
 obtain queue attributes
int snd_seq_set_queue_info (snd_seq_t *seq, int q, snd_seq_queue_info_t *info)
 change the queue attributes
int snd_seq_query_named_queue (snd_seq_t *seq, const char *name)
 query the matching queue with the specified name
int snd_seq_get_queue_usage (snd_seq_t *handle, int q)
 Get the queue usage flag to the client.
int snd_seq_set_queue_usage (snd_seq_t *handle, int q, int used)
 Set the queue usage flag to the client.
size_t snd_seq_queue_status_sizeof (void)
 get size of snd_seq_queue_status_t
int snd_seq_queue_status_malloc (snd_seq_queue_status_t **ptr)
 allocate an empty snd_seq_queue_status_t using standard malloc
void snd_seq_queue_status_free (snd_seq_queue_status_t *ptr)
 frees a previously allocated snd_seq_queue_status_t
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
int snd_seq_queue_status_get_queue (const snd_seq_queue_status_t *info)
 Get the queue id of a queue_status container.
int snd_seq_queue_status_get_events (const snd_seq_queue_status_t *info)
 Get the number of events of a queue_status container.
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.
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.
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.
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
size_t snd_seq_queue_tempo_sizeof (void)
 get size of snd_seq_queue_tempo_t
int snd_seq_queue_tempo_malloc (snd_seq_queue_tempo_t **ptr)
 allocate an empty snd_seq_queue_tempo_t using standard malloc
void snd_seq_queue_tempo_free (snd_seq_queue_tempo_t *ptr)
 frees a previously allocated snd_seq_queue_tempo_t
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
int snd_seq_queue_tempo_get_queue (const snd_seq_queue_tempo_t *info)
 Get the queue id of a queue_status container.
unsigned int snd_seq_queue_tempo_get_tempo (const snd_seq_queue_tempo_t *info)
 Get the tempo of a queue_status container.
int snd_seq_queue_tempo_get_ppq (const snd_seq_queue_tempo_t *info)
 Get the ppq of a queue_status container.
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.
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.
void snd_seq_queue_tempo_set_tempo (snd_seq_queue_tempo_t *info, unsigned int tempo)
 Set the tempo of a queue_status container.
void snd_seq_queue_tempo_set_ppq (snd_seq_queue_tempo_t *info, int ppq)
 Set the ppq of a queue_status container.
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.
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.
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
int snd_seq_set_queue_tempo (snd_seq_t *handle, int q, snd_seq_queue_tempo_t *tempo)
 set the tempo of the queue
size_t snd_seq_queue_timer_sizeof (void)
 get size of snd_seq_queue_timer_t
int snd_seq_queue_timer_malloc (snd_seq_queue_timer_t **ptr)
 allocate an empty snd_seq_queue_timer_t using standard malloc
void snd_seq_queue_timer_free (snd_seq_queue_timer_t *ptr)
 frees a previously allocated snd_seq_queue_timer_t
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
int snd_seq_queue_timer_get_queue (const snd_seq_queue_timer_t *info)
 Get the queue id of a queue_timer container.
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.
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.
unsigned int snd_seq_queue_timer_get_resolution (const snd_seq_queue_timer_t *info)
 Get the timer resolution of a queue_timer container.
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.
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.
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.
int snd_seq_get_queue_timer (snd_seq_t *handle, int q, snd_seq_queue_timer_t *timer)
 obtain the queue timer information
int snd_seq_set_queue_timer (snd_seq_t *handle, int q, snd_seq_queue_timer_t *timer)
 set the queue timer information
int snd_seq_free_event (snd_seq_event_t *ev)
 (DEPRECATED) free an event
ssize_t snd_seq_event_length (snd_seq_event_t *ev)
 calculates the (encoded) byte-stream size of the event
int snd_seq_event_output (snd_seq_t *handle, snd_seq_event_t *ev)
 output an event
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
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
int snd_seq_event_input (snd_seq_t *handle, snd_seq_event_t **ev)
 retrieve an event from sequencer
int snd_seq_event_input_pending (snd_seq_t *seq, int fetch_sequencer)
 check events in input buffer
int snd_seq_drain_output (snd_seq_t *handle)
 drain output buffer to sequencer
int snd_seq_event_output_pending (snd_seq_t *seq)
 return the size of pending events on output buffer
int snd_seq_extract_output (snd_seq_t *handle, snd_seq_event_t **ev)
 extract the first event in output buffer
int snd_seq_drop_output (snd_seq_t *handle)
 remove all events on output buffer
int snd_seq_drop_output_buffer (snd_seq_t *handle)
 remove all events on user-space output buffer
int snd_seq_drop_input (snd_seq_t *handle)
 clear input buffer and and remove events in sequencer queue
int snd_seq_drop_input_buffer (snd_seq_t *handle)
 remove all events on user-space input FIFO
size_t snd_seq_remove_events_sizeof (void)
 get size of snd_seq_remove_events_t
int snd_seq_remove_events_malloc (snd_seq_remove_events_t **ptr)
 allocate an empty snd_seq_remove_events_t using standard malloc
void snd_seq_remove_events_free (snd_seq_remove_events_t *ptr)
 frees a previously allocated snd_seq_remove_events_t
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
unsigned int snd_seq_remove_events_get_condition (const snd_seq_remove_events_t *info)
 Get the removal condition bits.
int snd_seq_remove_events_get_queue (const snd_seq_remove_events_t *info)
 Get the queue as removal condition.
const snd_seq_timestamp_tsnd_seq_remove_events_get_time (const snd_seq_remove_events_t *info)
 Get the event timestamp as removal condition.
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.
int snd_seq_remove_events_get_channel (const snd_seq_remove_events_t *info)
 Get the event channel as removal condition.
int snd_seq_remove_events_get_event_type (const snd_seq_remove_events_t *info)
 Get the event type as removal condition.
int snd_seq_remove_events_get_tag (const snd_seq_remove_events_t *info)
 Get the event tag id as removal condition.
void snd_seq_remove_events_set_condition (snd_seq_remove_events_t *info, unsigned int flags)
 Set the removal condition bits.
void snd_seq_remove_events_set_queue (snd_seq_remove_events_t *info, int queue)
 Set the queue as removal condition.
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.
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.
void snd_seq_remove_events_set_channel (snd_seq_remove_events_t *info, int channel)
 Set the channel as removal condition.
void snd_seq_remove_events_set_event_type (snd_seq_remove_events_t *info, int type)
 Set the event type as removal condition.
void snd_seq_remove_events_set_tag (snd_seq_remove_events_t *info, int tag)
 Set the event tag as removal condition.
int snd_seq_remove_events (snd_seq_t *handle, snd_seq_remove_events_t *info)
 remove events on input/output buffers and pools
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