Correct way to implement enhanced USB subwoofer support?
Correct way to implement enhanced USB subwoofer support?
- Subject: Correct way to implement enhanced USB subwoofer support?
- From: Robert Muchsel <email@hidden>
- Date: Mon, 3 Jun 2002 22:11:40 -0500
Dear list members,
I hope this is the correct mailing list. I found some comments about
AppleUSBAudio in the archives, but please forgive me if this should be
on the kernel list.
Summary: I want to implement a separate bass volume control and some
other enhancements for a USB subwoofer under OS X.
Looking at the AppleUSBAudio, I have some questions regarding the
correct way to implement this without violating the overall philosophy
of the system.
1) It seems the general idea is to present the hardware as-is. However,
in the case of the subwoofer (iSub support in AppleUSBAudio and
AppleOnboardAudio), the device is hidden from the user. It seems to me
that one would need support of multiple simultaneous system output
devices if one wanted to present the subwoofer device to the user in the
system control panel (however, regular applications probably only
support one output so some kind of system (de-/)multiplexer would be
required which should probably be avoided -- on the other hand,
CoreAudio could probably do a good job selecting which frequencies go
where). Are there any plans to change the current behavior?
2) If the subwoofer is going to be hidden from the user, what is the
proper way to set the bass volume? The iSub code just takes
(master*60)/max. Assuming one wanted to make the "60" configurable
(personally, I think 60 is too much for the iSub), is there a special
bass level AudioControl (like the 'vlme' for volume, but I couldn't find
one for bass in the driver sources) that would maybe even be picked up
by the system control panel (an on/off toggle would be nice too)?
3) Could I access CoreAudio functionality from the driver to route low
frequencies and some middle frequencies (using a soft declining curve)
to the subwoofer, all high ones (and some lower frequencies using a
declining curve) to the "other" speakers? I want to avoid one cut-off
frequency below which everything goes to the subwoofer and above which
everything is routed to to the "other" speakers. Ideally the function
should be user-configurable and access functionality already provided by
the system...
For starters, it seems easy enough adding a 'subV' (for subwoofer
volume) IOAudioLevelControl and then using FindEntryByNameAndProperty()
to query its value, however I don't know whether that's the right way to
do it (and I would probably have to add my own control panel that sets
this value).
Last but not least, much of the code would probably be from
AppleUSBAudio. I've seen some patches posted on this list and (of
course) I wonder whether there's more that would bring the code to the
current 10.1.4/.5 level, so users wouldn't have to suffer from bugs that
have already been corrected. Also, users would probably have to install
a patched version of AppleUSBAudio if they wanted the subwoofer to work
with any USB speaker system currently supported by AppleUSBAudio (oh
dear, major support nightmare) - could a modified version be placed in
/Library instead of /System/Library?
Thanks for your advice
Robert
_______________________________________________
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.