The host interrupt wasn't asserted when enqueuing MIDI messages.
No surprise some controls acted strangely ...
---
 softusb-input/main.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/softusb-input/main.c b/softusb-input/main.c
index 9da339e..90e90f7 100644
--- a/softusb-input/main.c
+++ b/softusb-input/main.c
@@ -485,6 +485,7 @@ static char process_midi(unsigned char *buf, unsigned char 
len)
 {
        unsigned char end = len & ~3;
        unsigned char i, m, j;
+       char sent_something = 0;
 
        /*
         * In theory, control changes should be heralded by a CIN of 0xB,
@@ -502,8 +503,9 @@ static char process_midi(unsigned char *buf, unsigned char 
len)
                for(j = 0; j != 4; j++)
                        COMLOC_MIDI(4*m+j) = buf[i+j];
                COMLOC_MIDI_PRODUCE = (m + 1) & 15;
+               sent_something = 1;
        }
-       return 0;
+       return sent_something;
 }
 
 static void poll(struct ep_status *ep,
-- 
1.7.1

_______________________________________________
http://lists.milkymist.org/listinfo.cgi/devel-milkymist.org
IRC: #milkymist@Freenode

Reply via email to