From: <tt...@us...> - 2011-01-02 20:05:44
|
Revision: 5243 http://kdenlive.svn.sourceforge.net/kdenlive/?rev=5243&view=rev Author: ttill Date: 2011-01-02 20:05:38 +0000 (Sun, 02 Jan 2011) Log Message: ----------- Bezier Spline: requires version 0.2 of frei0r.curves Modified Paths: -------------- trunk/kdenlive/effects/frei0r_bezier_curves.xml trunk/kdenlive/src/initeffects.cpp trunk/kdenlive/src/initeffects.h Modified: trunk/kdenlive/effects/frei0r_bezier_curves.xml =================================================================== --- trunk/kdenlive/effects/frei0r_bezier_curves.xml 2011-01-02 19:35:12 UTC (rev 5242) +++ trunk/kdenlive/effects/frei0r_bezier_curves.xml 2011-01-02 20:05:38 UTC (rev 5243) @@ -1,5 +1,5 @@ <!DOCTYPE kpartgui> -<effect tag="frei0r.curves" id="frei0r.bezier_curves"> +<effect tag="frei0r.curves" id="frei0r.bezier_curves" version="0.2"> <name>Bézier Curves</name> <description>Color curves adjustment</description> <author>Till Theato, Maksim Golovkin</author> Modified: trunk/kdenlive/src/initeffects.cpp =================================================================== --- trunk/kdenlive/src/initeffects.cpp 2011-01-02 19:35:12 UTC (rev 5242) +++ trunk/kdenlive/src/initeffects.cpp 2011-01-02 20:05:38 UTC (rev 5243) @@ -208,7 +208,7 @@ parseEffectFile(&MainWindow::customEffects, &MainWindow::audioEffects, &MainWindow::videoEffects, - itemName, filtersList, producersList); + itemName, filtersList, producersList, repository); } } @@ -317,7 +317,7 @@ } // static -void initEffects::parseEffectFile(EffectsList *customEffectList, EffectsList *audioEffectList, EffectsList *videoEffectList, QString name, QStringList filtersList, QStringList producersList) +void initEffects::parseEffectFile(EffectsList *customEffectList, EffectsList *audioEffectList, EffectsList *videoEffectList, QString name, QStringList filtersList, QStringList producersList, Mlt::Repository *repository) { QDomDocument doc; QFile file(name); @@ -331,13 +331,21 @@ return; } - /*QString groupName; - if (doc.elementsByTagName("effectgroup").item(0).toElement().tagName() == "effectgroup") - groupName = documentElement.attribute("name", QString());*/ - for (int i = 0; !effects.item(i).isNull(); ++i) { documentElement = effects.item(i).toElement(); QString tag = documentElement.attribute("tag", QString()); + + if (documentElement.hasAttribute("version")) { + // a specific version of the filter is required + Mlt::Properties *metadata = repository->metadata(filter_type, tag.toUtf8().data()); + if (metadata && metadata->is_valid()) { + double version = atof(metadata->get("version")); + if (documentElement.attribute("version").toDouble() > version) + return; + } + delete metadata; + } + bool ladspaOk = true; if (tag == "ladspa") { QString library = documentElement.attribute("library", QString()); Modified: trunk/kdenlive/src/initeffects.h =================================================================== --- trunk/kdenlive/src/initeffects.h 2011-01-02 19:35:12 UTC (rev 5242) +++ trunk/kdenlive/src/initeffects.h 2011-01-02 20:05:38 UTC (rev 5243) @@ -95,12 +95,14 @@ * @param videoEffectList list of video effects * @param name file name * @param filtersList list of filters in the MLT repository - * @param producersList list of producers in the MLT repository */ + * @param producersList list of producers in the MLT repository + * @param repository MLT repository */ static void parseEffectFile(EffectsList *customEffectList, EffectsList *audioEffectList, EffectsList *videoEffectList, QString name, QStringList filtersList, - QStringList producersList); + QStringList producersList, + Mlt::Repository *repository); /** @brief Reloads information about custom effects. */ static void parseCustomEffectsFile(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |