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 20:11:00 -0500
I see -- so, if I implement the dictionaries, the HAL will use that
info to return the kAudioDevicePropertyChannelNameCFString properties
if an app requests it; the apps are not dealing with the dictionaries
directly.
Ok -- I'll give it shot and see who salutes.
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.
Feel free to file a feature request about the notification support.
Seems like a reasonable thing to do.
Ok -- I'll do so.
Thanks for the info!
Best regards,
B.J. Buchalter
On Dec 12, 2007, at 6:54 PM, Jeff Moore wrote:
On Dec 12, 2007, at 3:21 PM, B.J. Buchalter wrote:
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.
Not surprising. It's an optional feature.
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.
What I described is how the HAL reads the data from the IO registry.
Data in other forms aren't supported directly by the HAL.
It is possible that the MotU driver's HAL plug-in is translating
between what the driver provides and what the property API expects.
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.
AMS will show the channel name if you hover over the channel strip.
At least that's what the code appears to do. I think AMS also uses
the channel name in the UI for configuring the surround sound setup.
HALLab doesn't do anything with those properties (about which I just
filed a bug).
What apps actually support fetching the channel names?
Good question. I don't really know the answer to that.
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.
Feel free to file a feature request about the notification support.
Seems like a reasonable thing to do.
I guess the question is: if I implement the HAL approach you
describe below, will any app actually find the names?
Seeing how that's the only way to get at that information through
the HAL's standard API, it would seem your only logical choice.
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