Re: Panther MIDI Receive Channels Missing bug!
Re: Panther MIDI Receive Channels Missing bug!
- Subject: Re: Panther MIDI Receive Channels Missing bug!
- From: Jeremy Sagan <email@hidden>
- Date: Wed, 29 Oct 2003 16:52:49 -0500
On Wednesday, October 29, 2003, at 04:00 PM, Doug Wyatt wrote:
On Oct 27, 2003, at 19:06, Jeremy Sagan wrote:
I am writing this message again because I did not seem to get any
response the first time and I think this is a very important issue
for MIDI applications. In 10.2 it was possible to set up devices like
the sound canvas using Audio Midi Setup (AMS) so that a program could
detect which channels were in use for input and output. Now, in
Panther, it is impossible. This makes absolutely no sense (at least
from where I am sitting). If I have a device like a MIDI controller
which does not receive any channels (but sends some) and a device
like a sound canvas which receives many (32) channels, my application
essentially has 2 options both undesirable.
1. Operate under 10.2 principals where I assume the user can set the
MIDI channels for an interface. This results in the sound canvas not
being seen at all because, all MIDI interface devices return an error
when inquiring about kMIDIPropertyReceiveChannels. This obviously is
unacceptable to users.
2. Assume that if an error occurs when inquiring
kMIDIPropertyReceiveChannels that it means that the device receive
all channels. This has a very undesirable affect of having the MIDI
controller keyboard say it is able to receive on all channels.
Why are you seeing the controller as a destination in the first place
if it's really only a controller?
The controller has a MIDI port with nothing connected. It is ridiculous
to not allow the user to specify which channels are active on all
ports. Now that you have the ability to specify the ports for devices,
why not allow the channel settings on a port by port basis. I still
think Jaguar handles this situation better than Panther.
Can we have a fix for this? Or at least tell me a way to work around
this problem!
Well, you're aware that some objects just don't have the
receive-channels property set on them, and that you'll get an error if
you ask for it. When this happens, you have to make the least harmful
assumption, which in this case is to assume that you can send to all
MIDI channels.
Why? Why can't I just setup AMS so that there are no channels for a
specific device?
The change from Jaguar to Panther was made to prevent a confusing
situation where you'd get all that UI for setting device properties in
cases where it makes no sense at all, for example, a 4-port MIDI
interface.
If you allow the receive channels to be set on a port by port basis
that will fix this problem the correct way!
AMS still does allow property editing on driver devices but ONLY if
they only contain 1 entity and it is not an external MIDI connector.
If the device has external MIDI connectors, then we have the confusing
UI problem.
This makes no sense to me. Let the user specify which connections are
active in AMS then ALL applications can read the receivechannels
property to determine which channels are active. If the device has 4
MIDI ports then each port should have a 16 channel bitmap specifying
which channels are active.
I'd like to see examples of what devices are causing problems and what
their entity/endpoint configurations look like, in particular, how
many entities/sources/destinations there are, and whether the entities
are internal or external.
Well, the Edirol sound canvas SD-20, Evolution MIDI controller, Event
EZBus, Roland SC-8820, etc., Essentially any USB device with built-in
sounds should be reporting its receive channels on a port by port basis
but is not!
In my app, I build MIDI outputs based on what AMS is telling me and so
if I go with your suggestion to assume that an error means all channels
are available I then end up with a lot of superfluous outputs that the
user has to go and manually delete. It just does make any sense.
Jeremy
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.