if (info.cropStart == cropStart()) duplicate->slotSetStartThumb(m_startPix);
if (info.cropStart + (info.endPos - info.startPos) == m_cropStart + m_cropDuration) duplicate->slotSetEndThumb(m_endPix);
kDebug() << "// CLoning clip: " << (info.cropStart + (info.endPos - info.startPos)).frames(m_fps) << ", CURRENT end: " << (cropStart() + duration()).frames(m_fps);
- duplicate->setEffectList(m_effectList);
+ duplicate->setEffectList(m_effectList.clone());
duplicate->setSpeed(m_speed);
return duplicate;
}
return false;
}
+EffectsList EffectsList::clone() const {
+ EffectsList list = EffectsList();
+ for (int i = 0; i < this->size(); ++i) {
+ list.append(this->at(i).cloneNode().toElement());
+ }
+ return list;
+}
+
// static
void EffectsList::setParameter(QDomElement effect, QString name, QString value) {
QDomNodeList params = effect.elementsByTagName("parameter");
QStringList effectNames();
QString getInfo(const QString & tag, const QString & id);
QMap <QString, QString> effect(const QString & name);
+ EffectsList clone() const;
static bool hasKeyFrames(QDomElement effect);
static void setParameter(QDomElement effect, QString name, QString value);
};