Commit graph

65 commits

Author SHA1 Message Date
Takashi Iwai
58da05803b seq: ump: Fix typo in function name containing "group"
In a couple places the function names were misspelled as "gruop"
instead of "group".  Fix them.

Reported-by: Jean-Michaël Celerier <jeanmichael.celerier@gmail.com>
Fixes: https://github.com/alsa-project/alsa-lib/pull/337
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2023-07-28 17:35:02 +02:00
Takashi Iwai
77247f51c4 seq: Add UMP 1.1 features
Add APIs for groupless message filtering.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2023-06-12 10:14:23 +02:00
Takashi Iwai
2aefb5c41c seq: Add UMP support
This patch adds the basic support of UMP on ALSA sequencer API.
An extended event type, snd_seq_ump_event_t, is defined.  It's
compatible with the existing type, snd_seq_event_t, but it has a
larger payload of 16 bytes instead of 12 bytes, for holding the full
128bit UMP packet.

The new snd_seq_ump_event_t must have the bit SND_SEQ_EVENT_UMP in the
event flags.

A few new API functions have been added such as
snd_seq_ump_event_output() and snd_seq_ump_event_input() for
reading/writing this new event object.

The support of UMP in the sequencer client is switched by the function
snd_seq_client_set_midi_version().  It can switch from the default
legacy MIDI to UMP MIDI 1.0 or 2.0 on the fly.

The automatic event conversion among UMP and legacy clients can be
suppressed via snd_seq_client_set_ump_conversion().

The inquiry of the associated UMP Endpoints and UMP Blocks can be done
via snd_seq_get_ump_endpoint_info() and snd_seq_get_ump_block_info().

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2023-06-06 15:13:27 +02:00
Jaroslav Kysela
5b9041bced Change FSF address (Franklin Street)
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2017-11-14 14:29:26 +01:00
Martin Koegler
e0e3ce5f71 seq: Provide sequencer sound card number / PID via alsa-lib
rawmidi devices expose the card number via IOCTLs, which allows to
find the corresponding device in sysfs.

The sequencer provides no identifing data. Chromium works around this
issue by scanning rawmidi as well as sequencer devices and matching
them by using assumtions, how the kernel register sequencer devices.

This changes adds support for exposing the card number for kernel clients
as well as the PID for user client.

It supports kernels with and without the required support.

Signed-off-by: Martin Koegler <martin.koegler@chello.at>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2016-03-08 10:57:18 +01:00
Aldrin Martoq
75ecdac6f4 add snd_seq_client_info_event_filter_*() functions
Added snd_seq_client_info_event_filter_{clear,add,del,check} to alsa
sequencer API

Signed-off-by: Aldrin Martoq <amartoq@dcc.uchile.cl>
2008-02-22 17:46:50 +01:00
Aldrin Martoq
882f93ac26 add snd_seq_unset_bit()
Added snd_seq_unset_bit() to alsa sequencer API

Signed-off-by: Aldrin Martoq <amartoq@dcc.uchile.cl>
2008-02-22 17:42:56 +01:00
Takashi Iwai
68e5771a6f Remove assert from header files
Putting assert in the public macros isn't good idea at all.
Let's get rid of them.

Also, clean up snd*_alloca() functions to use a helper macro
instead of copy and paste.
2007-10-25 15:36:03 +02:00
Jaroslav Kysela
d25e281230 Changed Jaroslav Kysela's e-mail from perex@suse.cz to perex@perex.cz 2007-10-15 10:24:55 +02:00
Clemens Ladisch
123e2b7780 clarify SND_SEQ_PORT_TYPE_xxx documentation
Clarify the documentation for the SND_SEQ_PORT_TYPE_xxx flags, especially
for _SYNTH and *_SAMPLE where it was rather misleading.
2006-05-02 16:28:22 +02:00
Clemens Ladisch
c3ac7bdf87 add more sequencer port type information bits
Add four new information flags SNDRV_SEQ_PORT_TYPE_HARDWARE, _SOFTWARE,
_SYNTHESIZER, _PORT for sequencer ports.  This makes it easier for apps
like Rosegarden to make policy decisions based on the port type.
2006-05-02 16:08:36 +02:00
Clemens Ladisch
19be1429d1 remove SND_SEQ_CLIENT_{DUMMY,OSS} symbols
The SND_SEQ_CLIENT_{DUMMY,OSS} are private to the kernel and should
never have been put into the public API header.
2005-11-20 14:09:45 +00:00
Clemens Ladisch
04c2de32c1 fix some file paths in comments
doxygen complains if the file name specified with \file does
not match the real file name, so fix it
2005-01-17 17:34:31 +00:00
Takashi Iwai
6fc5e5dd2a Fix warnings with -Wshadow
Fixed compile warnings when compiled with -Wshadow.
(Renamed the shadow parameteres with _ prefix to avoid confliction.)
2004-09-21 10:35:57 +00:00
Takashi Iwai
e1ae539931 added more documents.
removed the obsolete snd_seq_port_subscribe_set_voices().
2003-10-22 14:25:55 +00:00
Takashi Iwai
09161437ef - added auto-timestamp mode for the port.
snd_seq_port_info_get/set_timestamping()
    snd_seq_port_info_get/set_timestamp_real()
    snd_seq_port_info_get/set_timestamp_queue()
- increased the protocol version to 1.0.1.
2003-07-25 17:24:13 +00:00
Takashi Iwai
ea83756fbe - removed snd_seq_create_event from seq.h. it's deprecated.
the function itself still exists for compatibility
  but protected by DOC_HIDDEN.
- a bit more comments about snd_seq_free_event.

- since alsa.m4 used snd_seq_create_event for checking libasound,
  now it's replaced with snd_ctl_open.
2002-05-27 11:14:20 +00:00
Jaroslav Kysela
f74dc6ba74 Added snd_seq_port_subscribe_set_voices() 2002-05-12 07:23:32 +00:00
Jaroslav Kysela
fb07cd28e5 Removed IPC code from sequencer code 2002-04-17 08:50:56 +00:00
Jaroslav Kysela
853304bbf4 Corrections by Kevin Conder <kconder@interaccess.com> 2002-03-12 20:14:33 +00:00
Jaroslav Kysela
2ca5ace9cb More documentation changes (rawmidi, timer) 2002-02-11 18:11:16 +00:00
Takashi Iwai
6ce9436b13 removed comma from last element of enums. 2002-02-05 11:36:20 +00:00
Jaroslav Kysela
d57853a90a Added more informative comments to open mode flags 2002-01-28 18:11:45 +00:00
Jaroslav Kysela
3e3df2d32b Updated GNU GPL license (address).
Changed GNU LGPL licence from 2.0 to 2.1.
2001-12-30 09:22:54 +00:00
Takashi Iwai
bcf50519e4 Added time skew on queue.
The timer speed can be controlled via skew value, smaller = slower
centered on the skew-base value.
2001-12-10 16:45:05 +00:00
Jaroslav Kysela
ddb7209e9a Added snd_*_poll_descriptors_revents functions. 2001-11-30 17:36:45 +00:00
Jaroslav Kysela
c33c5760ab Added snd_*_open_lconf functions.
Some minor changes in config interface documentation.
2001-11-24 17:47:01 +00:00
Jaroslav Kysela
87b5b249a5 pcm.h - major documentation updates and reordering
Cleanup for __cplusplus defines.
2001-11-14 11:40:46 +00:00
Jaroslav Kysela
58345ae4f4 Separated asoundlib.h to small files. 2001-09-13 11:38:32 +00:00
Jaroslav Kysela
cd97f4e735 Added snd_seq_queue_timer_type_t. 2001-08-28 08:03:19 +00:00
Jaroslav Kysela
b45c08611c Added symbol versioning for dlsym-callbacks.
Removed snd_config_refer_load from confmisc.c and pcm.c.
2001-08-15 12:12:16 +00:00
Takashi Iwai
78156e8f16 Added snd_seq_system_info_get_cur_clients/queues. 2001-07-25 17:33:34 +00:00
Jaroslav Kysela
3590f6ecd3 More documentation enhancements / removal of non-existent functions. 2001-07-11 15:48:27 +00:00
Takashi Iwai
c78a2006fe Fixed comments. yes, of course, alloca uses stack instead of heap.. 2001-07-09 08:32:31 +00:00
Jaroslav Kysela
0b506b0944 Changed from bool to val to avoid error in c++. 2001-07-04 15:05:05 +00:00
Jaroslav Kysela
88e5e45151 Major change to sequencer API.
The sequencer API is totally recoded with the style of "encapsulation"
in other api.
The structure becomes opaque and accessed only via functions.

