void AudioManager::play_sample_playlist(SamplePlaylist *playlist, float volume) { AudioSource *src; if (!playlist->started){ src = request_source(&playlist->source_idx); if (src){ playlist->it = playlist->samples.begin(); src->set_sample((*playlist->it)); src->set_volume(volume); src->set_playback_volume(volume); src->play(); playlist->it++; playlist->started = true; } } else{ src = get_audio_source(playlist->source_idx); if (src && !src->is_playing()){ if (!(playlist->it == playlist->samples.end())){ src->set_sample((*playlist->it)); src->set_volume(volume); src->set_playback_volume(volume); src->play(); playlist->it++; } } } if (playlist->loop && playlist->it == playlist->samples.end()) playlist->it = playlist->samples.begin(); }
void AudioManager::play_sample(AudioSample *sample, float volume, AUDIO_PLAYMODE mode, const Vector3 &position, int *src_idx) { AudioSource *source = request_source(src_idx); if (source){ source->set_sample(sample); source->set_volume(volume); source->set_playback_volume(volume); source->set_looping((bool)mode); source->set_position(position); source->play(); } }
int main(void){ signal(SIGTTOU,SIG_IGN); signal(SIGTTIN,SIG_IGN); signal(SIGPIPE,SIG_IGN); Arc::Logger logger(Arc::Logger::rootLogger, "PDPTest"); Arc::LogStream logcerr(std::cerr); Arc::Logger::rootLogger.addDestination(logcerr); logger.msg(Arc::INFO, "Start test"); ArcSec::EvaluatorLoader eval_loader; //TEST: XACMLEvaluator, XACMLPolicy, XACMLRequest //Load the Evaluator ArcSec::Evaluator* eval = NULL; std::string evaluator = "xacml.evaluator"; eval = eval_loader.getEvaluator(evaluator); if(eval == NULL) { logger.msg(Arc::ERROR, "Can not dynamically produce Evaluator"); return 0; } ArcSec::Policy* policy = NULL; std::string policyclassname = "xacml.policy"; ArcSec::SourceFile policy_source("XACML_Policy.xml"); policy = eval_loader.getPolicy(policyclassname, policy_source); if(policy == NULL) logger.msg(Arc::ERROR, "Can not dynamically produce Policy"); ArcSec::Request* request = NULL; std::string requestclassname = "xacml.request"; ArcSec::SourceFile request_source("XACML_Request.xml"); request = eval_loader.getRequest(requestclassname, request_source); if(request == NULL) logger.msg(Arc::ERROR, "Can not dynamically produce Request"); /**Two options to add policy into evaluator*/ //eval->addPolicy(policy_source); eval->addPolicy(policy); ArcSec::Response *resp = NULL; /**Feed evaluator with request to execute evaluation*/ resp = eval->evaluate(request_source); //resp = eval->evaluate(request_source, policy); //resp = eval->evaluate(request, policy_source); //resp = eval->evaluate(request_source, policy_source); //resp = eval->evaluate(request, policy); /**Get the response*/ ArcSec::ResponseList rlist = resp->getResponseItems(); std::cout<<rlist[0]->res<<std::endl; if(resp){ delete resp; resp = NULL; } delete eval; delete request; return 0; }