Hi,
I am stuck in a problem with MIDI merging.
I am currently using two external MIDI devices that connect to my notebook via
an external USB MIDI adaptor (a nice Edirol UM2).
One of these devices transmits data in running status, which means it omits
the status byte of NOTE ON messages if many NOTE ON messages are transmitted
and there is no change of the channel.
The second device transmits data in the ordinary uncompressed mode and never
leaves out the status byte.
Now I need to route these external MIDI devices to a MIDI application.
The devices show up in my notebook as physical ports UM2-1 and UM2-2 and what
I do is to simply connect these ports to the IN port of the MIDI application.
And now there is a problem: as I have connected the two devices to the IN port
the application (or the driver of the MIDI port) has to do MIDI merging. But
something is wrong with the merging, if the running status device's data
bytes have to be merged with the second device's data stream.
The application detects that there is the status byte missing in the complete
data stream that it is receiving and it does not "resync" even if the running
state device transmits a status byte because the channel has changed. So the
application indicates an error message stating there is a missing status byte
and that it only got data bytes.
1.) Which part is actually responsible for the MIDI merging of two or more
output devices into one input device? Is it the driver of the port or is it
the application, that is in the end receiving the MIDI data stream?
2.) Is it illegal to connect two output devices to one input port?
3.) If I should need some kind of virtual MIDI multiplexing/demultiplexing
driver: which one should I chose? I have debian and would like to install
from repository.
Thanks for any hint and kind regards,
Crypto.