m_effectNames = m_effectList.effectNames().join(" / ");
if (!m_effectList.isEmpty()) {
for (int i = 0; i < m_effectList.count(); i++) {
- QDomElement effect = m_effectList.itemFromIndex(i + 1);
+ QDomElement effect = m_effectList.at(i);
QString effectId = effect.attribute("id");
// check if it is a fade effect
QDomNodeList params = effect.elementsByTagName("parameter");
void ClipItem::setKeyframes(const int ix, const QStringList keyframes)
{
- QDomElement effect = getEffectAt(ix);
+ QDomElement effect = m_effectList.at(ix);
if (effect.attribute("disable") == "1") return;
QLocale locale;
QDomNodeList params = effect.elementsByTagName("parameter");
QStringList ClipItem::keyframes(const int index)
{
QStringList result;
- QDomElement effect = effectAt(index);
+ QDomElement effect = m_effectList.at(index);
QDomNodeList params = effect.elementsByTagName("parameter");
for (int i = 0; i < params.count(); i++) {
QDomElement ClipItem::getEffectAt(int ix) const
{
- if (ix > m_effectList.count() || ix < 0) return QDomElement();
+ if (ix > m_effectList.count() || ix <= 0) return QDomElement();
return m_effectList.itemFromIndex(ix);
}
for (int i = 0; i < clips.count(); ++i) {
if (clips.at(i)->type() == AVWIDGET) {
ClipItem *item = static_cast < ClipItem *>(clips.at(i));
- for (int j = 0; j < clip->effectsCount(); j++) {
+ for (int j = 1; j <= clip->effectsCount(); j++) {
QDomElement eff = clip->effectAt(j);
if (eff.attribute("unique", "0") == "0" || item->hasEffect(eff.attribute("tag"), eff.attribute("id")) == -1) {
adjustKeyfames(clip->cropStart(), item->cropStart(), item->cropDuration(), eff);
for (int i = 0; i < effects.count(); i++) {
QDomElement effect = effects.at(i).toElement();
if (!id.isEmpty()) {
- if (effect.attribute("id") == id) return i;
- } else if (!tag.isEmpty() && effect.attribute("tag") == tag) return i;
+ if (effect.attribute("id") == id) return effect.attribute("kdenlive_ix").toInt();
+ } else if (!tag.isEmpty() && effect.attribute("tag") == tag) return effect.attribute("kdenlive_ix").toInt();
}
return -1;
}