X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fsound%2Fsoundmgr_openal.hxx;h=477386e53b249115bcb2223e0254677f802690cf;hb=8174005ac897f7042d71145201f139b67e08a5ce;hp=3f7c4cbd1e767075ab87c29ed20b59da9b340b84;hpb=5c3b4abf427b6bdd1643e9467e426aaecd59abe4;p=simgear.git diff --git a/simgear/sound/soundmgr_openal.hxx b/simgear/sound/soundmgr_openal.hxx index 3f7c4cbd..477386e5 100644 --- a/simgear/sound/soundmgr_openal.hxx +++ b/simgear/sound/soundmgr_openal.hxx @@ -5,7 +5,7 @@ // // C++-ified by Curtis Olson, started March 2001. // -// Copyright (C) 2001 Curtis L. Olson - curt@flightgear.org +// Copyright (C) 2001 Curtis L. Olson - http://www.flightgear.org/~curt // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License as @@ -19,7 +19,7 @@ // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software -// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. // // $Id$ @@ -39,22 +39,24 @@ #include -#include STL_STRING +#include #include #if defined( __APPLE__ ) # include +# include #else # include +# include #endif #include "sample_openal.hxx" -SG_USING_STD(map); -SG_USING_STD(string); +using std::map; +using std::string; -typedef map < string, SGSoundSample * > sample_map; +typedef map < string, SGSharedPtr > sample_map; typedef sample_map::iterator sample_map_iterator; typedef sample_map::const_iterator const_sample_map_iterator; @@ -65,6 +67,9 @@ typedef sample_map::const_iterator const_sample_map_iterator; class SGSoundMgr { + ALCdevice *dev; + ALCcontext *context; + // Position of the listener. ALfloat listener_pos[3]; @@ -174,6 +179,16 @@ public: */ bool stop( const string& refname ); + /** + * set overall volume for the application. + * @param vol 1.0 is default, must be greater than 0 + */ + inline void set_volume( const ALfloat vol ) { + if ( vol > 0.0 ) { + alListenerf( AL_GAIN, vol ); + } + } + /** * set the position of the listener (in opengl coordinates) */ @@ -191,7 +206,9 @@ public: listener_vel[0] = vel[0]; listener_vel[1] = vel[1]; listener_vel[2] = vel[2]; +#ifdef USE_OPEN_AL_DOPPLER alListenerfv( AL_VELOCITY, listener_vel ); +#endif } /**