return filter;
}
+
QDomElement EffectsList::getEffectByName(const QString & name) const {
QString effectName;
for (int i = 0; i < this->size(); ++i) {
QDomNodeList params = effect.elementsByTagName("parameter");
for (int i = 0; i < params.count(); i++) {
QDomElement e = params.item(i).toElement();
- e.setAttribute("value", e.attribute("default"));
+ if (!e.hasAttribute("value"))
+ e.setAttribute("value", e.attribute("default"));
}
return effect;
}
return QDomElement();
}
-QDomElement EffectsList::getEffectByTag(const QString & tag) const {
- QString effectName;
- for (int i = 0; i < this->size(); ++i) {
- QDomElement effect = this->at(i);
- if (effect.attribute("tag") == tag) {
- QDomNodeList params = effect.elementsByTagName("parameter");
- for (int i = 0; i < params.count(); i++) {
- QDomElement e = params.item(i).toElement();
- e.setAttribute("value", e.attribute("default"));
+QDomElement EffectsList::getEffectByTag(const QString & tag, const QString & id) const {
+
+ if (!id.isEmpty()) for (int i = 0; i < this->size(); ++i) {
+ QDomElement effect = this->at(i);
+ kDebug() << "// SRCH EFFECT; " << id << ", LKING: " << effect.attribute("id");
+ if (effect.attribute("id") == id) {
+ QDomNodeList params = effect.elementsByTagName("parameter");
+ for (int i = 0; i < params.count(); i++) {
+ QDomElement e = params.item(i).toElement();
+ if (!e.hasAttribute("value"))
+ e.setAttribute("value", e.attribute("default"));
+ }
+ return effect;
+ }
+ }
+
+ if (!tag.isEmpty()) for (int i = 0; i < this->size(); ++i) {
+ QDomElement effect = this->at(i);
+ if (effect.attribute("tag") == tag) {
+ QDomNodeList params = effect.elementsByTagName("parameter");
+ for (int i = 0; i < params.count(); i++) {
+ QDomElement e = params.item(i).toElement();
+ if (!e.hasAttribute("value"))
+ e.setAttribute("value", e.attribute("default"));
+ }
+ return effect;
}
- return effect;
}
- }
return QDomElement();
}
return info;
}
+bool EffectsList::hasKeyFrames(QDomElement effect) {
+ QDomNodeList params = effect.elementsByTagName("parameter");
+ for (int i = 0; i < params.count(); i++) {
+ QDomElement e = params.item(i).toElement();
+ if (e.attribute("type") == "keyframe") return true;
+ }
+ return false;
+}
+
// static
void EffectsList::setParameter(QDomElement effect, QString name, QString value) {
QDomNodeList params = effect.elementsByTagName("parameter");