[alsa-devel] rawmidi virtual and long sysexes

Ryan C. Underwood nemesis at icequake.net
Tue Dec 22 19:11:47 CET 2015


On Tue, Dec 22, 2015 at 06:51:47AM +0100, Clemens Ladisch wrote:
> Ryan C. Underwood wrote:
> >Basically, the rawmidi virtual plugin enforces a 256-byte limit on
> >events, and emits multiple events if e.g. a >256 byte sysex is
> >encountered.
> 
> All sequencer clients have such a limit.

I was not objecting to a limit.  I was questioning the utility of a
_hard-coded_ limit.

> >This does not seem to be documented behavior for
> >snd_seq_event_input(), nor is the fixed limit described anywhere.
> 
> Yes, the documentation is lacking.

What's the best way to submit a documentation change, patch the docs
embedded in the code and mail that here?

> >Would it be better if the maximum event size could be configured
> >through params?  That would avoid needing this clumsy workaround by
> >sequencer clients.
> 
> Handling split messages cannot be avoided; the API is not
> capable of sending arbitrarily large messages.

So, the client writing to rawmidi has local knowledge about the
largest sysex he will generate.  I only propose that alsa-lib be
willing to accept this local knowledge over its own hard-coded default
when sizing the event buffer.  (For example, the device buffer size is
configurable by the sequencer client.)

Of course, I won't bother if such a patch would be rejected, and will
instead change the documentation.

-- 
Ryan C. Underwood, <nemesis at icequake.net>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 173 bytes
Desc: Digital signature
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20151222/739e66d3/attachment.sig>


More information about the Alsa-devel mailing list