mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2025-11-02 09:01:48 -05:00
seq: Add API helper functions for creating UMP Endpoint and Blocks
For making it easer for applications to create a virtual UMP Endpoint and UMP blocks, add two API helper functions. snd_seq_create_ump_endpoint() creates (unsurprisingly) a UMP Endpoint, based on the given snd_ump_endpoint_info_t information. The number of (max) UMP groups belonging to this Endpoint has to be specified. This function sets up the Endpoint info on the sequencer client, and creates a MIDI 2.0 UMP port as well as UMP Group ports automatically. The name of the sequencer client is updated from the Endpoint name, too. After creating a UMP Endpoint, create each UMP Block via snd_seq_create_ump_block() function with a snd_ump_block_info_t info. The associated groups for each block have to be specified there. The port names and capability bits are updated accordingly after setting each block information. Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
6767f623ca
commit
6167b8ce3e
5 changed files with 271 additions and 1 deletions
|
|
@ -1042,7 +1042,8 @@ int _snd_seq_open_lconf(snd_seq_t **seqp, const char *name,
|
|||
*/
|
||||
int snd_seq_close(snd_seq_t *seq)
|
||||
{
|
||||
int err;
|
||||
int i, err;
|
||||
|
||||
assert(seq);
|
||||
err = seq->ops->close(seq);
|
||||
if (seq->dl_handle)
|
||||
|
|
@ -1051,6 +1052,9 @@ int snd_seq_close(snd_seq_t *seq)
|
|||
free(seq->ibuf);
|
||||
free(seq->tmpbuf);
|
||||
free(seq->name);
|
||||
free(seq->ump_ep);
|
||||
for (i = 0; i < 16; i++)
|
||||
free(seq->ump_blks[i]);
|
||||
free(seq);
|
||||
return err;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue