Mercurial > hg > webaudioevaluationtool
comparison ape.js @ 231:b51da1e7547c Dev_main
Added check type 'scalerange' with min max attributes to enforce use of the scale.
author | Nicholas Jillings <nicholas.jillings@eecs.qmul.ac.uk> |
---|---|
date | Fri, 19 Jun 2015 16:31:14 +0100 |
parents | d8bad6edaa95 |
children | ed0f60b100c0 |
comparison
equal
deleted
inserted
replaced
224:ccb62b429a85 | 231:b51da1e7547c |
---|---|
143 alert('You have not commented on fragment ' + strNums[0] + ' yet. Please listen, rate and comment all samples before submitting.'); | 143 alert('You have not commented on fragment ' + strNums[0] + ' yet. Please listen, rate and comment all samples before submitting.'); |
144 } | 144 } |
145 } | 145 } |
146 } | 146 } |
147 return state; | 147 return state; |
148 }; | |
149 | |
150 Interface.prototype.checkScaleRange = function() | |
151 { | |
152 var audioObjs = audioEngineContext.audioObjects; | |
153 var audioHolder = testState.stateMap[testState.stateIndex]; | |
154 var interfaces = audioHolder.interfaces; | |
155 | |
156 var minRanking = audioObjs[0].interfaceDOM.getValue(); | |
157 var maxRanking = minRanking; | |
158 | |
159 var minScale; | |
160 var maxScale; | |
161 for (var i=0; i<interfaces[0].options.length; i++) | |
162 { | |
163 if (interfaces[0].options[i].check == "scalerange") { | |
164 minScale = interfaces[0].options[i].min; | |
165 maxScale = interfaces[0].options[i].max; | |
166 } | |
167 } | |
168 | |
169 for (var i=1; i<audioObjs.length; i++){ | |
170 var ranking = audioObjs[i].interfaceDOM.getValue(); | |
171 if (ranking < minRanking) { minRanking = ranking;} | |
172 if (ranking > maxRanking) { maxRanking = ranking;} | |
173 } | |
174 if (minRanking > minScale || maxRanking < maxScale) { | |
175 alert('Please use the full width of the scale'); | |
176 return false; | |
177 } else { | |
178 return true; | |
179 } | |
148 }; | 180 }; |
149 | 181 |
150 // Bindings for audioObjects | 182 // Bindings for audioObjects |
151 | 183 |
152 // Create the top div for the Title element | 184 // Create the top div for the Title element |
528 case 'fragmentComments': | 560 case 'fragmentComments': |
529 // Check all fragment sliders have been moved. | 561 // Check all fragment sliders have been moved. |
530 var checkState = interfaceContext.checkAllCommented(); | 562 var checkState = interfaceContext.checkAllCommented(); |
531 if (checkState == false) {canContinue = false;} | 563 if (checkState == false) {canContinue = false;} |
532 break; | 564 break; |
533 } | 565 case 'scalerange': |
534 | 566 // Check the scale is used to its full width outlined by the node |
535 } | 567 var checkState = interfaceContext.checkScaleRange(); |
568 if (checkState == false) {canContinue = false;} | |
569 break; | |
570 } | |
571 | |
572 } | |
573 if (!canContinue) {break;} | |
536 } | 574 } |
537 | 575 |
538 if (canContinue) { | 576 if (canContinue) { |
539 if (audioEngineContext.status == 1) { | 577 if (audioEngineContext.status == 1) { |
540 var playback = document.getElementById('playback-button'); | 578 var playback = document.getElementById('playback-button'); |