Mercurial > hg > webaudioevaluationtool
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()