ALSA project - the C library reference
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Typedefs | Enumerations | Functions
Sequencer Client Interface
MIDI Sequencer

Macros

#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)

Typedefs

typedef struct _snd_seq_client_info snd_seq_client_info_t
typedef struct _snd_seq_client_pool snd_seq_client_pool_t

Enumerations

enum  snd_seq_client_type_t { SND_SEQ_USER_CLIENT = 1, SND_SEQ_KERNEL_CLIENT = 2 }

Functions

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

Detailed Description

Sequencer Client Interface


Macro Definition Documentation

#define snd_seq_client_info_alloca (   ptr)    __snd_alloca(ptr, snd_seq_client_info)

allocate a snd_seq_client_info_t container on stack

#define snd_seq_client_pool_alloca (   ptr)    __snd_alloca(ptr, snd_seq_client_pool)

allocate a snd_seq_client_pool_t container on stack


Typedef Documentation

typedef struct _snd_seq_client_info snd_seq_client_info_t

client information container

typedef struct _snd_seq_client_pool snd_seq_client_pool_t

client pool information container


Enumeration Type Documentation

client types

Enumerator:
SND_SEQ_USER_CLIENT 

user client

SND_SEQ_KERNEL_CLIENT 

kernel client


Function Documentation

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

Parameters:
dstpointer to destination
srcpointer to source
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.

Parameters:
infoclient_info container
event_typeevent type to be added

Set the event filtering flag of this client_info and add the specified event type to the filter bitmap of this client_info container.

See also:
snd_seq_get_client_info(), snd_seq_set_client_info(), snd_seq_client_info_event_filter_del(), snd_seq_client_info_event_filter_check(), snd_seq_client_info_event_filter_clear()
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.

Parameters:
infoclient_info container
event_typeevent type to be checked
Returns:
1 if the event type is present, 0 otherwise

Test if the event type is in the filter bitmap of this client_info container.

See also:
snd_seq_get_client_info(), snd_seq_set_client_info(), snd_seq_client_info_event_filter_add(), snd_seq_client_info_event_filter_del(), snd_seq_client_info_event_filter_clear()
void snd_seq_client_info_event_filter_clear ( snd_seq_client_info_t info)

Disable event filtering of a client_info container.

Parameters:
infoclient_info container

Remove all event types added with snd_seq_client_info_event_filter_add and clear the event filtering flag of this client_info container.

See also:
snd_seq_client_info_event_filter_add(), snd_seq_client_info_event_filter_del(), snd_seq_client_info_event_filter_check(), snd_seq_get_client_info(), snd_seq_set_client_info()
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.

Parameters:
infoclient_info container
event_typeevent type to be removed

Removes the specified event from the filter bitmap of this client_info container. It will not clear the event filtering flag, use snd_seq_client_info_event_filter_clear instead.

See also:
snd_seq_get_client_info(), snd_seq_set_client_info(), snd_seq_client_info_event_filter_add(), snd_seq_client_info_event_filter_check(), snd_seq_client_info_event_filter_clear()
void snd_seq_client_info_free ( snd_seq_client_info_t obj)

frees a previously allocated snd_seq_client_info_t

Parameters:
objpointer to object to free
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.

Parameters:
infoclient_info container
Returns:
1 if broadcast is accepted
See also:
snd_seq_get_client_info(), snd_seq_client_info_set_broadcast_filter()
int snd_seq_client_info_get_client ( const snd_seq_client_info_t info)

Get client id of a client_info container.

Parameters:
infoclient_info container
Returns:
client id
See also:
snd_seq_get_client_info(), snd_seq_client_info_set_client(), snd_seq_client_id()
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.

Parameters:
infoclient_info container
Returns:
1 if error-bounce is enabled
See also:
snd_seq_get_client_info(), snd_seq_client_info_set_error_bounce()
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

Parameters:
infoclient_info container
Returns:
NULL if no event filter, or pointer to event filter bitmap

Use snd_seq_client_info_event_filter_check() instead.

See also:
snd_seq_client_info_event_filter_add(), snd_seq_client_info_event_filter_del(), snd_seq_client_info_event_filter_check(), snd_seq_client_info_event_filter_clear(), snd_seq_get_client_info()
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.

Parameters:
infoclient_info container
Returns:
number of lost events
See also:
snd_seq_get_client_info()
const char* snd_seq_client_info_get_name ( snd_seq_client_info_t info)

Get the name of a client_info container.

Parameters:
infoclient_info container
Returns:
name string
See also:
snd_seq_get_client_info(), snd_seq_client_info_set_name()
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.

Parameters:
infoclient_info container
Returns:
number of opened ports
See also:
snd_seq_get_client_info()
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.

Parameters:
infoclient_info container
Returns:
client type

The client type is either SND_SEQ_KERNEL_CLIENT or SND_SEQ_USER_CLIENT for kernel or user client respectively.

