From: <ble...@us...> - 2008-03-24 12:17:23
|
Revision: 2113 http://kdenlive.svn.sourceforge.net/kdenlive/?rev=2113&view=rev Author: blendamedt Date: 2008-03-24 05:17:29 -0700 (Mon, 24 Mar 2008) Log Message: ----------- name on transition and update on change simplify transition parameters use params with factors Modified Paths: -------------- branches/KDE4/src/customtrackview.cpp branches/KDE4/src/initeffects.cpp branches/KDE4/src/initeffects.h branches/KDE4/src/renderer.cpp branches/KDE4/src/renderer.h branches/KDE4/src/transition.cpp branches/KDE4/src/transitionsettings.cpp Modified: branches/KDE4/src/customtrackview.cpp =================================================================== --- branches/KDE4/src/customtrackview.cpp 2008-03-24 11:21:14 UTC (rev 2112) +++ branches/KDE4/src/customtrackview.cpp 2008-03-24 12:17:29 UTC (rev 2113) @@ -554,28 +554,12 @@ } void CustomTrackView::addTransition(int startTrack, GenTime startPos , QDomElement e) { - QMap < QString, QString> map; - QString s; - QTextStream tx(&s); - e.save(tx, 2); - kDebug() << "in" << s; - QDomNodeList attribs = e.elementsByTagName("parameter"); - for (int i = 0;i < attribs.count();i++) { - QDomNamedNodeMap atts = attribs.item(i).attributes(); - if (!atts.namedItem("value").nodeValue().isEmpty()) { - map[atts.namedItem("name").nodeValue()] = atts.namedItem("value").nodeValue(); - } else { - map[atts.namedItem("name").nodeValue()] = atts.namedItem("default").nodeValue(); - } - - } - //map["resource"] = "%luma12.pgm"; kDebug() << "---- ADDING transition " << e.attribute("tag") << ", on tracks " << m_tracksList.count() - e.attribute("transition_track").toInt() << " / " << getPreviousVideoTrack(e.attribute("transition_track").toInt()); m_document->renderer()->mltAddTransition(e.attribute("tag"), getPreviousVideoTrack(e.attribute("transition_track").toInt()), m_tracksList.count() - e.attribute("transition_track").toInt() , GenTime(e.attribute("start").toInt(), m_document->renderer()->fps()), GenTime(e.attribute("end").toInt(), m_document->renderer()->fps()), - map); + e); m_document->setModified(true); } @@ -586,7 +570,7 @@ m_document->renderer()->mltDeleteTransition(e.attribute("tag"), getPreviousVideoTrack(e.attribute("transition_track").toInt()), m_tracksList.count() - e.attribute("transition_track").toInt() , GenTime(e.attribute("start").toInt(), m_document->renderer()->fps()), GenTime(e.attribute("end").toInt(), m_document->renderer()->fps()), - map); + e); m_document->setModified(true); } @@ -597,26 +581,11 @@ } void CustomTrackView::updateTransition(int track, GenTime pos, QDomElement oldTransition, QDomElement transition) { - QString s; - QTextStream tx(&s); - transition.save(tx, 2); - kDebug() << "in" << s; - QMap < QString, QString> map; - QDomNodeList attribs = transition.elementsByTagName("parameter"); - for (int i = 0;i < attribs.count();i++) { - QDomNamedNodeMap atts = attribs.item(i).attributes(); - if (!atts.namedItem("value").nodeValue().isEmpty()) { - map[atts.namedItem("name").nodeValue()] = atts.namedItem("value").nodeValue(); - } else { - map[atts.namedItem("name").nodeValue()] = atts.namedItem("default").nodeValue(); - } - - } m_document->renderer()->mltUpdateTransition(oldTransition.attribute("tag"), transition.attribute("tag"), m_tracksList.count() - 1 - transition.attribute("transition_track").toInt(), m_tracksList.count() - transition.attribute("transition_track").toInt() , GenTime(transition.attribute("start").toInt(), m_document->renderer()->fps()), GenTime(transition.attribute("end").toInt(), m_document->renderer()->fps()), - map); + transition); repaint(); m_document->setModified(true); } Modified: branches/KDE4/src/initeffects.cpp =================================================================== --- branches/KDE4/src/initeffects.cpp 2008-03-24 11:21:14 UTC (rev 2112) +++ branches/KDE4/src/initeffects.cpp 2008-03-24 12:17:29 UTC (rev 2113) @@ -443,7 +443,7 @@ imagefiles.append(","); imagefiles.append(entries.get(i)); } - paramList.append(quickParameterFill(ret, "Softness", "softness", "double", "0", "0", "360")); + paramList.append(quickParameterFill(ret, "Softness", "softness", "double", "0", "0", "100", "", "100")); paramList.append(quickParameterFill(ret, "Invert", "invert", "bool", "0", "0", "1")); paramList.append(quickParameterFill(ret, "ImageFile", "resource", "list", "", "", "", imagefiles)); @@ -499,7 +499,7 @@ */ } } -QDomElement initEffects::quickParameterFill(QDomDocument & doc, QString name, QString tag, QString type, QString def, QString min, QString max, QString list) { +QDomElement initEffects::quickParameterFill(QDomDocument & doc, QString name, QString tag, QString type, QString def, QString min, QString max, QString list, QString factor) { QDomElement parameter = doc.createElement("parameter"); parameter.setAttribute("tag", tag); parameter.setAttribute("default", def); @@ -509,6 +509,8 @@ parameter.setAttribute("min", min); if (!list.isEmpty()) parameter.setAttribute("paramlist", list); + if (!factor.isEmpty()) + parameter.setAttribute("factor", factor); QDomElement pname = doc.createElement("name"); pname.appendChild(doc.createTextNode(name)); parameter.appendChild(pname); Modified: branches/KDE4/src/initeffects.h =================================================================== --- branches/KDE4/src/initeffects.h 2008-03-24 11:21:14 UTC (rev 2112) +++ branches/KDE4/src/initeffects.h 2008-03-24 12:17:29 UTC (rev 2113) @@ -37,7 +37,7 @@ static Mlt::Repository *parseEffectFiles(EffectsList *audioEffectList, EffectsList *videoEffectList, EffectsList *transitions); 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()); + static QDomElement quickParameterFill(QDomDocument & doc, QString name, QString tag, QString type, QString def = QString(), QString min = QString(), QString max = QString(), QString list = QString(), QString factor = QString()); 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); Modified: branches/KDE4/src/renderer.cpp =================================================================== --- branches/KDE4/src/renderer.cpp 2008-03-24 11:21:14 UTC (rev 2112) +++ branches/KDE4/src/renderer.cpp 2008-03-24 12:17:29 UTC (rev 2113) @@ -1387,11 +1387,11 @@ m_isBlocked = false; } -void Render::mltUpdateTransition(QString oldTag, QString tag, int a_track, int b_track, GenTime in, GenTime out, QMap <QString, QString> args) { +void Render::mltUpdateTransition(QString oldTag, QString tag, int a_track, int b_track, GenTime in, GenTime out, QDomElement xml) { kDebug() << "update transition" << tag; - mltDeleteTransition(oldTag, a_track, b_track, in, out, args, false); - mltAddTransition(tag, a_track, b_track, in, out, args); + mltDeleteTransition(oldTag, a_track, b_track, in, out, xml, false); + mltAddTransition(tag, a_track, b_track, in, out, xml); mltSavePlaylist(); } @@ -1404,7 +1404,7 @@ kDebug() << "newTractor inserted"; } -void Render::mltDeleteTransition(QString tag, int a_track, int b_track, GenTime in, GenTime out, QMap <QString, QString> args, bool do_refresh) { +void Render::mltDeleteTransition(QString tag, int a_track, int b_track, GenTime in, GenTime out, QDomElement xml, bool do_refresh) { Mlt::Tractor *tractor = getTractor(); if (tractor) { @@ -1454,8 +1454,25 @@ } -void Render::mltAddTransition(QString tag, int a_track, int b_track, GenTime in, GenTime out, QMap <QString, QString> args, bool do_refresh) { +void Render::mltAddTransition(QString tag, int a_track, int b_track, GenTime in, GenTime out, QDomElement xml, bool do_refresh) { + QDomNodeList attribs = xml.elementsByTagName("parameter"); + QMap<QString, QString> map; + for (int i = 0;i < attribs.count();i++) { + QDomNamedNodeMap atts = attribs.item(i).attributes(); + QString name = atts.namedItem("name").nodeValue(); + map[name] = atts.namedItem("default").nodeValue(); + if (!atts.namedItem("value").nodeValue().isEmpty()) { + map[name] = atts.namedItem("value").nodeValue(); + } + if (!atts.namedItem("factor").nodeValue().isEmpty() && atts.namedItem("factor").nodeValue().toDouble() > 0) { + map[name] = QString::number(map[name].toDouble() / atts.namedItem("factor").nodeValue().toDouble()); + //map[name]=map[name].replace(".",","); //FIXME how to solve locale conversion of . , + } + + + } + Mlt::Tractor *tractor = getTractor(); if (tractor) { Mlt::Field *field = tractor->field(); @@ -1469,9 +1486,9 @@ QMap<QString, QString>::Iterator it; QString key; - kDebug() << " ------ ADDING TRANSITION PARAMs: " << args.count(); + kDebug() << " ------ ADDING TRANSITION PARAMs: " << map.count(); - for (it = args.begin(); it != args.end(); ++it) { + for (it = map.begin(); it != map.end(); ++it) { key = it.key(); char *name = decodedString(key); char *value = decodedString(it.value()); Modified: branches/KDE4/src/renderer.h =================================================================== --- branches/KDE4/src/renderer.h 2008-03-24 11:21:14 UTC (rev 2112) +++ branches/KDE4/src/renderer.h 2008-03-24 12:17:29 UTC (rev 2113) @@ -156,9 +156,9 @@ void mltEditEffect(int track, GenTime position, QMap <QString, QString> args); void mltChangeTrackState(int track, bool mute, bool blind); void mltMoveTransition(QString type, int startTrack, int trackOffset, GenTime oldIn, GenTime oldOut, GenTime newIn, GenTime newOut); - void mltAddTransition(QString tag, int a_track, int b_track, GenTime in, GenTime out, QMap <QString, QString> args, bool refresh = true); - void mltDeleteTransition(QString tag, int a_track, int b_track, GenTime in, GenTime out, QMap <QString, QString> args, bool refresh = true); - void mltUpdateTransition(QString oldTag, QString tag, int a_track, int b_track, GenTime in, GenTime out, QMap <QString, QString> args); + void mltAddTransition(QString tag, int a_track, int b_track, GenTime in, GenTime out, QDomElement xml, bool refresh = true); + void mltDeleteTransition(QString tag, int a_track, int b_track, GenTime in, GenTime out, QDomElement xml, bool refresh = true); + void mltUpdateTransition(QString oldTag, QString tag, int a_track, int b_track, GenTime in, GenTime out, QDomElement xml); private: // Private attributes & methods Modified: branches/KDE4/src/transition.cpp =================================================================== --- branches/KDE4/src/transition.cpp 2008-03-24 11:21:14 UTC (rev 2112) +++ branches/KDE4/src/transition.cpp 2008-03-24 12:17:29 UTC (rev 2113) @@ -207,7 +207,10 @@ painter->setClipRect(option->exposedRect); painter->drawPixmap((int)(br.x() + 10), (int)(br.y() + 10), transitionPixmap()); painter->drawPath(resultClipPath.intersected(clippath)); - + painter->setPen(QColor(0, 0, 0, 180)); + painter->drawText((int)br.x() + 31, (int)br.y() + 21, transitionName()); + painter->setPen(QColor(255, 255, 255, 180)); + painter->drawText((int)br.x() + 30, (int)br.y() + 20, transitionName()); QPen pen = painter->pen(); if (isSelected()) { pen.setColor(Qt::red); @@ -299,14 +302,6 @@ m_transitionParameters.setAttribute("clipb_track", transitionEndTrack()); } - - /* QMap<QString, QString>::Iterator it; - for (it = m_transitionParameters.begin(); it != m_transitionParameters.end(); ++it) { - QDomElement param = doc.createElement(it.key()); - param.setAttribute("value", it.value()); - effect.appendChild(param); - }*/ - return m_transitionParameters; } Modified: branches/KDE4/src/transitionsettings.cpp =================================================================== --- branches/KDE4/src/transitionsettings.cpp 2008-03-24 11:21:14 UTC (rev 2112) +++ branches/KDE4/src/transitionsettings.cpp 2008-03-24 12:17:29 UTC (rev 2113) @@ -39,10 +39,13 @@ //set old values from e in <ktransition> to desc (like reverse and so ) QDomElement desc = m_transitions->getEffectByName(ui.listWidget->currentItem()->text()); - if (m_usedTransition) + if (m_usedTransition) { m_usedTransition->setTransitionParameters(desc); + m_usedTransition->update(); + } emit transitionUpdated(e, m_usedTransition->toXML()); emit transferParamDesc(desc, 0, 0); + } void TransitionSettings::slotTransitionItemSelected(Transition* t) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |