Re: Enable system volume when driver doesn't
Re: Enable system volume when driver doesn't
- Subject: Re: Enable system volume when driver doesn't
- From: Jeff Moore <email@hidden>
- Date: Mon, 10 Mar 2008 14:11:19 -0700
On Mar 10, 2008, at 8:54 AM, Mikael Hakman wrote:
I need to control volume level when using standard system media
applications and (external) audio interfaces that don't enable OS X
master system volume control. I need to enable system volume so that
the user could use Apple IR remote to control it. I don't know what
is available and/or possible to accomplish so I would like you to
comment on conceivable approaches.
There is no direct way to do this.
One way to do it would be a kind of virtual audio device driver.
There are a few hack-ish ways to do it, of which this is one.
Such a driver would take name of real audio interface as a
parameter. The driver would be chosen as default audio output by the
user. It would present itself to the operating system in such a way
that the system volume would be enabled. It would intercept the
outgoing audio stream(s), rescale the volume, and pass modified
stream(s) to the real device driver.
I don't know whether it is possible to implement such driver at all
and what technology (API) would you use. If it is then perhaps there
is such driver already available? If it isn't available then I would
appreciate pointers to relevant API and example documents.
You'd be dealing with the HAL's user-land driver API. The sample code
for such a driver is in /Developer/Examples/CoreAudio/HAL/
SampleHardwarePlugIn.
That said, what you propose is easier said than done. There are a lot
of behaviors and semantics you'd have to implement to make this as
transparent as you would like. Basically, you have to implement a
repeater for all the properties and what not. The sample code won't
really help you with this, but will show you the basics of writing
such a driver.
--
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