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