I made a work around to the problem.
The patch is at: http://pastebin.com/RMvtPZy4

First of all the status that it is waiting for (matching "& 0x80") to read  
input, does only occur when the RX queue is full.
What this means is that it will wait till the soundcard has stacked up alot of
midi events and then try to get them all at once.

So if I for example only press down a key on the midi keyboard the RX queue 
won't be full and it won't be transmitted to the midi in device.
This is obviously not the way it is supposed to work. I think it is trying to
look for if there is any input available. But I didn't see any change in status
when it where. The only change was when the RX queue was full.

So I removed that check and it works well now. IE no insane cpu loads or any
missed notes.

The other thing I had to change was the order that the midi devices are
registered in. So midi01 will be the input and midi00 will be the output
to work around the problem where it always assumes that midi01 is the input
device.

This probably confirms that somewhere midi01 is hardcoded to be the input
device. But I have yet to find where that is.

Thank you for looking into this in the future.
If there is anything you would like me to try out just ask.

Regards,

Sebastian Parborg

Hannu Savolainen writes:

> Hi,
>
> I will take a look at this in the future. At this moment I'm busy with
> starting a new project on my daytime job. However maybe after few weeks.
>
> Best regards,
>
> Hannu
> ---
>
> _______________________________________________
> oss-devel mailing list
> oss-devel@mailman.opensound.com
> http://mailman.opensound.com/mailman/listinfo/oss-devel
_______________________________________________
oss-devel mailing list
oss-devel@mailman.opensound.com
http://mailman.opensound.com/mailman/listinfo/oss-devel

Reply via email to