[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Traverso-commit] traverso/src/core ProjectConverter.cpp
From: |
Remon Sijrier |
Subject: |
[Traverso-commit] traverso/src/core ProjectConverter.cpp |
Date: |
Mon, 26 Nov 2007 18:21:47 +0000 |
CVSROOT: /sources/traverso
Module name: traverso
Changes by: Remon Sijrier <r_sijrier> 07/11/26 18:21:47
Modified files:
src/core : ProjectConverter.cpp
Log message:
* also convert Marker and Gainenvelope Nodes to universal samplerate
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/ProjectConverter.cpp?cvsroot=traverso&r1=1.5&r2=1.6
Patches:
Index: ProjectConverter.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/ProjectConverter.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- ProjectConverter.cpp 23 Nov 2007 21:19:18 -0000 1.5
+++ ProjectConverter.cpp 26 Nov 2007 18:21:47 -0000 1.6
@@ -183,6 +183,68 @@
clipelement.setAttribute("sourcestart",
TimeRef(sourceStartFrame, rate).universal_frame());
clipelement.setAttribute("length", TimeRef(length,
rate).universal_frame());
+ QDomElement fadeInNode = clipsNode.firstChildElement("FadeIn");
+ if (!fadeInNode.isNull()) {
+ QDomElement e = fadeInNode.toElement();
+ QString rangestring = e.attribute("range", "1");
+ double range;
+ if (rangestring == "nan" || rangestring == "inf") {
+ printf("FadeCurve::set_state: stored range was
not a number!\n");
+ range = 1;
+ } else {
+ range = rangestring.toDouble();
+ }
+ if (range > 1.0) {
+ e.setAttribute("range",
TimeRef(nframes_t(range), rate).universal_frame());
+ }
+ }
+ QDomElement fadeOutNode =
clipsNode.firstChildElement("FadeOut");
+ if (!fadeOutNode.isNull()) {
+ QDomElement e = fadeOutNode.toElement();
+ QString rangestring = e.attribute("range", "1");
+ double range;
+ if (rangestring == "nan" || rangestring == "inf") {
+ printf("FadeCurve::set_state: stored range was
not a number!\n");
+ range = 1;
+ } else {
+ range = rangestring.toDouble();
+ }
+ if (range > 1.0)
+ e.setAttribute("range",
TimeRef(nframes_t(range), rate).universal_frame());
+ }
+
+ QDomNode pluginChainNode =
clipsNode.firstChildElement("PluginChain");
+ if (!pluginChainNode.isNull()) {
+ QDomNode pluginsNode = pluginChainNode.firstChild();
+ QDomNode pluginNode = pluginsNode.firstChild();
+
+ while(!pluginNode.isNull()) {
+ if (pluginNode.toElement().attribute( "type",
"") == "GainEnvelope") {
+ QDomElement controlPortsNode =
pluginNode.firstChildElement("ControlPorts");
+ if (!controlPortsNode.isNull()) {
+ QDomNode portNode =
controlPortsNode.firstChild();
+
+ if(!portNode.isNull()) {
+ QDomElement curveNode =
portNode.firstChildElement("PortAutomation");
+ if
(!curveNode.isNull()) {
+ QDomElement e =
curveNode.toElement();
+ QStringList
nodesList = e.attribute( "nodes", "" ).split(";");
+ QStringList
newNodesList;
+ for (int i=0;
i<nodesList.size(); ++i) {
+
QStringList whenValueList = nodesList.at(i).split(",");
+ double
when = whenValueList.at(0).toDouble();
+ double
value = whenValueList.at(1).toDouble();
+
newNodesList << QString::number(TimeRef(nframes_t(when),
rate).universal_frame(), 'g', 24).append(",").append(QString::number(value));
+
e.setAttribute("nodes", newNodesList.join(";"));
+ }
+ }
+ }
+ }
+ }
+ pluginNode = pluginNode.nextSibling();
+ }
+ }
+
clipsNode = clipsNode.nextSibling();
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Traverso-commit] traverso/src/core ProjectConverter.cpp,
Remon Sijrier <=