X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fsound%2Fsample_openal.cxx;h=2eb4910d2bf73426a7e3ec4029c875790cb89c03;hb=c8953c6275647ab7a5593554bbb8cf5e9bd11279;hp=705b4d545eceec5c833a2f217476101dda15c283;hpb=faf41f7d9689ea2a99fdb3ae40ac3010a5528187;p=simgear.git diff --git a/simgear/sound/sample_openal.cxx b/simgear/sound/sample_openal.cxx index 705b4d54..2eb4910d 100644 --- a/simgear/sound/sample_openal.cxx +++ b/simgear/sound/sample_openal.cxx @@ -16,10 +16,13 @@ // // 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$ +#ifdef HAVE_CONFIG_H +# include +#endif #if defined( __APPLE__ ) # define AL_ILLEGAL_ENUM AL_INVALID_ENUM @@ -118,7 +121,8 @@ SGSoundSample::SGSoundSample( const char *path, const char *file) : if (buffer == AL_NONE) { ALenum error = alutGetError (); print_openal_error("constructor (alutCreateBufferFromFile)"); - throw sg_exception("Failed to load wav file: "+string(alutGetErrorString (error))); + throw sg_io_exception("Failed to load wav file: ", + sg_location(string(alutGetErrorString (error)))); } #else @@ -179,8 +183,6 @@ SGSoundSample::SGSoundSample( unsigned char *_data, int len, int _freq ) : throw sg_exception("Failed to buffer data."); } - free(_data); - print_openal_error("constructor return"); } @@ -336,6 +338,9 @@ SGSoundSample::set_orientation( ALfloat *dir, ALfloat inner_angle, inner = inner_angle; outer = outer_angle; outergain = outer_gain; + direction[0] = dir[0]; + direction[1] = dir[1]; + direction[2] = dir[2]; if (playing) { alSourcefv( source, AL_DIRECTION, dir); alSourcef( source, AL_CONE_INNER_ANGLE, inner ); @@ -385,7 +390,8 @@ SGSoundSample::load_file(const char *path, const char *file) ALfloat freqf; data = alutLoadMemoryFromFile(samplepath.c_str(), &format, &size, &freqf ); if (data == NULL) { - throw sg_exception("Failed to load wav file."); + throw sg_io_exception("Failed to load wav file.", + sg_location(samplepath.str())); } freq = (ALsizei)freqf; #else @@ -397,7 +403,8 @@ SGSoundSample::load_file(const char *path, const char *file) &format, &data, &size, &freq, &loop ); # endif if ( print_openal_error("constructor (alutLoadWAVFile)") ) { - throw sg_exception("Failed to load wav file."); + throw sg_io_exception("Failed to load wav file.", + sg_location(samplepath.str())); } #endif