[alsa-devel] How to send non-SysEx system messages via ALSA?

Gabriel Beddingfield gabrbedd at gmail.com
Sat Mar 9 22:21:55 CET 2013

On Sat, Mar 9, 2013 at 1:01 PM, Clemens Ladisch <clemens at ladisch.de> wrote:
> Gabriel M. Beddingfield wrote:
>> Since Wine is sending/receiving midi data (without timing) that is to
>> be sent/received _immediately_ -- you might find life easier by using
>> the rawmidi api.
> But this would work only with rawmidi devices; hardware synthesizers
> (OPL3/4/Emu10k1) and any software applications would be excluded
> (without contortions like snd-virmidi).

Correct me if I'm wrong, but his options are:

  1. Drop support for any non-standard midi byte streams (e.g. "Tick")
by using the seq API, or
  2. Drop the ability to have a virtual midi device by using the rawmidi API.

The choice is up to him.

Me?  I would prefer to have the ability to send raw midi through the
seq interface.  (Again, let me know if that exists somewhere -- I
couldn't find it.)  Something like SND_SEQ_EVENT_RAW_MIDI with a
length and a short array for data.  In most applications that I've
worked on, I need to be able to read/write raw midi bytestreams for
other parts of the application.  I find it annoying that I have to
translate them to/from the seq API's 'helper' structs.

...so if someone were to implement such a beast -- would it be welcome?


More information about the Alsa-devel mailing list