Esempio n. 1
0
void
Tracker::stopTracking()
{
    TrackerHelperPtr tracker = _tracker.lock();
    if (!tracker) {
        PythonSetNullError();
        return;
    }
    tracker->abortTracking();
}
Esempio n. 2
0
void
Track::reset()
{
    TrackMarkerPtr marker = getInternalMarker();
    if (!marker) {
        PythonSetNullError();
        return;
    }
    marker->resetTrack();
}
Esempio n. 3
0
Effect*
Group::getNode(const QString& fullySpecifiedName) const
{
    if ( !_collection.lock() ) {
        PythonSetNullError();
        return 0;
    }
    NodePtr node = _collection.lock()->getNodeByFullySpecifiedName( fullySpecifiedName.toStdString() );
    if ( node && node->isActivated() ) {
        return App::createEffectFromNodeWrapper(node);
    } else {
        return NULL;
    }
}
Esempio n. 4
0
Track*
Tracker::createTrack()
{
    KnobItemsTablePtr model = getInternalModel();
    if (!model) {
        PythonSetNullError();
        return 0;
    }
    TrackMarkerPtr track = TrackMarker::create(model);
    track->resetCenter();
    model->addItem(track, KnobTableItemPtr(), eTableChangeReasonInternal);
    Track* ret = dynamic_cast<Track*>( ItemsTable::createPyItemWrapper(track) );
    assert(ret);
    return ret;
}
Esempio n. 5
0
void
Tracker::startTracking(const std::list<Track*>& marks,
                       int start,
                       int end,
                       bool forward)
{
    TrackerHelperPtr tracker = _tracker.lock();
    if (!tracker) {
        PythonSetNullError();
        return;
    }

    std::list<TrackMarkerPtr> markers;
    for (std::list<Track*>::const_iterator it = marks.begin(); it != marks.end(); ++it) {
        markers.push_back( (*it)->getInternalMarker() );
    }

    tracker->trackMarkers(markers, start, end, forward, (OverlaySupport*)(NULL));
}
Esempio n. 6
0
std::list<Effect*>
Group::getChildren() const
{
    std::list<Effect*> ret;

    if ( !_collection.lock() ) {
        PythonSetNullError();
        return ret;
    }

    NodesList nodes = _collection.lock()->getNodes();

    for (NodesList::iterator it = nodes.begin(); it != nodes.end(); ++it) {
        if ( (*it)->isActivated() ) {
            Effect* effect = App::createEffectFromNodeWrapper(*it);
            assert(effect);
            ret.push_back(effect);
        }
    }

    return ret;
}