changeset 52:584302307987 Dev_main

Updated sessionMetric bindings for APE interface
author Nicholas Jillings <n.g.r.jillings@se14.qmul.ac.uk>
date Mon, 13 Apr 2015 11:29:25 +0100
parents cada56696a15
children 8baa6b5cb4be
files ape.js core.js
diffstat 2 files changed, 48 insertions(+), 45 deletions(-) [+]
line wrap: on
line diff
--- a/ape.js	Mon Apr 13 10:40:37 2015 +0100
+++ b/ape.js	Mon Apr 13 11:29:25 2015 +0100
@@ -93,6 +93,52 @@
 		}
 	});
 	
+	// Create APE specific metric functions
+	audioEngineContext.metric.initialiseTest = function()
+	{
+		var sliders = document.getElementsByClassName('track-slider');
+		for (var i=0; i<sliders.length; i++)
+		{
+			audioEngineContext.audioObjects[i].metric.initialised(convSliderPosToRate(i));
+		}
+	};
+	
+	audioEngineContext.metric.sliderMoveStart = function(id)
+	{
+		if (this.data == -1)
+		{
+			this.data = id;
+		} else {
+			console.log('ERROR: Metric tracker detecting two moves!');
+			this.data = -1;
+		}
+	};
+	audioEngineContext.metric.sliderMoved = function()
+	{
+		var time = audioEngineContext.timer.getTestTime();
+		var id = this.data;
+		this.data = -1;
+		var position = convSliderPosToRate(id);
+		if (audioEngineContext.timer.testStarted)
+		{
+			audioEngineContext.audioObjects[id].metric.moved(time,position);
+		}
+	};
+	
+	audioEngineContext.metric.sliderPlayed = function(id)
+	{
+		var time = audioEngineContext.timer.getTestTime();
+		if (audioEngineContext.timer.testStarted)
+		{
+			if (this.lastClicked >= 0)
+			{
+				audioEngineContext.audioObjects[this.lastClicked].metric.listening(time);
+			}
+			this.lastClicked = id;
+			audioEngineContext.audioObjects[id].metric.listening(time);
+		}
+	};
+	
 	// Create the top div for the Title element
 	var titleAttr = xmlSetup[0].attributes['title'];
 	var title = document.createElement('div');
--- a/core.js	Mon Apr 13 10:40:37 2015 +0100
+++ b/core.js	Mon Apr 13 11:29:25 2015 +0100
@@ -265,6 +265,7 @@
 			this.testStartTime = audioContext.currentTime;
 			this.testStarted = true;
 			this.updateTestTime();
+			audioEngineContext.metric.initialiseTest();
 		}
 	};
 	this.stopTest = function()
@@ -298,51 +299,7 @@
 	this.engine = engine;
 	this.lastClicked = -1;
 	this.data = -1;
-	
-	this.initialiseTest = function()
-	{
-		var sliders = document.getElementsByClassName('track-slider');
-		for (var i=0; i<sliders.length; i++)
-		{
-			engine.audioObjects[i].metric.initialised(convSliderPosToRate(i));
-		}
-	};
-	
-	this.sliderMoveStart = function(id)
-	{
-		if (this.data == -1)
-		{
-			this.data = id;
-		} else {
-			console.log('ERROR: Metric tracker detecting two moves!');
-			this.data = -1;
-		}
-	};
-	this.sliderMoved = function()
-	{
-		var time = engine.timer.getTestTime();
-		var id = this.data;
-		this.data = -1;
-		var position = convSliderPosToRate(id);
-		if (engine.timer.testStarted)
-		{
-			engine.audioObjects[id].metric.moved(time,position);
-		}
-	};
-	
-	this.sliderPlayed = function(id)
-	{
-		var time = engine.timer.getTestTime();
-		if (engine.timer.testStarted)
-		{
-			if (this.lastClicked >= 0)
-			{
-				engine.audioObjects[this.lastClicked].metric.listening(time);
-			}
-			this.lastClicked = id;
-			engine.audioObjects[id].metric.listening(time);
-		}
-	};
+	this.initialiseTest = function(){};
 }
 
 function metricTracker()