- Geometryval *geo = new Geometryval(m_profile, m_timecode, m_frameSize, pos);
- if (minFrame == maxFrame)
- geo->setupParam(pa, m_in, m_out);
- else
- geo->setupParam(pa, minFrame, maxFrame);
- m_vbox->addWidget(geo);
- m_valueItems[paramName+"geometry"] = geo;
- connect(geo, SIGNAL(parameterChanged()), this, SLOT(collectAllParameters()));
- connect(geo, SIGNAL(seekToPos(int)), this, SIGNAL(seekTimeline(int)));
+ if (KdenliveSettings::on_monitor_effects()) {
+ GeometryWidget *geometry = new GeometryWidget(m_monitor, m_timecode, pos, isEffect, this);
+ geometry->setFrameSize(m_frameSize);
+ geometry->slotShowScene(!disable);
+ // connect this before setupParam to make sure the monitor scene shows up at startup
+ connect(geometry, SIGNAL(checkMonitorPosition(int)), this, SIGNAL(checkMonitorPosition(int)));
+ connect(geometry, SIGNAL(parameterChanged()), this, SLOT(collectAllParameters()));
+ if (minFrame == maxFrame)
+ geometry->setupParam(pa, m_in, m_out);
+ else
+ geometry->setupParam(pa, minFrame, maxFrame);
+ m_vbox->addWidget(geometry);
+ m_valueItems[paramName+"geometry"] = geometry;
+ connect(geometry, SIGNAL(seekToPos(int)), this, SIGNAL(seekTimeline(int)));
+ connect(this, SIGNAL(syncEffectsPos(int)), geometry, SLOT(slotSyncPosition(int)));
+ connect(this, SIGNAL(effectStateChanged(bool)), geometry, SLOT(slotShowScene(bool)));
+ } else {
+ Geometryval *geo = new Geometryval(m_profile, m_timecode, m_frameSize, pos);
+ if (minFrame == maxFrame)
+ geo->setupParam(pa, m_in, m_out);
+ else
+ geo->setupParam(pa, minFrame, maxFrame);
+ m_vbox->addWidget(geo);
+ m_valueItems[paramName+"geometry"] = geo;
+ connect(geo, SIGNAL(parameterChanged()), this, SLOT(collectAllParameters()));
+ connect(geo, SIGNAL(seekToPos(int)), this, SIGNAL(seekTimeline(int)));
+ connect(this, SIGNAL(syncEffectsPos(int)), geo, SLOT(slotSyncPosition(int)));
+ }