- // 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 );