]> git.sesse.net Git - kdenlive/blobdiff - src/initeffects.cpp
complex parameters editable
[kdenlive] / src / initeffects.cpp
index 2fc3ec7e441130edd988c0b6e06eaba9fb872539..30daa7678d0f64edd96f437c2b7de3722a26c7b3 100644 (file)
@@ -362,10 +362,14 @@ QDomDocument initEffects::createDescriptionFromMlt(Mlt::Repository* repository,
                        QDomElement author=ret.createElement("author");
                        author.appendChild(ret.createTextNode(metadata->get("creator")));
                        
+                       QDomElement prop=ret.createElement("properties");
+                       prop.setAttribute("id",metadata->get("identifier"));
+                       prop.setAttribute("tag",metadata->get("identifier"));
                        eff.appendChild(name);
                        eff.appendChild(author);
                        eff.appendChild(desc);
-
+                       eff.appendChild(prop);
+                       
                        Mlt::Properties param_props( (mlt_properties) metadata->get_data("parameters") );
                        for (int j=0; param_props.is_valid() && j<param_props.count();j++){
                                QDomElement params=ret.createElement("parameter");
@@ -380,8 +384,16 @@ QDomDocument initEffects::createDescriptionFromMlt(Mlt::Repository* repository,
                                        params.setAttribute("type","constant");
                                if (QString(paramdesc.get("type"))=="boolean" )
                                        params.setAttribute("type","bool");
+                               if (!QString(paramdesc.get("format")).isEmpty()){
+                                       params.setAttribute("type","complex");
+                                       params.setAttribute("format",paramdesc.get("format"));
+                               }
                                if (paramdesc.get("default") ) params.setAttribute("default",paramdesc.get("default"));
-                               if (paramdesc.get("value") ) params.setAttribute("value",paramdesc.get("value"));
+                               if (paramdesc.get("value") ){ 
+                                       params.setAttribute("value",paramdesc.get("value"));
+                               }else{
+                                       params.setAttribute("value",paramdesc.get("default"));
+                               }
                                
                                
                                QDomElement pname=ret.createElement("name");