<label>Height</label>
<label>Averaging</label>
<properties id="obscure" tag="obscure" />
- <parameter type="complex" name="X;Y;Width;Height;Averaging" max="MAX_WIDTH;MAX_HEIGHT;1000;1000;100" min="0;0;0;0;3" default="MID_WIDTH;MID_HEIGHT;100;100;20">
+ <parameter type="complex" name="X;Y;Width;Height;Averaging" max="MAX_WIDTH;MAX_HEIGHT;1000;1000;100" min="0;0;0;0;3" default="MID_WIDTH;MID_HEIGHT;100;100;20" format="%d,%d:%dx%d">
<name>Region</name>
</parameter>
</effect>
QDomNodeList params = effect.elementsByTagName("parameter");
for (int i = 0; i < params.count(); i++) {
QDomElement e = params.item(i).toElement();
+ if (e.attribute("name").contains(";")){
+ QString format=e.attribute("format");
+ QStringList separators=format.split("%d",QString::SkipEmptyParts);
+ QStringList values=e.attribute("value").split(QRegExp("[,:;x]"));
+ QString neu;
+ QTextStream txtNeu(&neu);
+ if (values.size()>0)
+ txtNeu << (int)values[0].toDouble();
+ for (int i=0;i<separators.size() && i+1<values.size();i++){
+ txtNeu << separators[i];
+ txtNeu << (int)(values[i+1].toDouble());
+ }
+ effectParams["start"]=neu;
+ }else
if (!e.isNull())
effectParams[e.attribute("name")] = e.attribute("value");
}
valueItems[paramName]=bval;
uiItems.append(bval);
}else if(type=="complex"){
- QStringList names=nodeAtts.namedItem("name").nodeValue().split(";");
+ /*QStringList names=nodeAtts.namedItem("name").nodeValue().split(";");
QStringList max=nodeAtts.namedItem("max").nodeValue().split(";");
QStringList min=nodeAtts.namedItem("min").nodeValue().split(";");
QStringList val=value.split(";");
for (int i=0;i< names.size();i++){
createSliderItem(names[i],val[i].toInt(),min[i].toInt(),max[i].toInt());
};
- }
+ }*/
ComplexParameter *pl=new ComplexParameter;
connect (pl, SIGNAL ( parameterChanged()),this, SLOT( collectAllParameters ()) );
pl->setupParam(d,0,100);
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");
//max_y=pa.attributes().namedItem("max").nodeValue().toInt();
//int val=pa.attributes().namedItem("value").nodeValue().toInt();
- QStringList defauls=pa.attributes().namedItem("default").nodeValue().split(";");
+ QStringList defaults;
+ if (pa.attributes().namedItem("start").nodeValue().contains(";"))
+ defaults=pa.attributes().namedItem("start").nodeValue().split(";");
+ else if (pa.attributes().namedItem("value").nodeValue().contains(";"))
+ defaults=pa.attributes().namedItem("value").nodeValue().split(";");
+ else if (pa.attributes().namedItem("default").nodeValue().contains(";"))
+ defaults=pa.attributes().namedItem("default").nodeValue().split(";");
QStringList maxv=pa.attributes().namedItem("max").nodeValue().split(";");
QStringList minv=pa.attributes().namedItem("max").nodeValue().split(";");
for (int i=0;i<maxv.size();i++){
else
stretchFactors[i]=1.0;
}
-
- plot->addPoint(startframe,defauls[i].toInt()*stretchFactors[i]);
+ if (defaults[i].toDouble()>max_y)
+ defaults[i]=max_y;
+ plot->addPoint(startframe,defaults[i].toInt()*stretchFactors[i]);
//add keyframes here
- plot->addPoint(endframe,defauls[i].toInt()*stretchFactors[i]);
+ plot->addPoint(endframe,defaults[i].toInt()*stretchFactors[i]);
plotobjects.append(plot);
}
kDebug() << "ERROR size not equal";
}
QDomNodeList namenode = itemParameter.elementsByTagName("parameter");
- for (int i=0;i<namenode.count() ;i++){
- QList<KPlotPoint*> points=plotobjs[i]->points();
- QDomNode pa=namenode.item(i);
-
-
-
-
-
-
- QMap<int,QVariant> vals;
- foreach (KPlotPoint *o,points){
- //vals[o->x()]=o->y();
- pa.attributes().namedItem("value").setNodeValue(QString::number(o->y()));
+ QString paramlist;
+ QTextStream txtstr(¶mlist);
+ QDomNode pa=namenode.item(0);
+ if (namenode.count()>0){
+ for (int i=0;i<plotobjs.count();i++){
+ QList<KPlotPoint*> points=plotobjs[i]->points();
+ foreach (KPlotPoint *o,points){
+ txtstr << (int)o->y() ;
+ break;//first no keyframes
+ }
+ if (i+1!=plotobjs.count())
+ txtstr<< ";";
}
- QPair<QString,QMap<int,QVariant> > pair("contrast",vals);
- //ret.append(pair);
}
-
+ pa.attributes().namedItem("value").setNodeValue(paramlist);
+ pa.attributes().namedItem("start").setNodeValue(paramlist);
emit parameterChanged(itemParameter);
}