Gordon JC Pearce wrote:
> On Sat, Aug 31, 2013 at 11:34:33AM +0200, Clemens Ladisch wrote:
>> Gordon JC Pearce wrote:
>>> The only exception is if I send something not a multiple of three
>>> bytes but terminate the transfer with 0xf7, it will send
>>> everything including the 0xf7 - but this kills the sysex transfer.
>>
>> _Every_ SysEx message must be terminated with F7.
>
> The CZ1000 expects seven bytes to start the sysex transfer, at which
> point it will reply with a message and wait for an acknowledge. The
> the PC should start to send the patch data, but it's quite important
> not to send that too soon otherwise the CZ will misbehave in various
> interesting ways. Once all the patch data is send - with breaks for
> acks in between - the final 0xf7 is sent to terminate the sysex dump.
So the messages used by the CZ1000 in this protocol are not actually
MIDI messages.
>>> Is it really impossible to just send raw bytes over a USB MIDI cable?
>>
>> It is possible to send MIDI messages over a USB MIDI cable.
>
> According to the USB MIDI spec there is an event packet to send just
> single bytes.
There are devices that do not support this single-byte packet.
> This isn't implemented in the kernel,
It's used for real-time messages.
> it would be incredibly handy for sysex transfers, debugging and the
> like.
>
> Perhaps the answer is just to ditch alsa and poke the USB device with
> libusb?
Or change the driver to always use single-byte packets (modify the first
"if" in snd_usbmidi_transmit_byte).
> With a bit of testing, I've determined that at least the USB
> interfaces I have at hand do not support sysex. They will pass some
> interestingly "interpreted" version of sysex, which is of course
> corrupted and unreadable by the device.
In what way corrupted?
Regards,
Clemens
_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-dev
Received on Sun Sep 1 04:15:01 2013
This archive was generated by hypermail 2.1.8 : Sun Sep 01 2013 - 04:15:02 EEST