I don't seem to understand your code.
Do you really do
midisend_str(midi_out, lcdRequest); // data request
and in the next instruction expect the answer of the request to be in oscstr by
printf("LCD: %s\n",hex2str(oscstr));
This can't work, as the program needs to wait for the answer to appear in a "@midimsg" event (and - AFAIK - check the msg byte if they are as expected) before OSC can be assumed to contain the sysex message.
(I suppose the splitting in two blocks is just a fake introduced by MidiOX.)
-Michael
|