Has sending SysEx changed?

I’m hitting the following assert:

        // If this is hit, non-7-bit data was supplied.
        // Maybe you forgot to trim the leading/trailing bytes that delimit a bytestream SysEx message.
        jassert (std::all_of (msg.bytes.begin(), msg.bytes.end(), [] (std::byte b) { return (b & std::byte { 0x80 }) == std::byte{}; }));

Has sending SysEx changed? I used to always send the entire message, now with midi 2 changes I’m hitting these asserts. Do the leading/trailing bytes get added automatically now? I don’t see anything in the breaking changes.

1 Like

Hi @RolandMR, to the best of my knowledge there has been no intentional change in this area however the team size is reduced due to holidays over the Christmas and new year period so I’m not sure we’ll get a chance to take a closer look at this until the new year.

My bad, I was adding a trailing 0x00 to my SysEx data. The new assert is valid.

1 Like

But it would be nice if juce::MidiMessage::createSysExMessage threw an assert if you try to pass in data with a 0xf0 & 0xf7 header / footer