} else if (type == "geometry") {
if (KdenliveSettings::on_monitor_effects()) {
GeometryWidget *geometry = new GeometryWidget(m_monitor, m_timecode, pos, isEffect, this);
+ // connect this before setupParam to make sure the monitor scene shows up at startup
+ connect(geometry, SIGNAL(checkMonitorPosition(int)), this, SIGNAL(checkMonitorPosition(int)));
if (minFrame == maxFrame)
geometry->setupParam(pa, m_in, m_out);
else
m_vbox->addWidget(geometry);
m_valueItems[paramName+"geometry"] = geometry;
connect(geometry, SIGNAL(parameterChanged()), this, SLOT(collectAllParameters()));
- connect(geometry, SIGNAL(checkMonitorPosition(int)), this, SIGNAL(checkMonitorPosition(int)));
connect(geometry, SIGNAL(seekToPos(int)), this, SIGNAL(seekTimeline(int)));
connect(this, SIGNAL(syncEffectsPos(int)), geometry, SLOT(slotSyncPosition(int)));
} else {
void EffectStackView::slotRenderPos(int pos)
{
- if (m_clipref && m_effectedit)
+ if (m_clipref && m_effectedit && !m_trackMode)
m_effectedit->slotSyncEffectsPos(pos - m_clipref->startPos().frames(KdenliveSettings::project_fps()));
}
m_scene->addItem(m_rect);
slotPositionChanged(0, false);
- slotUpdateProperties();
slotCheckMonitorPosition(m_monitor->render->seekFramePosition());
}