Re: ChannelName Dictionary for CA drivers
Re: ChannelName Dictionary for CA drivers
- Subject: Re: ChannelName Dictionary for CA drivers
- From: "B.J. Buchalter" <email@hidden>
- Date: Wed, 12 Dec 2007 18:21:28 -0500
So, none of the devices I have here seem to support this.
I can't find any instance of kIOAudioEngineFullChannelNamesKey in
IORegistry on any of the devices I have.
The only device that I do have that lets you change the CoreAudio
visible names of the channels is a Motu 828; the mechanism that it
appears to be using is very different from what you describe, and yet
Logic is able to see the names.
In the case of the 828, it seems to create two OSArrays on the
IOAudioEngine object, and each array has an OSData in its slots that
seems to have UTF-16 encoded strings in the OSData.
None of the system apps seem to show the channel names for any device
(for example AMS), and HALLab does not show the channel names.
What apps actually support fetching the channel names? It seems like
most apps can find the stream descriptions that we currently supply;
but I would (ideally) like a more well supported and robust approach;
it would be especially cool if the HAL notified clients in the case
that the channel names had changed.
I guess the question is: if I implement the HAL approach you describe
below, will any app actually find the names?
Best regards,
B.J. Buchalter
On Dec 12, 2007, at 2:57 PM, Jeff Moore wrote:
There are three kinds of channel names that are supported. There's
the full channel name is the full, human readable name for the
channel (eg: Analog Input 3, SPDIF Out Left, ). The other two kinds,
the channel category name and the channel number name, work together
to allow for grouping together similar channels. For example a GUI
showing channel strips would use the category and number names like
this:
-------- Category -------
| | | |
| | | |
Number Number Number Number
| | | |
| | | |
At any rate, the driver provides the name strings to the HAL via
dictionaries in the IORegistry at the keys,
kIOAudioEngineFullChannelNamesKey,
kIOAudioEngineFullChannelCategoryNamesKey, and
kIOAudioEngineFullChannelNumberNamesKey. For all three dictionaries,
the key for each channel is constructed from
kIOAudioEngineFullChannelNameKeyInputFormat and
kIOAudioEngineFullChannelNameKeyOutputFormat. The value will be the
name in the form of a string (which can be further localized using
the driver's resource bundle in the usual way).
On Dec 11, 2007, at 5:11 PM, B.J. Buchalter wrote:
Can anyone point me to the documentation that describes how we are
supposed to implement the Channel Name dictionary properties for
our Core Audio drivers? Is there sample code for this or an example
of it in Open Source?
--
Jeff Moore
Core Audio
Apple
_______________________________________________
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
B.J. Buchalter
Metric Halo
http://www.mhlabs.com
_______________________________________________
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