See also:
snd_seq_get_client_info()
int snd_seq_client_info_malloc ( snd_seq_client_info_t **  ptr)

allocate an empty snd_seq_client_info_t using standard malloc

Parameters:
ptrreturned pointer
Returns:
0 on success otherwise negative error code
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.

Parameters:
infoclient_info container
valnon-zero if broadcast is accepted
See also:
snd_seq_get_client_info(), snd_seq_client_info_get_broadcast_filter()
void snd_seq_client_info_set_client ( snd_seq_client_info_t info,
int  client 
)

Set the client id of a client_info container.

Parameters:
infoclient_info container
clientclient id
See also:
snd_seq_get_client_info(), snd_seq_client_info_get_client()
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.

Parameters:
infoclient_info container
valnon-zero if error is bounced
See also:
snd_seq_get_client_info(), snd_seq_client_info_get_error_bounce()
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

Parameters:
infoclient_info container
filterevent filter bitmap, pass NULL for no event filtering

Use snd_seq_client_info_event_filter_add instead.

See also:
snd_seq_client_info_event_filter_add(), snd_seq_client_info_event_filter_del(), snd_seq_client_info_event_filter_check(), snd_seq_client_info_event_filter_clear(), snd_seq_set_client_info()
void snd_seq_client_info_set_name ( snd_seq_client_info_t info,
const char *  name 
)

Set the name of a client_info container.

Parameters:
infoclient_info container
namename string
See also:
snd_seq_get_client_info(), snd_seq_client_info_get_name(), snd_seq_set_client_name()
size_t snd_seq_client_info_sizeof ( void  )

get size of snd_seq_client_info_t

Returns:
size in bytes
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

Parameters:
dstpointer to destination
srcpointer to source
void snd_seq_client_pool_free ( snd_seq_client_pool_t obj)

frees a previously allocated snd_seq_client_pool_t

Parameters:
objpointer to object to free
int snd_seq_client_pool_get_client ( const snd_seq_client_pool_t info)

Get the client id of a queue_info container.

Parameters:
infoclient_pool container
Returns:
client id
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.

Parameters:
infoclient_pool container
Returns:
available input size
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.

Parameters:
infoclient_pool container
Returns:
input pool size
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.

Parameters:
infoclient_pool container
Returns:
available output size
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.

Parameters:
infoclient_pool container
Returns:
output pool size
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.

Parameters:
infoclient_pool container
Returns:
output room size
int snd_seq_client_pool_malloc ( snd_seq_client_pool_t **  ptr)

allocate an empty snd_seq_client_pool_t using standard malloc

Parameters:
ptrreturned pointer
Returns:
0 on success otherwise negative error code
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.

Parameters:
infoclient_pool container
sizeinput pool size
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.

Parameters:
infoclient_pool container
sizeoutput pool size
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.

Parameters:
infoclient_pool container
sizeoutput room size
size_t snd_seq_client_pool_sizeof ( void  )

get size of snd_seq_client_pool_t

Returns:
size in bytes
int snd_seq_get_any_client_info ( snd_seq_t seq,
int  client,
snd_seq_client_info_t info 
)

obtain the information of the given client

Parameters:
seqsequencer handle
clientclient id
infothe pointer to be stored
Returns:
0 on success otherwise a negative error code

Obtains the information of the client with a client id specified by info argument. The obtained information is written on info parameter.

See also:
snd_seq_get_client_info()
int snd_seq_get_client_info ( snd_seq_t seq,
snd_seq_client_info_t info 
)

obtain the current client information

Parameters:
seqsequencer handle
infothe pointer to be stored
Returns:
0 on success otherwise a negative error code

Obtains the information of the current client stored on info. client and type fields are ignored.

See also:
snd_seq_get_any_client_info(), snd_seq_set_client_info(), snd_seq_query_next_client()
int snd_seq_get_client_pool ( snd_seq_t seq,
snd_seq_client_pool_t info 
)

obtain the pool information of the current client

Parameters:
seqsequencer handle
infoinformation to be stored
int snd_seq_query_next_client ( snd_seq_t seq,
snd_seq_client_info_t info 
)

query the next client

Parameters:
seqsequencer handle
infoquery pattern and result

Queries the next client. The search begins at the client with an id one greater than client field in info. If a client is found, its attributes are stored in info, and zero is returned. Otherwise returns a negative error code.

See also:
snd_seq_get_any_client_info()
int snd_seq_set_client_info ( snd_seq_t seq,
snd_seq_client_info_t info 
)

set the current client information

Parameters:
seqsequencer handle
infothe client info data to set
Returns:
0 on success otherwise a negative error code

Obtains the information of the current client stored on info. client and type fields are ignored.

See also:
snd_seq_get_client_info()
int snd_seq_set_client_pool ( snd_seq_t seq,
snd_seq_client_pool_t info 
)

set the pool information

Parameters:
seqsequencer handle
infoinformation to update

Sets the pool information of the current client. The client field in info is replaced automatically with the current id.