+ // process mesage queue
+ const string msgid = "Sequential Audio Message";
+ bool is_playing = false;
+ if ( smgr->exists( msgid ) ) {
+ if ( smgr->is_playing( msgid ) ) {
+ // still playing, do nothing
+ is_playing = true;
+ } else {
+ // current message finished, stop and remove
+ smgr->stop( msgid ); // removes source
+ smgr->remove( msgid ); // removes buffer
+ }
+ }
+ if ( !is_playing ) {
+ // message queue idle, add next sound if we have one
+ if ( _samplequeue.size() > 0 ) {
+ smgr->add( _samplequeue.front(), msgid );
+ _samplequeue.pop();
+ smgr->play_once( msgid );
+ }
+ }
+