Skip to content

Error in "sendMessage()" while sending SysEx messages longer than 258 bytes on MacOSX #91

@sanotronics

Description

@sanotronics

Hello!

I have a self-made cross-platform app, developed with Python 3.4, and I use rtmidi to send SysEx messages to configure an Arduino UNO.

The configuration message has a dinamic size up to 1024 bytes.

On windows and linux, everything works like a charm, but on MacOSx (tried with El Capitan) I get an error every time I try to send a message longer than 258 bytes (It's tricky to know if this is the actual limit, but it won't send 260 bytes, so it's either 258 or 259).

The error is "MidiOutCore::sendMessage: could not allocate packet list", which I found to be set by a null pointer to a packet on line 1049 of RtMidi.cpp.

From what I can see around those lines of code, the pointer is set by CoreMIDI's method MIDIPacketListAdd(). And in the documentation reads:
"Returns null if there was not room in the packet for the event; otherwise returns a packet pointer which should be passed as curPacket in a subsequent call to this function."

If further info is needed, I'll be around.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions