Mercurial > hg > webaudioevaluationtool
comparison js/core.js @ 2704:3a0be105ee85
#180. Fixed checkScaleRange
author | Nicholas Jillings <nicholas.jillings@mail.bcu.ac.uk> |
---|---|
date | Mon, 13 Mar 2017 13:29:28 +0000 |
parents | d29471d114cf |
children | 8f485581ee73 |
comparison
equal
deleted
inserted
replaced
2703:536cb44c7292 | 2704:3a0be105ee85 |
---|---|
3286 return false; | 3286 return false; |
3287 } | 3287 } |
3288 } | 3288 } |
3289 return true; | 3289 return true; |
3290 }; | 3290 }; |
3291 this.checkScaleRange = function (min, max) { | 3291 this.checkScaleRange = function () { |
3292 var page = testState.getCurrentTestPage(); | 3292 var page = testState.getCurrentTestPage(); |
3293 var audioObjects = audioEngineContext.audioObjects; | 3293 var interfaceObject = page.interfaces; |
3294 var state = true; | 3294 var state = true; |
3295 var str = "Please keep listening. "; | 3295 var str = "Please keep listening. "; |
3296 var minRanking = Infinity; | 3296 if (interfaceObject === undefined) { |
3297 var maxRanking = -Infinity; | 3297 return true; |
3298 audioEngineContext.audioObjects.forEach(function (ao) { | 3298 } |
3299 var rank = ao.interfaceDOM.getValue(); | 3299 interfaceObject = interfaceObject[0]; |
3300 if (rank < minRanking) { | 3300 var scales = (function () { |
3301 minRanking = rank; | 3301 var scaleRange = interfaceObject.options.find(function (a) { |
3302 } | 3302 return a.name == "scalerange"; |
3303 if (rank > maxRanking) { | 3303 }); |
3304 maxRanking = rank; | 3304 return { |
3305 } | 3305 min: scaleRange.min, |
3306 }, this); | 3306 max: scaleRange.max |
3307 if (minRanking * 100 > min) { | 3307 }; |
3308 str += "At least one fragment must be below the " + min + " mark."; | 3308 })(); |
3309 var range = audioEngineContext.audioObjects.reduce(function (a, b) { | |
3310 var v = b.interfaceDOM.getValue(); | |
3311 return { | |
3312 min: Math.min(a.min, v), | |
3313 max: Math.max(a.max, v) | |
3314 } | |
3315 }, { | |
3316 min: 100, | |
3317 max: 0 | |
3318 }); | |
3319 if (range.min > scales.min) { | |
3320 str += "At least one fragment must be below the " + range.min + " mark."; | |
3309 state = false; | 3321 state = false; |
3310 } | 3322 } else if (range.max < sacles.max) { |
3311 if (maxRanking * 100 < max) { | 3323 str += "At least one fragment must be above the " + range.max + " mark."; |
3312 str += "At least one fragment must be above the " + max + " mark."; | |
3313 state = false; | 3324 state = false; |
3314 } | 3325 } |
3315 if (!state) { | 3326 if (state === false) { |
3316 console.log(str); | 3327 console.log(str); |
3317 this.storeErrorNode(str); | 3328 this.storeErrorNode(str); |
3318 interfaceContext.lightbox.post("Error", str); | 3329 interfaceContext.lightbox.post("Error", str); |
3319 } | 3330 } |
3320 return state; | 3331 return state; |