m_mltProducer = m_blackClip->cut(0, 1);
m_mltConsumer->connect(*m_mltProducer);
m_mltProducer->set_speed(0.0);
+ m_refreshTimer.setSingleShot(true);
+ m_refreshTimer.setInterval(50);
+ connect(&m_refreshTimer, SIGNAL(timeout()), this, SLOT(refresh()));
}
Render::~Render()
int Render::resetProfile(const QString &profileName, bool dropSceneList)
{
+ m_refreshTimer.stop();
if (m_mltConsumer) {
if (m_externalConsumer == KdenliveSettings::external_display()) {
if (KdenliveSettings::external_display() && m_activeProfile == profileName) return 1;
int Render::setProducer(Mlt::Producer *producer, int position)
{
+ m_refreshTimer.stop();
QMutexLocker locker(&m_mutex);
QString currentId;
int consumerPosition = 0;
int Render::setSceneList(QString playlist, int position)
{
+ m_refreshTimer.stop();
QMutexLocker locker(&m_mutex);
if (m_winid == -1) return -1;
int error = 0;
if (m_mltConsumer->is_stopped()) {
m_mltConsumer->start();
}
- m_mltConsumer->set("refresh", "1");
m_mltProducer->set_speed(1.0);
+ m_mltConsumer->set("refresh", "1");
} else if (!play) {
m_mltProducer->set_speed(0.0);
m_mltConsumer->set("refresh", 0);
void Render::doRefresh()
{
- // Use a Timer so that we don't refresh too much
- QMutexLocker locker(&m_mutex);
+ m_refreshTimer.start();
+ /*QMutexLocker locker(&m_mutex);
if (m_mltConsumer) {
- if (m_mltConsumer->is_stopped()) m_mltConsumer->start();
+ if (m_mltConsumer->is_stopped()) {
+ kDebug()<<"pppppppppppppppp\n\nSTARTING CONSUMER: "<<m_name<<m_mltConsumer->start();
+ }
+ //m_mltProducer->set_speed(1);
m_mltConsumer->set("refresh", 1);
- }
+ //m_mltProducer->set_speed(0);
+ }*/
}
void Render::refresh()