• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Panther MIDI Receive Channels Missing bug!
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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.

  • Follow-Ups:
    • Re: Panther MIDI Receive Channels Missing bug!
      • From: Doug Wyatt <email@hidden>
References: 
 >Re: Panther MIDI Receive Channels Missing bug! (From: Doug Wyatt <email@hidden>)

  • Prev by Date: Re: coreMIDI scheduler and 10.3 weirdness
  • Next by Date: Re: Panther MIDI Receive Channels Missing bug!
  • Previous by thread: Re: Panther MIDI Receive Channels Missing bug!
  • Next by thread: Re: Panther MIDI Receive Channels Missing bug!
  • Index(es):
    • Date
    • Thread