Mercurial > hg > webaudioevaluationtool
diff ape.js @ 2045:39f9dd95b8d5
Added check type 'scalerange' with min max attributes to enforce use of the scale.
author | Nicholas Jillings <nickjillings@users.noreply.github.com> |
---|---|
date | Fri, 19 Jun 2015 16:31:14 +0100 |
parents | 0129f205a08d |
children | aef4cbbd66d1 |
line wrap: on
line diff
--- a/ape.js Thu Jun 18 16:39:40 2015 +0100 +++ b/ape.js Fri Jun 19 16:31:14 2015 +0100 @@ -147,6 +147,38 @@ return state; }; + Interface.prototype.checkScaleRange = function() + { + var audioObjs = audioEngineContext.audioObjects; + var audioHolder = testState.stateMap[testState.stateIndex]; + var interfaces = audioHolder.interfaces; + + var minRanking = audioObjs[0].interfaceDOM.getValue(); + var maxRanking = minRanking; + + var minScale; + var maxScale; + for (var i=0; i<interfaces[0].options.length; i++) + { + if (interfaces[0].options[i].check == "scalerange") { + minScale = interfaces[0].options[i].min; + maxScale = interfaces[0].options[i].max; + } + } + + for (var i=1; i<audioObjs.length; i++){ + var ranking = audioObjs[i].interfaceDOM.getValue(); + if (ranking < minRanking) { minRanking = ranking;} + if (ranking > maxRanking) { maxRanking = ranking;} + } + if (minRanking > minScale || maxRanking < maxScale) { + alert('Please use the full width of the scale'); + return false; + } else { + return true; + } + }; + // Bindings for audioObjects // Create the top div for the Title element @@ -530,9 +562,15 @@ var checkState = interfaceContext.checkAllCommented(); if (checkState == false) {canContinue = false;} break; + case 'scalerange': + // Check the scale is used to its full width outlined by the node + var checkState = interfaceContext.checkScaleRange(); + if (checkState == false) {canContinue = false;} + break; } } + if (!canContinue) {break;} } if (canContinue) {