mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-26 10:49:33 +00:00
![Takashi Iwai](/assets/img/avatar_default.png)
This patch introduces a new ALSA sequencer client for the kernel UMP object, snd-seq-ump-client. It's a UMP version of snd-seq-midi driver, while this driver creates a sequencer client per UMP endpoint which contains (fixed) 16 ports. The UMP rawmidi device is opened in APPEND mode for output, so that multiple sequencer clients can share the same UMP endpoint, as well as the legacy UMP rawmidi devices that are opened in APPEND mode, too. For input, on the other hand, the incoming data is processed on the fly in the dedicated hook, hence it doesn't open a rawmidi device. The UMP packet group is updated upon delivery depending on the target sequencer port (which corresponds to the actual UMP group). Each sequencer port sets a new port type bit, SNDRV_SEQ_PORT_TYPE_MIDI_UMP, in addition to the other standard types for MIDI. Reviewed-by: Jaroslav Kysela <perex@perex.cz> Link: https://lore.kernel.org/r/20230523075358.9672-33-tiwai@suse.de Signed-off-by: Takashi Iwai <tiwai@suse.de>
77 lines
2 KiB
Text
77 lines
2 KiB
Text
# SPDX-License-Identifier: GPL-2.0-only
|
|
config SND_SEQUENCER
|
|
tristate "Sequencer support"
|
|
select SND_TIMER
|
|
select SND_SEQ_DEVICE
|
|
help
|
|
Say Y or M to enable MIDI sequencer and router support. This
|
|
feature allows routing and enqueueing of MIDI events. Events
|
|
can be processed at a given time.
|
|
|
|
Many programs require this feature, so you should enable it
|
|
unless you know what you're doing.
|
|
|
|
if SND_SEQUENCER
|
|
|
|
config SND_SEQ_DUMMY
|
|
tristate "Sequencer dummy client"
|
|
help
|
|
Say Y here to enable the dummy sequencer client. This client
|
|
is a simple MIDI-through client: all normal input events are
|
|
redirected to the output port immediately.
|
|
|
|
You don't need this unless you want to connect many MIDI
|
|
devices or applications together.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called snd-seq-dummy.
|
|
|
|
config SND_SEQUENCER_OSS
|
|
tristate "OSS Sequencer API"
|
|
depends on SND_OSSEMUL
|
|
select SND_SEQ_MIDI_EVENT
|
|
help
|
|
Say Y here to enable OSS sequencer emulation (both
|
|
/dev/sequencer and /dev/music interfaces).
|
|
|
|
Many programs still use the OSS API, so say Y.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called snd-seq-oss.
|
|
|
|
config SND_SEQ_HRTIMER_DEFAULT
|
|
bool "Use HR-timer as default sequencer timer"
|
|
depends on SND_HRTIMER
|
|
default y
|
|
help
|
|
Say Y here to use the HR-timer backend as the default sequencer
|
|
timer.
|
|
|
|
config SND_SEQ_MIDI_EVENT
|
|
tristate
|
|
|
|
config SND_SEQ_MIDI
|
|
def_tristate SND_RAWMIDI
|
|
select SND_SEQ_MIDI_EVENT
|
|
|
|
config SND_SEQ_MIDI_EMUL
|
|
tristate
|
|
|
|
config SND_SEQ_VIRMIDI
|
|
tristate
|
|
|
|
config SND_SEQ_UMP
|
|
bool "Support for UMP events"
|
|
default y if SND_SEQ_UMP_CLIENT
|
|
help
|
|
Say Y here to enable the support for handling UMP (Universal MIDI
|
|
Packet) events via ALSA sequencer infrastructure, which is an
|
|
essential feature for enabling MIDI 2.0 support.
|
|
It includes the automatic conversion of ALSA sequencer events
|
|
among legacy and UMP clients.
|
|
|
|
config SND_SEQ_UMP_CLIENT
|
|
tristate
|
|
def_tristate SND_UMP
|
|
|
|
endif # SND_SEQUENCER
|