Re: Using MIDISend/MIDISendSysex for Line 6 USB Device
Re: Using MIDISend/MIDISendSysex for Line 6 USB Device
- Subject: Re: Using MIDISend/MIDISendSysex for Line 6 USB Device
- From: Kurt Revis <email@hidden>
- Date: Mon, 22 Oct 2007 22:47:10 -0700
On Oct 22, 2007, at 1:23 PM, Tom White wrote:
One thing that hasn't made sense is how I would request information
to the POD and then read the data it sends back.
[...]
MIDI is a pretty ancient protocol, and in general it doesn't provide
any method for bidirectional communication.
Bidirectional communication can be done in MIDI using SysEx messages.
SysEx Messages come in two flavors: "Universal" and "Manufacturer".
Universal messages are defined by MMA for non-proprietary uses, and
include "Device Inquiry" and "File Dump", both bidirectional, though
only in the limited sense that you ask, you receive, then you're done.
But a Manufacturer could create a series of Manufacturer SysEx
messages
that act fully bidirectional, meaning one could be to request data,
another could be the response, and based on that response another
could
issue some other related command, etc.. I don't know whether Line 6
does
that or not... I doubt it, since most companies don't. But it's their
choice, not becuase MIDI doesn't provide any method.
Sure, thanks for pointing that out.
I should have been more clear: you can do bidirectional
communication using MIDI, but the protocol and APis themselves won't
help you out much, like more modern systems will. In general
everything is one-way; you can issue a command and wait for a
response, but all the handling of that stuff (device addressing,
timeouts, retries, etc) is up to the application and the device
you're talking to. There are no higher-level APIs that are built on
top of this and provide the illusion of a bidirectional pipe, as far
as I know -- certainly nothing that's been widely adopted yet.
Heck, a MIDI cable is only one-way, and it's up to the user to plug
things in correctly to allow the communication to go two-way!
So in practice, if you want to talk to a device, you need to know
exactly what you're talking to, you need to know (or define) how to
talk to it, and you're going to be writing all the code to manage the
conversation.
--
Kurt Revis
email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden