http://www.kdenlive.org/mantis/view.php?id=236
svn path=/branches/KDE4/; revision=2542
QDomNode namenode = effect.elementsByTagName("name").item(0);
if (!namenode.isNull()) list.append(i18n(namenode.toElement().text().toUtf8().data()));
}
QDomNode namenode = effect.elementsByTagName("name").item(0);
if (!namenode.isNull()) list.append(i18n(namenode.toElement().text().toUtf8().data()));
}
}
Mlt::Service clipService(clip->get_service());
m_isBlocked = true;
}
Mlt::Service clipService(clip->get_service());
m_isBlocked = true;
+
+ // temporarily remove all effects after insert point
+ QList <Mlt::Filter *> filtersList;
+ const int filer_ix = QString(args.value("kdenlive_ix")).toInt();
+ int ct = 0;
+ Mlt::Filter *filter = clipService.filter(ct);
+ while (filter) {
+ if (QString(filter->get("kdenlive_ix")).toInt() > filer_ix) {
+ filtersList.append(filter);
+ clipService.detach(*filter);
+ } else ct++;
+ filter = clipService.filter(ct);
+ }
+
// create filter
QString tag = args.value("tag");
kDebug() << " / / INSERTING EFFECT: " << tag;
// create filter
QString tag = args.value("tag");
kDebug() << " / / INSERTING EFFECT: " << tag;
}
delete[] filterId;
delete[] filterTag;
}
delete[] filterId;
delete[] filterTag;
+
+ // re-add following filters
+ for (int i = 0; i < filtersList.count(); i++) {
+ clipService.attach(*(filtersList.at(i)));
+ }
+
m_isBlocked = false;
if (doRefresh) refresh();
return true;
m_isBlocked = false;
if (doRefresh) refresh();
return true;