// kDebug()<<"// FOUND EFFECT FILE: "<<itemName<<endl;
}
}
+ foreach(QString filtername,filtersList){
+ QDomDocument doc=createDescriptionFromMlt(repository,"filters",filtername);
+ if (!doc.isNull())
+ videoEffectList->append(doc.documentElement());
+ }
return repository;
}
}
+QDomDocument initEffects::createDescriptionFromMlt(Mlt::Repository* repository, const QString& type, const QString& filtername){
+
+ QDomDocument ret;
+ Mlt::Properties *metadata=repository->metadata(filter_type,filtername.toAscii().data());
+ kDebug() << filtername;
+ if (metadata && metadata->is_valid()){
+ kDebug() << "valid" << metadata->count();
+ for (int i=0;i<metadata->count();i++){
+ if (metadata->get("title") && metadata->get("identifier")){
+ QDomElement eff=ret.createElement("effect");
+ eff.setAttribute("tag",metadata->get("identifier"));
+
+ QDomElement name=ret.createElement("name");
+ name.appendChild(ret.createTextNode(metadata->get("title")));
+
+ QDomElement desc=ret.createElement("description");
+ desc.appendChild(ret.createTextNode(metadata->get("description")));
+
+ QDomElement author=ret.createElement("author");
+ author.appendChild(ret.createTextNode(metadata->get("creator")));
+
+ eff.appendChild(name);
+ eff.appendChild(author);
+ eff.appendChild(desc);
+
+ /*Mlt::Properties *param_props=(Mlt::Properties*)(metadata->get_data("parameters"));
+ for (int j=0; param_props && j<param_props->count();j++){
+ QDomElement params=ret.createElement("parameter");
+
+ eff.appendChild(params);
+ }*/
+ ret.appendChild(eff);
+ }
+ }
+ }
+ QString outstr;
+ QTextStream str(&outstr);
+ ret.save(str,2);
+ kDebug() << outstr;
+ return ret;
+}
~initEffects();
static Mlt::Repository *parseEffectFiles(EffectsList *audioEffectList, EffectsList *videoEffectList);
+ static QDomDocument createDescriptionFromMlt(Mlt::Repository* repository,const QString& type, const QString& name);
static void parseEffectFile(EffectsList *audioEffectList, EffectsList *videoEffectList, QString name, QStringList filtersList, QStringList producersList);
static char* ladspaEffectString(int ladspaId, QStringList params);
static void ladspaEffectFile(const QString & fname, int ladspaId, QStringList params);