connect(transitionList, SIGNAL(activated(int)), this, SLOT(slotTransitionChanged()));
connect(transitionTrack, SIGNAL(activated(int)), this, SLOT(slotTransitionTrackChanged()));
- connect(m_effectEdit, SIGNAL(parameterChanged(const QDomElement, const QDomElement, int)), this , SLOT(slotUpdateEffectParams(const QDomElement, const QDomElement)));
+ connect(m_effectEdit, SIGNAL(parameterChanged(QDomElement,QDomElement,int)), this , SLOT(slotUpdateEffectParams(QDomElement,QDomElement)));
}
-void TransitionSettings::updateProjectFormat(MltVideoProfile profile, Timecode t, const QList <TrackInfo> info)
+void TransitionSettings::updateProjectFormat(MltVideoProfile profile, Timecode t, const QList<TrackInfo> &info)
{
m_effectEdit->updateProjectFormat(profile, t);
m_tracks = info;
m_effectEdit->transferParamDesc(e, m_usedTransition->info(), false);
} else {
// Same transition, we just want to update the parameters value
- slotUpdateEffectParams(e, e);
- if (m_usedTransition->hasGeometry())
- m_effectEdit->transferParamDesc(m_usedTransition->toXML(), m_usedTransition->info(), false);
+ int ix = transitionList->findData(m_usedTransition->transitionInfo(), Qt::UserRole, Qt::MatchExactly);
+ if (ix != transitionList->currentIndex()) {
+ // Transition type changed, reload params
+ transitionList->blockSignals(true);
+ transitionList->setCurrentIndex(ix);
+ transitionList->blockSignals(false);
+ m_effectEdit->transferParamDesc(e, m_usedTransition->info(), false);
+ }
+ else {
+ slotUpdateEffectParams(e, e);
+ if (m_usedTransition->hasGeometry())
+ m_effectEdit->transferParamDesc(m_usedTransition->toXML(), m_usedTransition->info(), false);
+ }
+ if (m_effectEdit->needsMonitorEffectScene())
+ connect(m_effectEdit->monitor(), SIGNAL(renderPosition(int)), this, SLOT(slotRenderPos(int)));
}
slotCheckMonitorPosition(m_effectEdit->monitor()->render->seekFramePosition());
}
m_usedTransition = NULL;
ItemInfo info;
m_effectEdit->transferParamDesc(QDomElement(), info, false);
+ m_effectEdit->monitor()->slotShowEffectScene(false);
}
}
{
if (!isEnabled()) return;
if (m_effectEdit->needsMonitorEffectScene()) {
- if (renderPos >= m_usedTransition->startPos().frames(KdenliveSettings::project_fps()) && renderPos <= m_usedTransition->endPos().frames(KdenliveSettings::project_fps())) {
+ if (renderPos >= m_usedTransition->startPos().frames(KdenliveSettings::project_fps()) && renderPos < m_usedTransition->endPos().frames(KdenliveSettings::project_fps())) {
if (!m_effectEdit->monitor()->effectSceneDisplayed()) {
m_effectEdit->monitor()->slotShowEffectScene(true);
}
}
}
-void TransitionSettings::setKeyframes(const QString data, int maximum)
+void TransitionSettings::setKeyframes(const QString &data, int maximum)
{
m_effectEdit->setKeyframes(data, maximum);
}