// initialize the sound manager
void SGSoundMgr::init() {
+printf("Initializing OpenAL sound manager\n");
SG_LOG( SG_GENERAL, SG_INFO, "Initializing OpenAL sound manager" );
ALCdevice *device = alcOpenDevice(_devname);
return;
}
+ if (_context != NULL)
+ SG_LOG(SG_GENERAL, SG_ALERT, "context is already assigned");
_context = context;
_working = true;
else break;
}
+printf("%i free sources found\n", _free_sources.size() );
if (_free_sources.size() == 0) {
SG_LOG(SG_GENERAL, SG_ALERT, "Unable to grab any OpenAL sources!");
}
// stop the sound manager
void SGSoundMgr::stop() {
if (_working) {
+printf("Stopping Sound Manager\n");
_working = false;
_active = false;
void SGSoundMgr::suspend() {
if (_working) {
+printf("SoundManager suspend\n");
sample_group_map_iterator sample_grp_current = _sample_groups.begin();
sample_group_map_iterator sample_grp_end = _sample_groups.end();
for ( ; sample_grp_current != sample_grp_end; ++sample_grp_current ) {
void SGSoundMgr::resume() {
if (_working) {
+printf("SoundManager resume\n");
sample_group_map_iterator sample_grp_current = _sample_groups.begin();
sample_group_map_iterator sample_grp_end = _sample_groups.end();
for ( ; sample_grp_current != sample_grp_end; ++sample_grp_current ) {
void SGSoundMgr::bind ()
{
+printf("SoundManager bind\n");
_free_sources.clear();
_free_sources.reserve( MAX_SOURCES );
_sources_in_use.clear();
void SGSoundMgr::unbind ()
{
+printf("SoundManager unbind\n");
_sample_groups.clear();
// delete free sources