alsa-seq: handle SysEx without snd_midi_event_t

When writing sysex, bypass the encoder and simply place the sysex
message in the seq queue. Make sure strip off the 0xf7 and 0xf0
continuation bytes.

When reading sysex, bypass the decoder and append/prepend the
continuation bytes.

This way, we can make the decoder buffer size back to something small
(large enough for one simple midi event) and we can handle arbitrary
sysex message lengths.
This commit is contained in:
Wim Taymans 2026-05-21 12:45:43 +02:00
parent 87a2ae2f15
commit 26a2467e7b
2 changed files with 56 additions and 33 deletions

View file

@ -39,7 +39,7 @@ struct props {
bool disable_longname;
};
#define MAX_EVENT_SIZE 1024
#define MAX_EVENT_SIZE 64
#define MAX_PORTS 256
#define MAX_BUFFERS 32