unsigned int App::addSampler() { samplers_.push_back(std::tr1::shared_ptr<Sampler>(new Sampler())); unsigned int index = samplers_.size() - 1; Sampler *sampler = samplers_[index].get(); clutter_container_add_actor(CLUTTER_CONTAINER(stage_), sampler->getGenerator()->getRoot()); return samplers_.size() - 1; }
bool App::clearLast() { // XXX if you edit this, also edit clearAll if (samplers_.size() == 0) return false; Sampler *sampler = samplers_[samplers_.size() - 1].get(); clutter_container_remove_actor(CLUTTER_CONTAINER(stage_), sampler->getGenerator()->getRoot()); samplers_.erase(samplers_.end() - 1); return true; }
void App::clearAll() { // XXX if you edit this, also edit clearLast std::vector<std::tr1::shared_ptr<Sampler> >::iterator iter; for (iter = samplers_.begin(); iter < samplers_.end(); ++iter) { Sampler *sampler = (*iter).get(); // deletes the ClutterActors clutter_container_remove_actor(CLUTTER_CONTAINER(stage_), sampler->getGenerator()->getRoot()); } samplers_.clear(); }
void App::drawSamplers() { // Draw each sampler std::vector<std::tr1::shared_ptr<Sampler> >::iterator iter; for (iter = samplers_.begin(); iter < samplers_.end(); ++iter) { Sampler *sampler = (*iter).get(); tempi::Message result; bool ok = sampler->getPlayer()->read(result); if (ok) { if (result.typesMatch("ff")) { float x = result.getFloat(0); float y = result.getFloat(1); sampler->getGenerator()->setSourcePosition(x, y); } else std::cerr << "types don't match: " << result.getTypes() << std::endl; } sampler->getGenerator()->onDraw(); } }