changeset 914:de1cc98f2889

Small fixes. <interface> tag properly processed by ape.js
author Nicholas Jillings <n.g.r.jillings@se14.qmul.ac.uk>
date Thu, 04 Jun 2015 18:03:36 +0100
parents 62e755ce8d34
children 92aea9ab8060
files ape.js core.js
diffstat 2 files changed, 31 insertions(+), 30 deletions(-) [+]
line wrap: on
line diff
--- a/ape.js	Thu Jun 04 17:23:32 2015 +0100
+++ b/ape.js	Thu Jun 04 18:03:36 2015 +0100
@@ -177,39 +177,40 @@
 	canvas.innerHTML = null;
 	
 	// Setup question title
-	var interfaceObj = $(audioHolderObject).find('interface');
-	var titleNode = interfaceObj.find('title');
-	if (titleNode[0] != undefined)
-	{
-		document.getElementById('pageTitle').textContent = titleNode[0].textContent;
-	}
-	var positionScale = canvas.style.width.substr(0,canvas.style.width.length-2);
-	var offset = Number(document.getElementById('slider').attributes['marginsize'].value);
-	var scale = document.getElementById('sliderScaleHolder');
-	scale.innerHTML = null;
-	interfaceObj.find('scale').each(function(index,scaleObj){
-		var value = document.createAttribute('value');
-		var position = Number(scaleObj.attributes['position'].value)*0.01;
-		value.nodeValue = position;
-		var pixelPosition = (position*positionScale)+offset;
-		var scaleDOM = document.createElement('span');
-		scaleDOM.textContent = scaleObj.textContent;
-		scale.appendChild(scaleDOM);
-		scaleDOM.style.left = Math.floor((pixelPosition-($(scaleDOM).width()/2)))+'px';
-		scaleDOM.setAttributeNode(value);
-	});
-	
-	var commentBoxPrefix = interfaceObj.find('commentBoxPrefix');
-	if (commentBoxPrefix.length != 0) {
-		commentBoxPrefix = commentBoxPrefix[0].textContent;
-	} else {
-		commentBoxPrefix = "Comment on track";
+	var interfaceObj = audioHolderObject.interfaces;
+	var commentBoxPrefix = "Comment on track";
+	if (interfaceObj.length != 0) {
+		interfaceObj = interfaceObj[0];
+		var titleNode = interfaceObj.title;
+		if (titleNode != undefined)
+		{
+			document.getElementById('pageTitle').textContent = titleNode;
+		}
+		var positionScale = canvas.style.width.substr(0,canvas.style.width.length-2);
+		var offset = Number(document.getElementById('slider').attributes['marginsize'].value);
+		var scale = document.getElementById('sliderScaleHolder');
+		scale.innerHTML = null;
+		$(interfaceObj.scale).each(function(index,scaleObj){
+			var value = document.createAttribute('value');
+			var position = Number(scaleObj[0])*0.01;
+			value.nodeValue = position;
+			var pixelPosition = (position*positionScale)+offset;
+			var scaleDOM = document.createElement('span');
+			scaleDOM.textContent = scaleObj[1];
+			scale.appendChild(scaleDOM);
+			scaleDOM.style.left = Math.floor((pixelPosition-($(scaleDOM).width()/2)))+'px';
+			scaleDOM.setAttributeNode(value);
+		});
+		
+		if (interfaceObj.commentBoxPrefix != undefined) {
+			commentBoxPrefix = interfaceObj.commentBoxPrefix;
+		}
 	}
 
 	/// CHECK FOR SAMPLE RATE COMPATIBILITY
 	if (audioHolderObject.sampleRate != undefined) {
 		if (Number(audioHolderObject.sampleRate) != audioContext.sampleRate) {
-			var errStr = 'Sample rates do not match! Requested '+Number(hostFs)+', got '+audioContext.sampleRate+'. Please set the sample rate to match before completing this test.';
+			var errStr = 'Sample rates do not match! Requested '+Number(audioHolderObject.sampleRate)+', got '+audioContext.sampleRate+'. Please set the sample rate to match before completing this test.';
 			alert(errStr);
 			return;
 		}
--- a/core.js	Thu Jun 04 17:23:32 2015 +0100
+++ b/core.js	Thu Jun 04 18:03:36 2015 +0100
@@ -976,10 +976,10 @@
 		this.projectReturn = setupNode.getAttribute('projectReturn');
 		if (setupNode.getAttribute('randomiseOrder') == "true") {
 			this.randomiseOrder = true;
-		} else {this.setup.randomiseOrder = false;}
+		} else {this.randomiseOrder = false;}
 		if (setupNode.getAttribute('collectMetrics') == "true") {
 			this.collectMetrics = true;
-		} else {this.setup.collectMetrics = false;}
+		} else {this.collectMetrics = false;}
 		var metricCollection = setupNode.getElementsByTagName('Metric');
 		
 		this.preTest = new this.prepostNode('pretest',setupNode.getElementsByTagName('PreTest'));