Пример #1
0
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;
}
Пример #2
0
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;
}
Пример #3
0
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();
}
Пример #4
0
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();
    }
}