From: Till Theato Date: Tue, 11 May 2010 16:26:55 +0000 (+0000) Subject: - Add ability to disable opacity in geometryval X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=500ea63a1fcde5a264b28e87ebe4a2e08bea3893;p=kdenlive - Add ability to disable opacity in geometryval - Disable opacity in AffineComposite, Automask, Pan and Zoom, Rotate and Shear svn path=/trunk/kdenlive/; revision=4430 --- diff --git a/effects/automask.xml b/effects/automask.xml index e963b41c..a0965eab 100644 --- a/effects/automask.xml +++ b/effects/automask.xml @@ -3,7 +3,7 @@ Auto Mask Hide a selected zone and follow its movements Zachary Drew - + Geometry diff --git a/effects/pan_zoom.xml b/effects/pan_zoom.xml index bc6df3c8..407baa0c 100644 --- a/effects/pan_zoom.xml +++ b/effects/pan_zoom.xml @@ -3,7 +3,7 @@ Pan and Zoom Adjust size and position of clip Charles Yates - + Rectangle diff --git a/effects/rotation.xml b/effects/rotation.xml index dac7e4f3..99e35ed5 100644 --- a/effects/rotation.xml +++ b/effects/rotation.xml @@ -33,7 +33,7 @@ Animate Shear Y - + Pan and Zoom diff --git a/src/geometryval.cpp b/src/geometryval.cpp index c6fb07c6..78874c13 100644 --- a/src/geometryval.cpp +++ b/src/geometryval.cpp @@ -360,6 +360,10 @@ void Geometryval::setupParam(const QDomElement par, int minFrame, int maxFrame) m_helper->setHidden(true); spinPos->setHidden(true); } + if (par.attribute("opacity") == "false") { + label_opacity->setHidden(true); + spinTransp->setHidden(true); + } char *tmp = (char *) qstrdup(val.toUtf8().data()); if (m_geom) m_geom->parse(tmp, maxFrame - minFrame, m_profile.width, m_profile.height); else m_geom = new Mlt::Geometry(tmp, maxFrame - minFrame, m_profile.width, m_profile.height); diff --git a/src/initeffects.cpp b/src/initeffects.cpp index d807db37..38d3790a 100644 --- a/src/initeffects.cpp +++ b/src/initeffects.cpp @@ -723,7 +723,7 @@ void initEffects::fillTransitionsList(Mlt::Repository * repository, EffectsList* paramList.append(quickParameterFill(ret, "Fix Shear Z", "fix_shear_z", "double", "0", "0", "360")); paramList.append(quickParameterFill(ret, "Mirror", "mirror_off", "bool", "0", "0", "1")); paramList.append(quickParameterFill(ret, "Repeat", "repeat_off", "bool", "0", "0", "1")); - paramList.append(quickParameterFill(ret, "Geometry", "geometry", "geometry", "0,0,100%,100%,100%", "0,0,100%,100%,100%", "0,0,100%,100%,100%")); + paramList.append(quickParameterFill(ret, "Geometry", "geometry", "geometry", "0,0,100%,100%,100%", "0,0,100%,100%,100%", "0,0,100%,100%,100%", "", "", "", "", "", "false")); tname.appendChild(ret.createTextNode("Composite")); } else if (name == "region") { tname.appendChild(ret.createTextNode("Region")); @@ -765,7 +765,7 @@ void initEffects::fillTransitionsList(Mlt::Repository * repository, EffectsList* transitions->append(ret2.documentElement());*/ } -QDomElement initEffects::quickParameterFill(QDomDocument & doc, QString name, QString tag, QString type, QString def, QString min, QString max, QString list, QString listdisplaynames, QString factor, QString namedesc, QString format) +QDomElement initEffects::quickParameterFill(QDomDocument & doc, QString name, QString tag, QString type, QString def, QString min, QString max, QString list, QString listdisplaynames, QString factor, QString namedesc, QString format, QString opacity) { QDomElement parameter = doc.createElement("parameter"); parameter.setAttribute("tag", tag); @@ -784,6 +784,8 @@ QDomElement initEffects::quickParameterFill(QDomDocument & doc, QString name, QS parameter.setAttribute("namedesc", namedesc); if (!format.isEmpty()) parameter.setAttribute("format", format); + if (!opacity.isEmpty()) + parameter.setAttribute("opacity", opacity); QDomElement pname = doc.createElement("name"); pname.appendChild(doc.createTextNode(name)); parameter.appendChild(pname); diff --git a/src/initeffects.h b/src/initeffects.h index 1b19b687..128c6e1a 100644 --- a/src/initeffects.h +++ b/src/initeffects.h @@ -49,7 +49,7 @@ public: static void refreshLumas(); static QDomDocument createDescriptionFromMlt(Mlt::Repository* repository, const QString& type, const QString& name); static void fillTransitionsList(Mlt::Repository *, EffectsList* transitions, QStringList names); - static QDomElement quickParameterFill(QDomDocument & doc, QString name, QString tag, QString type, QString def = QString(), QString min = QString(), QString max = QString(), QString list = QString(), QString listdisplaynames = QString(), QString factor = QString(), QString namedesc = QString(), QString format = QString()); + static QDomElement quickParameterFill(QDomDocument & doc, QString name, QString tag, QString type, QString def = QString(), QString min = QString(), QString max = QString(), QString list = QString(), QString listdisplaynames = QString(), QString factor = QString(), QString namedesc = QString(), QString format = QString(), QString opacity = QString()); static void parseEffectFile(EffectsList *customEffectList, EffectsList *audioEffectList, EffectsList *videoEffectList, QString name, QStringList filtersList, QStringList producersList); static void parseCustomEffectsFile(); static const char* ladspaEffectString(int ladspaId, QStringList params);