// <david_j_findlay@yahoo.com.au> 2001
//
// C++-ified by Curtis Olson, started March 2001.
+// Modified for the new SoundSystem by Erik Hofman, October 2009
//
// Copyright (C) 2001 Curtis L. Olson - http://www.flightgear.org/~curt
+// Copyright (C) 2009 Erik Hofman <erik@ehofman.com>
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
_sources_in_use.clear();
}
-void SGSoundMgr::update( double dt )
-{
- // nothing to do in the regular update, everything is done on the following
- // function
-}
-
-
// run the audio scheduler
void SGSoundMgr::update_late( double dt ) {
- if (_working) {
+ if (_working && dt != 0.0) {
alcSuspendContext(_context);
sample_group_map_iterator sample_grp_current = _sample_groups.begin();
return false;
}
+ if (_working) sgrp->activate();
_sample_groups[refname] = sgrp;
return true;
// sample name was not found in the buffer cache.
if ( sample->is_file() ) {
- unsigned int size;
+ size_t size;
int freq, format;
void *data;
}
bool SGSoundMgr::load(string &samplepath, void **dbuf, int *fmt,
- unsigned int *sz, int *frq )
+ size_t *sz, int *frq )
{
ALenum format;
ALsizei size;
ALboolean loop;
alutLoadWAVFile( fname, &format, &data, &size, &freq, &loop );
# endif
- ALenum error = alutGetError();
- if ( error != ALUT_ERROR_NO_ERROR ) {
+ ALenum error = alGetError();
+ if ( error != AL_NO_ERROR ) {
string msg = "Failed to load wav file: ";
msg.append(alutGetErrorString(error));
throw sg_io_exception(msg.c_str(), sg_location(samplepath));
*dbuf = (void *)data;
*fmt = (int)format;
- *sz = (unsigned int)size;
+ *sz = (size_t)size;
*frq = (int)freq;
return true;