??? 11/30/08 21:10 Read: times |
#160442 - MIDI Trouble ... Responding to: ???'s previous message |
Chico,
Early in the receive process you mask off the least sig. nibble. Because of this, your test of the accumulators least sig bit is pointless as you will always fall thru to ProcessMidiData. You will then process based upon either the previous byte being a Note On/Off msg. or an initialized or random value. Imagine MIDI Running Status. How would that perform with the existing code? This could be an alternate reason for you situation where differing host data streams perform differently, depending upon if they issue 3 byte MIDI or 2 byte Running Status pairs. A technique that i've used allocated a flag for "MIDI SYNC". To achieve MIDI SYNC you must receive a MIDI Status byte you support. You store this for comparison with future Status bytes and any non-Status bytes received are interpreted as NOTE/VELOCITY (data1/data2) pairs. Real Time Status bytes can intervene within valid Status exchange so if you don't support them one way of handling them is to drop them on the floor at time of receipt. In any case they don't impact MIDI SYNC. Another thought, handle msg parsing and framing in the foreground and just buffer MIDI in interrupt. This allows more headroom for message handling with payback a direct function of how verbose your MIDI Host is and/or how quickly your processor executes code. regards, p |
Topic | Author | Date |
Midi trouble with Keyboard! | 01/01/70 00:00 | |
Blame the computer? | 01/01/70 00:00 | |
I'm lost | 01/01/70 00:00 | |
Check for differences | 01/01/70 00:00 | |
you are right... | 01/01/70 00:00 | |
First check grounding | 01/01/70 00:00 | |
==CODE== | 01/01/70 00:00 | |
Can I post... | 01/01/70 00:00 | |
MIDI Trouble | 01/01/70 00:00 | |
I can be wrong... | 01/01/70 00:00 | |
MIDI Trouble ... | 01/01/70 00:00 | |
Should be JB ACC.7 ... | 01/01/70 00:00 | |
Maybe I discovered something, but have no clue to solve | 01/01/70 00:00 | |
Midi Thru Problems... | 01/01/70 00:00 | |
Same problem | 01/01/70 00:00 | |
MIDI Head Scratcher .. | 01/01/70 00:00 | |
Data is arriving corrupted | 01/01/70 00:00 | |
tried simplest way | 01/01/70 00:00 | |
Already tried this | 01/01/70 00:00 |