Other changes:
- There is no longer group in client and port info.
- snd_seq_query_subs_t is renamed to snd_seq_query_subscribe_t.
- snd_seq_delete_port takes only the port id argument instead of
  port_info structure.
- snd_seq_input/output_buffer_size are renamed
  as snd_seq_get_input/output_buffer_size.
  Similarly snd_seq_resize_input/output_buffer are renamed as
  snd_seq_set_input/output_buffer_size.
- snd_seq_get_named_queue is renamed to snd_seq_query_named_queue.
- Sync codes are removed temporarily from API.
- Subscription conditions are accessed via the corresponding functions.
  convert_time is named now as time_update.
- snd_seq_get/set_queue_owner are removed.
  Use snd_seq_get/set_queue_info instead.
- Instrument put/get/remove structure is unified as snd_instr_header_t.
2001-07-04 13:54:13 +00:00
Takashi Iwai
5ce8fbeab5 Added comments for doxygen.
They are half-automated output from the 0.5.x documents.
The sequencer API will be changed in near future
to suit with encapsulation implemented already in pcm api,
so do not trust the comments added here..
They are just for reference.
2001-06-06 17:50:16 +00:00
Jaroslav Kysela
f65b035a45 Improved in-source documentation (interfaces are divided into modules). 2001-04-24 13:02:58 +00:00
Abramo Bagnara
5b50ec848a Lot of cleanings with the help of gcc3 2001-03-29 17:50:28 +00:00
Abramo Bagnara
08232943a2 Get rid of enum type checking ugly trick 2001-03-29 10:11:38 +00:00
Jaroslav Kysela
1dfd70d11e Added the event filter to the poll_descriptor functions. 2001-02-21 16:29:40 +00:00
Abramo Bagnara
191d03501e Changed descriptors_count 2001-02-18 18:32:30 +00:00
Jaroslav Kysela
cc956312b3 Changed behaviour of poll_descriptors function (returns the filled count of fds).
Added poll_descriptors_count functions.
Added snd_mixer_elem_count function.
2001-02-14 12:15:03 +00:00
Abramo Bagnara
460660d4b4 More generic support for poll descriptors 2001-02-12 23:51:49 +00:00
Abramo Bagnara
a2d3434961 Completed mixer API. Improved iterators. Renamed control values struct. Rewritten simple elements implementation 2001-02-11 15:45:35 +00:00
Abramo Bagnara
5bf23ae9a1 Encapsulated hwdep. Converted all enums to type safety 2001-02-05 15:44:42 +00:00
Abramo Bagnara
8712ffc6a5 Added snd_ prefix to mask and interval. Divided header.h wrappers 2001-01-30 16:51:26 +00:00
Jaroslav Kysela
41bb7068f2 Merged pcmfinal branch. 2000-11-20 20:10:46 +00:00
Abramo Bagnara
2ea3fd4bb3 Completed renaming drain->stop, flush->drain (PCM). Done renaming drain->drop, flush->drain (rawmidi and seq). Removed wrong module usage count inc/dec from mmap 2000-09-29 20:49:18 +00:00
Jaroslav Kysela
6962a9d6ce Merged pcmplug branch. 2000-09-24 09:57:26 +00:00