"Raw" serial data vs "groomed" MIDI data

highly_liquid

2010-03-02 06:07:46

Hi Florian,

Thank you for Send SX, which has proven to be an invaluable tool.

I have a question regarding the "MIDI In" data stream in Send SX. The hex data displayed in the Midi In pane is not exactly what is physically received on the MIDI port.

For example, when sending MIDI data from Send SX to itself using a "loop back", I can send two MIDI notes using running status:

MIDI Out:
90 00 01
01 01

...and SendSX will insert the implied status byte when the data is shown on the MIDI In pane:

MIDI In:
90 00 01
90 01 01

Likewise, "orphaned" data bytes are discarded:

MIDI Out:

F0 00 F7
55 F7

MIDI In:

F0 00 F7
F7

Is there a way to display the raw input data stream, even when it does not form a valid MIDI message? Is the MIDI In "grooming" done by the Send SX application code, or by a code library that it incorporates?

Thanks for any info you might have. Being able to display the raw data stream would be very useful to me.

florian

2010-03-13 16:38:41

Hi,

I'm reasonably sure that SendSX transmits the MIDI bytes as you type them.

However, on reception, it only displays what the MIDI driver provides. And on Windows, the MIDI drivers will always (try to) undo running status. Send SX tries hard to display all bytes, but depending on driver, it might not get certain bytes that do not form a valid MIDI message.

So, otherwise said, SendSX does not treat the data in any way. It displays everything it can get.

Regards,
Florian