X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fsound%2Fsample_openal.cxx;h=27fc988364e7e4d539d58385e5c7e7aba8b833c0;hb=a7f78b9f68550efd85e3032cdfaf362664352359;hp=ffedaab4269c12858321c1b3689eacbb72b0d9d3;hpb=331a4e44063fc4edab4c9639e5c1bc0d42e94fa0;p=simgear.git diff --git a/simgear/sound/sample_openal.cxx b/simgear/sound/sample_openal.cxx index ffedaab4..27fc9883 100644 --- a/simgear/sound/sample_openal.cxx +++ b/simgear/sound/sample_openal.cxx @@ -83,6 +83,8 @@ SGSoundSample::SGSoundSample( const char *path, const char *file, source_pos[0] = 0.0; source_pos[1] = 0.0; source_pos[2] = 0.0; offset_pos[0] = 0.0; offset_pos[1] = 0.0; offset_pos[2] = 0.0; source_vel[0] = 0.0; source_vel[1] = 0.0; source_vel[2] = 0.0; + direction[0] = 0.0; direction[1] = 0.0; direction[2] = 0.0; + inner = outer = 360.0; outergain = 0.0; // clear errors from elsewhere? alGetError(); @@ -128,6 +130,10 @@ SGSoundSample::SGSoundSample( const char *path, const char *file, alSourcef( source, AL_PITCH, pitch ); alSourcef( source, AL_GAIN, volume ); alSourcefv( source, AL_POSITION, source_pos ); + alSourcefv( source, AL_DIRECTION, direction ); + alSourcef( source, AL_CONE_INNER_ANGLE, inner ); + alSourcef( source, AL_CONE_OUTER_ANGLE, outer ); + alSourcef( source, AL_CONE_OUTER_GAIN, outergain); alSourcefv( source, AL_VELOCITY, source_vel ); alSourcei( source, AL_LOOPING, loop ); @@ -154,6 +160,7 @@ SGSoundSample::SGSoundSample( unsigned char *_data, int len, int _freq, source_pos[0] = 0.0; source_pos[1] = 0.0; source_pos[2] = 0.0; offset_pos[0] = 0.0; offset_pos[1] = 0.0; offset_pos[2] = 0.0; source_vel[0] = 0.0; source_vel[1] = 0.0; source_vel[2] = 0.0; + inner = outer = 360.0; outergain = 0.0; // clear errors from elsewhere? alGetError(); @@ -192,6 +199,10 @@ SGSoundSample::SGSoundSample( unsigned char *_data, int len, int _freq, alSourcef( source, AL_PITCH, pitch ); alSourcef( source, AL_GAIN, volume ); alSourcefv( source, AL_POSITION, source_pos ); + alSourcefv( source, AL_DIRECTION, direction ); + alSourcef( source, AL_CONE_INNER_ANGLE, inner ); + alSourcef( source, AL_CONE_OUTER_ANGLE, outer ); + alSourcef( source, AL_CONE_OUTER_GAIN, outergain ); alSourcefv( source, AL_VELOCITY, source_vel ); alSourcei( source, AL_LOOPING, loop );