diff ape.js @ 786:9ed3abe54604

APE Metric tag holds all axis information.
author Nicholas Jillings <n.g.r.jillings@se14.qmul.ac.uk>
date Fri, 11 Dec 2015 15:54:59 +0000
parents c8f99418b34b
children 8a926674000b
line wrap: on
line diff
--- a/ape.js	Fri Dec 11 11:42:28 2015 +0000
+++ b/ape.js	Fri Dec 11 15:54:59 2015 +0000
@@ -566,7 +566,7 @@
 		var obj = [];
 		$(this.trackSliderObjects).each(function(i,trackObj){
 			var node = document.createElement('value');
-			node.setAttribute("name",trackObj.getAttribute("interface-name"));
+			node.setAttribute("inteerface-name",trackObj.getAttribute("interface-name"));
 			node.textContent = convSliderPosToRate(trackObj);
 			obj.push(node);
 		});
@@ -679,12 +679,27 @@
 		// Have to append the metric specific nodes
 		if (testXML.outsideReference == null || testXML.outsideReference.id != audioelements[i].id)
 		{
+			var inject = audioelements[i].getElementsByTagName("metric");
+			if (inject.length == 0)
+			{
+				inject = document.createElement("metric");
+			} else {
+				inject = inject[0];
+			}
 			for (var k=0; k<interfaceContext.interfaceSliders.length; k++)
 			{
 				var node = interfaceContext.interfaceSliders[k].metrics[i].exportXMLDOM();
-				node.setAttribute("interface-name",interfaceContext.interfaceSliders[k].name);
-				node.setAttribute("interfaceid",interfaceContext.interfaceSliders[k].id);
-				audioelements[i].appendChild(node);
+				var mrnodes = node.getElementsByTagName("metricresult");
+				for (var j=0; j<mrnodes.length; j++)
+				{
+					var name = mrnodes[j].getAttribute("name");
+					if (name == "elementTracker" || name == "elementTrackerFull" || name == "elementInitialPosition" || name == "elementFlagMoved")
+					{
+						mrnodes[j].setAttribute("interface-name",interfaceContext.interfaceSliders[k].name);
+						mrnodes[j].setAttribute("interface-id",k);
+						inject.appendChild(mrnodes[j]);
+					}
+				}
 			}
 		}
 	}