Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hard-coded MIDI message size #24

Open
zwizwa opened this issue Dec 1, 2023 · 0 comments
Open

Hard-coded MIDI message size #24

zwizwa opened this issue Dec 1, 2023 · 0 comments

Comments

@zwizwa
Copy link

zwizwa commented Dec 1, 2023

MIDI messages larger than 16 bytes are silently dropped.
This is easily triggered by sending sysex.

Dropping happens in a2j_process_outgoing()
The size is set by MAX_JACKMIDI_EV_SIZE, which is used in the definition of struct a2j_delivery_event.
The size of that struct is used in the allocation of a jack_ringbuffer.

I've changed the event size to 512 in my branch to support my use case, which involves sysex messages of 264 bytes. This seems to work fine.

Looking for feedback on what to do to fix this. I can spend some time on it.
Other people have run into this limitation:
https://linuxmusicians.com/viewtopic.php?t=25434

The core issue seems to be the size of the ring buffer, which should probably be configurable via command line options.

Additionally it is probably wise to make the ring buffer elements variable size.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant