void Render::seek(GenTime time) {
if (!m_mltProducer)
return;
- //kDebug()<<"////////// KDENLIVE SEEK: "<<(int) (time.frames(m_fps));
+ m_isBlocked = false;
m_mltProducer->seek((int)(time.frames(m_fps)));
refresh();
}
return;
if (m_isZoneMode) resetZoneMode();
if (m_mltProducer->get_speed() == 0.0) {
- //m_isBlocked = false;
+ m_isBlocked = false;
m_mltProducer->set_speed(1.0);
m_mltConsumer->set("refresh", 1);
- kDebug() << " ********* RENDER PLAY: " << m_mltProducer->get_speed();
} else {
- //m_isBlocked = true;
+ m_isBlocked = true;
m_mltConsumer->set("refresh", 0);
m_mltProducer->set_speed(0.0);
- //m_isBlocked = true;
- m_mltProducer->seek((int) m_framePosition);
+ emit rendererPosition(m_framePosition);
+ m_mltProducer->seek(m_framePosition);
+ m_mltConsumer->purge();
//kDebug()<<" ********* RENDER PAUSE: "<<m_mltProducer->get_speed();
//m_mltConsumer->set("refresh", 0);
/*mlt_position position = mlt_producer_position( m_mltProducer->get_producer() );
}
void Render::play(double speed) {
- kDebug() << " ********* REDNER PLAY";
if (!m_mltProducer)
return;
// if (speed == 0.0) m_mltProducer->set("out", m_mltProducer->get_length() - 1);
+ m_isBlocked = false;
m_mltProducer->set_speed(speed);
/*if (speed == 0.0) {
m_mltProducer->seek((int) m_framePosition + 1);
void Render::play(const GenTime & startTime) {
if (!m_mltProducer || !m_mltConsumer)
return;
+ m_isBlocked = false;
m_mltProducer->seek((int)(startTime.frames(m_fps)));
m_mltProducer->set_speed(1.0);
m_mltConsumer->set("refresh", 1);
void Render::playZone(const GenTime & startTime, const GenTime & stopTime) {
if (!m_mltProducer || !m_mltConsumer)
return;
+ m_isBlocked = false;
m_mltProducer->set("out", stopTime.frames(m_fps));
m_mltProducer->seek((int)(startTime.frames(m_fps)));
m_mltProducer->set_speed(1.0);
//kDebug()<<" ********* RENDER SEEK TO POS";
if (!m_mltProducer)
return;
+ m_isBlocked = false;
resetZoneMode();
m_mltProducer->seek(pos);
refresh();