Defines | |
#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(snd_seq_remove_events, ptr) |
Typedefs | |
typedef _snd_seq_remove_events | snd_seq_remove_events_t |
Functions | |
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_t * | snd_seq_remove_events_get_time (const snd_seq_remove_events_t *info) |
Get the event timestamp as removal condition. | |
const snd_seq_addr_t * | snd_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 |
#define SND_SEQ_REMOVE_DEST (1<<2) |
Restrict by destination q:client:port
#define SND_SEQ_REMOVE_DEST_CHANNEL (1<<3) |
Restrict by channel
#define SND_SEQ_REMOVE_EVENT_TYPE (1<<7) |
Restrict to event type
#define snd_seq_remove_events_alloca | ( | ptr | ) | SND_ALLOCA(snd_seq_remove_events, ptr) |
allocate a snd_seq_remove_events_t container on stack
#define SND_SEQ_REMOVE_IGNORE_OFF (1<<8) |
Do not flush off events
#define SND_SEQ_REMOVE_INPUT (1<<0) |
Remove conditional flags Flush input queues
#define SND_SEQ_REMOVE_OUTPUT (1<<1) |
Flush output queues
#define SND_SEQ_REMOVE_TAG_MATCH (1<<9) |
Restrict to events with given tag
#define SND_SEQ_REMOVE_TIME_AFTER (1<<5) |
Restrict to time or after
#define SND_SEQ_REMOVE_TIME_BEFORE (1<<4) |
Restrict to before time
#define SND_SEQ_REMOVE_TIME_TICK (1<<6) |
Time is in ticks
typedef struct _snd_seq_remove_events snd_seq_remove_events_t |
event removal conditionals
int snd_seq_drain_output | ( | snd_seq_t * | seq | ) |
drain output buffer to sequencer
seq | sequencer handle |
int snd_seq_drop_input | ( | snd_seq_t * | seq | ) |
clear input buffer and and remove events in sequencer queue
seq | sequencer handle |
int snd_seq_drop_input_buffer | ( | snd_seq_t * | seq | ) |
remove all events on user-space input FIFO
seq | sequencer handle |
int snd_seq_drop_output | ( | snd_seq_t * | seq | ) |
remove all events on output buffer
seq | sequencer handle |
int snd_seq_drop_output_buffer | ( | snd_seq_t * | seq | ) |
remove all events on user-space output buffer
seq | sequencer handle |
int snd_seq_event_input | ( | snd_seq_t * | seq, | |
snd_seq_event_t ** | ev | |||
) |
retrieve an event from sequencer
seq | sequencer handle | |
ev | event pointer to be stored |
This function firstly receives the event byte-stream data from sequencer as much as possible at once. Then it retrieves the first event record and store the pointer on ev. By calling this function sequentially, events are extracted from the input buffer.
If there is no input from sequencer, function falls into sleep in blocking mode until an event is received, or returns -EAGAIN
error in non-blocking mode. Occasionally, this function may return -ENOSPC
error. This means that the input FIFO of sequencer overran, and some events are lost. Once this error is returned, the input FIFO is cleared automatically.
Function returns the byte size of remaining events on the input buffer if an event is successfully received. Application can determine from the returned value whether to call input once more or not.
int snd_seq_event_input_pending | ( | snd_seq_t * | seq, | |
int | fetch_sequencer | |||
) |
check events in input buffer
ssize_t snd_seq_event_length | ( | snd_seq_event_t * | ev | ) |
calculates the (encoded) byte-stream size of the event
ev | the event |
int snd_seq_event_output | ( | snd_seq_t * | seq, | |
snd_seq_event_t * | ev | |||
) |
output an event
seq | sequencer handle | |
ev | event to be output |
If events remain unprocessed on output buffer before drained, the size of total byte data on output buffer is returned. If the output buffer is empty, this returns zero.
int snd_seq_event_output_buffer | ( | snd_seq_t * | seq, | |
snd_seq_event_t * | ev | |||
) |
output an event onto the lib buffer without draining buffer
seq | sequencer handle | |
ev | event to be output |
-EAGAIN
if the buffer becomes full.
int snd_seq_event_output_direct | ( | snd_seq_t * | seq, | |
snd_seq_event_t * | ev | |||
) |
output an event directly to the sequencer NOT through output buffer
seq | sequencer handle | |
ev | event to be output |
int snd_seq_event_output_pending | ( | snd_seq_t * | seq | ) |
return the size of pending events on output buffer
seq | sequencer handle |
int snd_seq_extract_output | ( | snd_seq_t * | seq, | |
snd_seq_event_t ** | ev_res | |||
) |
extract the first event in output buffer
seq | sequencer handle | |
ev_res | event pointer to be extracted |
int snd_seq_free_event | ( | snd_seq_event_t * | ev | ) |
(DEPRECATED) free an event
In the former version, this function was used to release the event pointer which was allocated by snd_seq_event_input(). In the current version, the event record is not allocated, so you don't have to call this function any more.
int snd_seq_remove_events | ( | snd_seq_t * | seq, | |
snd_seq_remove_events_t * | rmp | |||
) |
remove events on input/output buffers and pools
seq | sequencer handle | |
rmp | remove event container |
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
dst | pointer to destination | |
src | pointer to source |
void snd_seq_remove_events_free | ( | snd_seq_remove_events_t * | obj | ) |
int snd_seq_remove_events_get_channel | ( | const snd_seq_remove_events_t * | info | ) |
Get the event channel as removal condition.
info | remove_events container |
unsigned int snd_seq_remove_events_get_condition | ( | const snd_seq_remove_events_t * | info | ) |
Get the removal condition bits.
info | remove_events container |
const snd_seq_addr_t* snd_seq_remove_events_get_dest | ( | const snd_seq_remove_events_t * | info | ) |
Get the event destination address as removal condition.
info | remove_events container |
int snd_seq_remove_events_get_event_type | ( | const snd_seq_remove_events_t * | info | ) |
Get the event type as removal condition.
info | remove_events container |
int snd_seq_remove_events_get_queue | ( | const snd_seq_remove_events_t * | info | ) |
Get the queue as removal condition.
info | remove_events container |
int snd_seq_remove_events_get_tag | ( | const snd_seq_remove_events_t * | info | ) |
Get the event tag id as removal condition.
info | remove_events container |
const snd_seq_timestamp_t* snd_seq_remove_events_get_time | ( | const snd_seq_remove_events_t * | info | ) |
Get the event timestamp as removal condition.
info | remove_events container |
int snd_seq_remove_events_malloc | ( | snd_seq_remove_events_t ** | ptr | ) |
allocate an empty snd_seq_remove_events_t using standard malloc
ptr | returned pointer |
void snd_seq_remove_events_set_channel | ( | snd_seq_remove_events_t * | info, | |
int | channel | |||
) |
Set the channel as removal condition.
info | remove_events container | |
channel | channel number |
void snd_seq_remove_events_set_condition | ( | snd_seq_remove_events_t * | info, | |
unsigned int | flags | |||
) |
Set the removal condition bits.
info | remove_events container | |
flags | removal condition bits |
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.
info | remove_events container | |
addr | destination address |
void snd_seq_remove_events_set_event_type | ( | snd_seq_remove_events_t * | info, | |
int | type | |||
) |
Set the event type as removal condition.
info | remove_events container | |
type | event type |
void snd_seq_remove_events_set_queue | ( | snd_seq_remove_events_t * | info, | |
int | queue | |||
) |
Set the queue as removal condition.
info | remove_events container | |
queue | queue id |
void snd_seq_remove_events_set_tag | ( | snd_seq_remove_events_t * | info, | |
int | tag | |||
) |
Set the event tag as removal condition.
info | remove_events container | |
tag | tag id |
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.
info | remove_events container | |
time | timestamp pointer |
size_t snd_seq_remove_events_sizeof | ( | void | ) |