Mercurial > hg > webaudioevaluationtool
changeset 2924:4ae62d4c5c6d
Potential fix for #226. WIP for #225
author | Nicholas Jillings <n.g.r.jillings@se14.qmul.ac.uk> |
---|---|
date | Wed, 06 Sep 2017 13:40:23 +0100 |
parents | 029b0ebc299a |
children | 21d548eb40f1 |
files | js/core.js tests/examples/APE_example.xml |
diffstat | 2 files changed, 20 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/js/core.js Wed Sep 06 12:17:14 2017 +0100 +++ b/js/core.js Wed Sep 06 13:40:23 2017 +0100 @@ -678,9 +678,10 @@ table.className = "popup-option-list"; table.border = "0"; node.response = []; + var nodelist = []; node.specification.options.forEach(function (option, index) { var tr = document.createElement("tr"); - table.appendChild(tr); + nodelist.push(tr); var td = document.createElement("td"); tr.appendChild(td); var input = document.createElement('input'); @@ -703,6 +704,12 @@ } index++; }); + if (node.specification.randomise) { + nodelist = randomiseOrder(nodelist); + } + nodelist.forEach(function (e) { + table.appendChild(e); + }); this.popupResponse.appendChild(table); } @@ -1969,13 +1976,15 @@ // Safari does not like using 'this' to reference the calling object! //event.currentTarget.owner.metric.stopListening(audioEngineContext.timer.getTestTime(),event.currentTarget.owner.getCurrentPosition()); if (event.currentTarget !== null) { - event.currentTarget.owner.stop(audioContext.currentTime + 1); + event.currentTarget.owner.stop(audioContext.currentTime + 0.1); } }; this.outputGain.gain.cancelScheduledValues(audioContext.currentTime); if (!audioEngineContext.loopPlayback || !audioEngineContext.synchPlayback) { this.metric.startListening(audioEngineContext.timer.getTestTime()); - this.outputGain.gain.linearRampToValueAtTime(this.onplayGain, startTime + specification.crossFade); + if (this.outputGain.gain.value !== this.onplayGain) { + this.outputGain.gain.linearRampToValueAtTime(this.onplayGain, startTime + Number(specification.crossFade)); + } this.interfaceDOM.startPlayback(); } else { this.outputGain.gain.linearRampToValueAtTime(0.0, startTime);
--- a/tests/examples/APE_example.xml Wed Sep 06 12:17:14 2017 +0100 +++ b/tests/examples/APE_example.xml Wed Sep 06 13:40:23 2017 +0100 @@ -2,24 +2,24 @@ <waet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="test-schema.xsd"> <setup interface="APE" projectReturn="save.php" randomiseOrder='true' poolSize="2" loudness="-23" calibration="true"> <survey location="before"> - <surveyentry type="question" id="sessionId" mandatory="true"> + <surveyquestion id="sessionId" mandatory="true"> <statement>Please enter your name.</statement> <conditional check="equals" value="John" jumpToOnPass="test-intro" jumpToOnFail="checkboxtest" /> - </surveyentry> - <surveyentry type="checkbox" id="checkboxtest" mandatory="true" min="2" max="4"> + </surveyquestion> + <surveycheckbox id="checkboxtest" mandatory="true" min="2" max="4" randomise="true"> <statement>Please select with which activities you have any experience (example checkbox question)</statement> <option name="musician">Playing a musical instrument</option> <option name="soundengineer">Recording or mixing audio</option> <option name="developer">Developing audio software</option> <option name="hwdesigner">Designing or building audio hardware</option> <option name="researcher">Research in the field of audio</option> - </surveyentry> - <surveyentry type="question" id="instrument" mandatory="false"> + </surveycheckbox> + <surveyquestion id="instrument" mandatory="false"> <statement>What instrument did you play</statement> - </surveyentry> - <surveyentry type="statement" id="test-intro"> + </surveyquestion> + <surveystatement id="test-intro"> <statement>This is an example of an 'APE'-style test, with two pages, using the test stimuli in 'example_eval/'.</statement> - </surveyentry> + </surveystatement> </survey> <survey location="after"> <surveyentry type="question" id="location" mandatory="true" boxsize="large">