[Openal-devel] Volume Control extension

Jason Daly jdaly at ist.ucf.edu
Wed Jul 22 19:48:15 PDT 2009


Chris Robinson wrote:
> On Tuesday 21 July 2009 7:16:09 pm Guilherme Balena Versiani wrote:
>   
>> Hi,
>>
>> I am using OpenAL in a VoIP spacialization environment and now I want
>> to control the system sound volume.
>>     
>
> Normally, you'd set the listener's gain to control the output volume of the 
> app, or the source gain to control the volume of the individual sources. It 
> won't affect other applications, but is there a reason you need to?
>   

Most people consider this bad form, anyway.  Your app should handle its 
own gain, but leave other apps alone.  In most cases, you don't really 
know what else the user is doing, so you shouldn't presume to manipulate 
global settings.

This is the main reason OpenAL doesn't have this capability.  It's not 
really part of its job.  I suppose you could make the argument that a 
cross-platform audio mixing control library would have value, but that's 
outside the scope of OpenAL.


> The current Windows DLLs are closed source with a proprietary license, 
> although they freely allow dynamic linking and redistribution of the DLLs 
> without having to do anything special. OpenAL Soft and the old Windows code 
> are LGPL. The old OSX code is under an X11/MIT-like license, but I think the 
> current code is closed source now, too.
>
> It looks like PortMixer is GPL (?), in which case the LGPL and X11-like 
> licenses should be fine with it (though any sources from them would be 
> distributed under the GPL terms as a derivative work). OSX's OpenAL could 
> probably be considered a system component, so it should be alright to use even 
> though it's not open.
>
> I don't know if Creative's Windows DLLs can be considered a system component, 
> though they do install into the system directory (system32 and/or syswow64). 
> OpenAL Soft does work on Windows though, and is ABI-compatible, so you can 
> always use that if an existing OpenAL isn't present on the system.
>   

They're designed to be a system component (or at least a system 
add-on).  That was the original intent of the "Router" implementation 
and the oalinst.exe redistributable installer.  The simplest thing to do 
is to bundle oalinst.exe with your installer and have it run during the 
installation process, or just point the user to where they can download 
it (http://connect.creativelabs.com/openal/Downloads/oalinst.zip)

--"J"

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://opensource.creative.com/pipermail/openal-devel/attachments/20090722/8a02988e/attachment.html


More information about the Openal-devel mailing list