Mercurial > hg > webaudioevaluationtool
changeset 2359:971acb7e3fab
Better way to do #52, easier to modify in the future with more interfaces etc requiring specific test scenarios.
author | Nicholas Jillings <nicholas.jillings@mail.bcu.ac.uk> |
---|---|
date | Mon, 16 May 2016 15:26:56 +0100 |
parents | c812d5cc2dc6 |
children | c296a817dff8 |
files | interfaces/AB.js interfaces/ABX.js |
diffstat | 2 files changed, 48 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/interfaces/AB.js Mon May 16 15:23:54 2016 +0100 +++ b/interfaces/AB.js Mon May 16 15:26:56 2016 +0100 @@ -9,6 +9,30 @@ // Custom comparator Object Interface.prototype.comparator = null; + + Interface.prototype.checkScaleRange = function(min, max) { + var page = testState.getCurrentTestPage(); + var audioObjects = audioEngineContext.audioObjects; + var state = true; + var str = "Please keep listening. "; + var minRanking = Infinity; + var maxRanking = -Infinity; + for (var ao of audioObjects) { + var rank = ao.interfaceDOM.getValue(); + if (rank < minRanking) {minRanking = rank;} + if (rank > maxRanking) {maxRanking = rank;} + } + if (maxRanking*100 < max) { + str += "At least one fragment must be selected." + state = false; + } + if (!state) { + console.log(str); + this.storeErrorNode(str); + alert(str); + } + return state; + } // The injection point into the HTML page interfaceContext.insertPoint = document.getElementById("topLevelBody");
--- a/interfaces/ABX.js Mon May 16 15:23:54 2016 +0100 +++ b/interfaces/ABX.js Mon May 16 15:26:56 2016 +0100 @@ -12,6 +12,30 @@ interfaceContext.insertPoint.innerHTML = null; // Clear the current schema + Interface.prototype.checkScaleRange = function(min, max) { + var page = testState.getCurrentTestPage(); + var audioObjects = audioEngineContext.audioObjects; + var state = true; + var str = "Please keep listening. "; + var minRanking = Infinity; + var maxRanking = -Infinity; + for (var ao of audioObjects) { + var rank = ao.interfaceDOM.getValue(); + if (rank < minRanking) {minRanking = rank;} + if (rank > maxRanking) {maxRanking = rank;} + } + if (maxRanking*100 < max) { + str += "At least one fragment must be selected." + state = false; + } + if (!state) { + console.log(str); + this.storeErrorNode(str); + alert(str); + } + return state; + } + // Custom comparator Object Interface.prototype.comparator = null;