Frank Neumann wrote:
> Takashi Iwai <[EMAIL PROTECTED]> wrote:
> > just to be sure: any realtime events can come in?
>
> No, I checked that. The M3r sends active sensing (0xfe), but I filtered that out.
> In the data I get the only MIDI bytes > 0x7f are the F0 at the start and the
> 0xF7 at the very end. Also, I think a SysEx message cannot be interrupted by
> any other message, right?
Realtime messages can interrupt any other message, but it's unlikely that
your device would send one.
> I checked that - no overruns during the whole transfer.
Maybe some bytes have been ignored. Please try the following patch:
--- m3r2.c.orig Thu Feb 06 09:12:34 2003
+++ m3r2.c Thu Feb 06 09:42:42 2003
@@ -75,6 +75,8 @@
numbytes++;
// fprintf(stderr, "\r%06d bytes
written... ", numbytes);
}
+ else if (ch != 0xfe)
+ fprintf(stderr, "dropped %02x\n", ch);
break;
case ST_IN_SYSEX:
if (ch < 0x80)
@@ -92,6 +94,8 @@
numbytes);
state = ST_DONE;
}
+ else if (ch != 0xfe)
+ fprintf(stderr, "dropped %02x\n", ch);
break;
default:
It may be possible that your program waits too long before starting to
read data. (If some bytes come in before your first call to
rawmidi_read(), they're simply ignored.)
Please try removing the drain() in line 58.
HTH
Clemens
-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel