From: Jean-Baptiste Mardelle Date: Thu, 9 Jun 2011 14:15:18 +0000 (+0000) Subject: Workaround empty .yml metadata in MLT effects X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;ds=sidebyside;h=87e4fb13319728a2c6f299f6fdcaaedc03919dc5;p=kdenlive Workaround empty .yml metadata in MLT effects svn path=/trunk/kdenlive/; revision=5692 --- diff --git a/src/initeffects.cpp b/src/initeffects.cpp index ecb9c967..3bf90cd4 100644 --- a/src/initeffects.cpp +++ b/src/initeffects.cpp @@ -196,24 +196,6 @@ Mlt::Repository *initEffects::parseEffectFiles() KGlobal::dirs()->addResourceDir("ladspa_plugin", "/usr/lib64/ladspa"); KGlobal::dirs()->addResourceDir("ladspa_plugin", "/usr/local/lib64/ladspa");*/ - // Set the directories to look into for effects. - QStringList direc = KGlobal::dirs()->findDirs("appdata", "effects"); - - // Iterate through effects directories to parse all XML files. - for (more = direc.begin(); more != direc.end(); ++more) { - QDir directory(*more); - QStringList filter; - filter << "*.xml"; - fileList = directory.entryList(filter, QDir::Files); - for (it = fileList.begin(); it != fileList.end(); ++it) { - itemName = KUrl(*more + *it).path(); - parseEffectFile(&MainWindow::customEffects, - &MainWindow::audioEffects, - &MainWindow::videoEffects, - itemName, filtersList, producersList, repository); - } - } - // Remove blacklisted effects from the filters list. QFile file2(KStandardDirs::locate("appdata", "blacklisted_effects.txt")); if (file2.open(QIODevice::ReadOnly)) { @@ -251,21 +233,11 @@ Mlt::Repository *initEffects::parseEffectFiles() MainWindow::transitions.append(effect); effectsMap.clear(); - // Create custom effects - for (int i = 0; i < MainWindow::customEffects.count(); ++i) { - effectInfo = MainWindow::customEffects.at(i); - effectsMap.insert(effectInfo.elementsByTagName("name").item(0).toElement().text().toLower().toUtf8().data(), effectInfo); - } - MainWindow::customEffects.clearList(); - foreach(const QDomElement & effect, effectsMap) - MainWindow::customEffects.append(effect); - effectsMap.clear(); - // Create effects from MLT foreach(const QString & filtername, filtersList) { QDomDocument doc = createDescriptionFromMlt(repository, "filters", filtername); - if (!doc.isNull()) { - //kDebug()<<"ADDING: "< 0) { if (doc.documentElement().attribute("type") == "audio") { audioEffectsMap.insert(doc.documentElement().elementsByTagName("name").item(0).toElement().text().toLower().toUtf8().data(), doc.documentElement()); } @@ -274,6 +246,33 @@ Mlt::Repository *initEffects::parseEffectFiles() } } + // Set the directories to look into for effects. + QStringList direc = KGlobal::dirs()->findDirs("appdata", "effects"); + // Iterate through effects directories to parse all XML files. + for (more = direc.begin(); more != direc.end(); ++more) { + QDir directory(*more); + QStringList filter; + filter << "*.xml"; + fileList = directory.entryList(filter, QDir::Files); + for (it = fileList.begin(); it != fileList.end(); ++it) { + itemName = KUrl(*more + *it).path(); + parseEffectFile(&MainWindow::customEffects, + &MainWindow::audioEffects, + &MainWindow::videoEffects, + itemName, filtersList, producersList, repository); + } + } + + // Create custom effects + for (int i = 0; i < MainWindow::customEffects.count(); ++i) { + effectInfo = MainWindow::customEffects.at(i); + effectsMap.insert(effectInfo.elementsByTagName("name").item(0).toElement().text().toLower().toUtf8().data(), effectInfo); + } + MainWindow::customEffects.clearList(); + foreach(const QDomElement & effect, effectsMap) + MainWindow::customEffects.append(effect); + effectsMap.clear(); + // Create audio effects for (int i = 0; i < MainWindow::audioEffects.count(); ++i) { effectInfo = MainWindow::audioEffects.at(i);