Mercurial > hg > webaudioevaluationtool
changeset 2418:3013cf945716
Merge branch 'Dev_main'
author | Nicholas Jillings <n.g.r.jillings@se14.qmul.ac.uk> |
---|---|
date | Fri, 27 May 2016 12:16:42 +0100 |
parents | b7ed9d43ea87 (diff) dd8894bca691 (current diff) |
children | 4718cd881d3a 02d5d22d7018 |
files | js/specification.js |
diffstat | 11 files changed, 232 insertions(+), 197 deletions(-) [+] |
line wrap: on
line diff
--- a/interfaces/AB.js Fri May 27 11:52:07 2016 +0100 +++ b/interfaces/AB.js Fri May 27 12:16:42 2016 +0100 @@ -153,6 +153,9 @@ if (node){feedbackHolder.removeChild(node);} } + // Populate the comparator object + interfaceContext.comparator = new comparator(audioHolderObject); + for (var option of interfaceOptions) { if (option.type == "show") @@ -187,30 +190,27 @@ feedbackHolder.appendChild(interfaceContext.volume.object); } break; + case "comments": + var commentHolder = document.createElement('div'); + commentHolder.id = 'commentHolder'; + document.getElementById('testContent').appendChild(commentHolder); + // Generate one comment box per presented page + for (var element of audioEngineContext.audioObjects) + { + interfaceContext.commentBoxes.createCommentBox(element); + } + interfaceContext.commentBoxes.showCommentBoxes(commentHolder,true); + break; } } } - - // Populate the comparator object - interfaceContext.comparator = new comparator(audioHolderObject); - if (audioHolderObject.showElementComments) - { - var commentHolder = document.createElement('div'); - commentHolder.id = 'commentHolder'; - document.getElementById('testContent').appendChild(commentHolder); - // Generate one comment box per presented page - for (var element of audioEngineContext.audioObjects) - { - interfaceContext.commentBoxes.createCommentBox(element); - } - interfaceContext.commentBoxes.showCommentBoxes(commentHolder,true); - } - resizeWindow(null); $(audioHolderObject.commentQuestions).each(function(index,element) { var node = interfaceContext.createCommentQuestion(element); commentHolder.appendChild(node.holder); }); + + resizeWindow(null); } function comparator(audioHolderObject)
--- a/interfaces/ape.js Fri May 27 11:52:07 2016 +0100 +++ b/interfaces/ape.js Fri May 27 12:16:42 2016 +0100 @@ -339,6 +339,12 @@ { feedbackHolder.appendChild(interfaceContext.volume.object); } + } else if (interfaceList[k].options[i].type == 'show' && interfaceList[k].options[i].name == 'comments') { + var commentHolder = document.createElement('div'); + commentHolder.id = 'commentHolder'; + document.getElementById('testContent').appendChild(commentHolder); + interfaceContext.commentBoxes.showCommentBoxes(feedbackHolder,true); + break; } } } @@ -444,17 +450,51 @@ interfaceContext.releaseObject(); }); - - if (audioHolderObject.showElementComments) { - interfaceContext.commentBoxes.showCommentBoxes(feedbackHolder,true); - } - - $(audioHolderObject.commentQuestions).each(function(index,element) { + var interfaceList = audioHolderObject.interfaces.concat(specification.interfaces); + for (var k=0; k<interfaceList.length; k++) + { + for (var i=0; i<interfaceList[k].options.length; i++) + { + if (interfaceList[k].options[i].type == 'show' && interfaceList[k].options[i].name == 'playhead') + { + var playbackHolder = document.getElementById('playback-holder'); + if (playbackHolder == null) + { + playbackHolder = document.createElement('div'); + playbackHolder.id = "playback-holder"; + playbackHolder.style.width = "100%"; + playbackHolder.align = 'center'; + playbackHolder.appendChild(interfaceContext.playhead.object); + feedbackHolder.appendChild(playbackHolder); + } + } else if (interfaceList[k].options[i].type == 'show' && interfaceList[k].options[i].name == 'page-count') + { + var pagecountHolder = document.getElementById('page-count'); + if (pagecountHolder == null) + { + pagecountHolder = document.createElement('div'); + pagecountHolder.id = 'page-count'; + } + pagecountHolder.innerHTML = '<span>Page '+(testState.stateIndex+1)+' of '+testState.stateMap.length+'</span>'; + var inject = document.getElementById('interface-buttons'); + inject.appendChild(pagecountHolder); + } else if (interfaceList[k].options[i].type == 'show' && interfaceList[k].options[i].name == 'volume') { + if (document.getElementById('master-volume-holder') == null) + { + feedbackHolder.appendChild(interfaceContext.volume.object); + } + } else if (interfaceList[k].options[i].type == 'show' && interfaceList[k].options[i].name == 'comments') { + interfaceContext.commentBoxes.showCommentBoxes(feedbackHolder,true); + break; + } + } + } + + $(audioHolderObject.commentQuestions).each(function(index,element) { var node = interfaceContext.createCommentQuestion(element); feedbackHolder.appendChild(node.holder); }); - //testWaitIndicator(); }
--- a/interfaces/discrete.js Fri May 27 11:52:07 2016 +0100 +++ b/interfaces/discrete.js Fri May 27 12:16:42 2016 +0100 @@ -130,44 +130,6 @@ { document.getElementById("pageTitle").textContent = interfaceObj.title; } - - var interfaceOptions = specification.interfaces.options.concat(interfaceObj.options); - for (var option of interfaceOptions) - { - if (option.type == "show") - { - switch(option.name) { - case "playhead": - var playbackHolder = document.getElementById('playback-holder'); - if (playbackHolder == null) - { - playbackHolder = document.createElement('div'); - playbackHolder.style.width = "100%"; - playbackHolder.align = 'center'; - playbackHolder.appendChild(interfaceContext.playhead.object); - feedbackHolder.appendChild(playbackHolder); - } - break; - case "page-count": - var pagecountHolder = document.getElementById('page-count'); - if (pagecountHolder == null) - { - pagecountHolder = document.createElement('div'); - pagecountHolder.id = 'page-count'; - } - pagecountHolder.innerHTML = '<span>Page '+(testState.stateIndex+1)+' of '+testState.stateMap.length+'</span>'; - var inject = document.getElementById('interface-buttons'); - inject.appendChild(pagecountHolder); - break; - case "volume": - if (document.getElementById('master-volume-holder') == null) - { - feedbackHolder.appendChild(interfaceContext.volume.object); - } - break; - } - } - } // Delete outside reference document.getElementById("outside-reference-holder").innerHTML = ""; @@ -224,11 +186,52 @@ }); - if (page.showElementComments) + var interfaceOptions = specification.interfaces.options.concat(interfaceObj.options); + for (var option of interfaceOptions) { - interfaceContext.commentBoxes.showCommentBoxes(feedbackHolder,true); + if (option.type == "show") + { + switch(option.name) { + case "playhead": + var playbackHolder = document.getElementById('playback-holder'); + if (playbackHolder == null) + { + playbackHolder = document.createElement('div'); + playbackHolder.style.width = "100%"; + playbackHolder.align = 'center'; + playbackHolder.appendChild(interfaceContext.playhead.object); + feedbackHolder.appendChild(playbackHolder); + } + break; + case "page-count": + var pagecountHolder = document.getElementById('page-count'); + if (pagecountHolder == null) + { + pagecountHolder = document.createElement('div'); + pagecountHolder.id = 'page-count'; + } + pagecountHolder.innerHTML = '<span>Page '+(testState.stateIndex+1)+' of '+testState.stateMap.length+'</span>'; + var inject = document.getElementById('interface-buttons'); + inject.appendChild(pagecountHolder); + break; + case "volume": + if (document.getElementById('master-volume-holder') == null) + { + feedbackHolder.appendChild(interfaceContext.volume.object); + } + break; + case "comments": + interfaceContext.commentBoxes.showCommentBoxes(feedbackHolder,true); + break; + } + } } + $(page.commentQuestions).each(function(index,element) { + var node = interfaceContext.createCommentQuestion(element); + commentHolder.appendChild(node.holder); + }); + // Auto-align resizeWindow(null); }
--- a/interfaces/horizontal-sliders.js Fri May 27 11:52:07 2016 +0100 +++ b/interfaces/horizontal-sliders.js Fri May 27 12:16:42 2016 +0100 @@ -130,44 +130,6 @@ { document.getElementById("pageTitle").textContent = interfaceObj.title; } - - var interfaceOptions = specification.interfaces.options.concat(interfaceObj.options); - for (var option of interfaceOptions) - { - if (option.type == "show") - { - switch(option.name) { - case "playhead": - var playbackHolder = document.getElementById('playback-holder'); - if (playbackHolder == null) - { - playbackHolder = document.createElement('div'); - playbackHolder.style.width = "100%"; - playbackHolder.align = 'center'; - playbackHolder.appendChild(interfaceContext.playhead.object); - feedbackHolder.appendChild(playbackHolder); - } - break; - case "page-count": - var pagecountHolder = document.getElementById('page-count'); - if (pagecountHolder == null) - { - pagecountHolder = document.createElement('div'); - pagecountHolder.id = 'page-count'; - } - pagecountHolder.innerHTML = '<span>Page '+(testState.stateIndex+1)+' of '+testState.stateMap.length+'</span>'; - var inject = document.getElementById('interface-buttons'); - inject.appendChild(pagecountHolder); - break; - case "volume": - if (document.getElementById('master-volume-holder') == null) - { - feedbackHolder.appendChild(interfaceContext.volume.object); - } - break; - } - } - } // Delete outside reference document.getElementById("outside-reference-holder").innerHTML = ""; @@ -231,9 +193,45 @@ } }); - if (page.showElementComments) + var interfaceOptions = specification.interfaces.options.concat(interfaceObj.options); + for (var option of interfaceOptions) { - interfaceContext.commentBoxes.showCommentBoxes(feedbackHolder,true); + if (option.type == "show") + { + switch(option.name) { + case "playhead": + var playbackHolder = document.getElementById('playback-holder'); + if (playbackHolder == null) + { + playbackHolder = document.createElement('div'); + playbackHolder.style.width = "100%"; + playbackHolder.align = 'center'; + playbackHolder.appendChild(interfaceContext.playhead.object); + feedbackHolder.appendChild(playbackHolder); + } + break; + case "page-count": + var pagecountHolder = document.getElementById('page-count'); + if (pagecountHolder == null) + { + pagecountHolder = document.createElement('div'); + pagecountHolder.id = 'page-count'; + } + pagecountHolder.innerHTML = '<span>Page '+(testState.stateIndex+1)+' of '+testState.stateMap.length+'</span>'; + var inject = document.getElementById('interface-buttons'); + inject.appendChild(pagecountHolder); + break; + case "volume": + if (document.getElementById('master-volume-holder') == null) + { + feedbackHolder.appendChild(interfaceContext.volume.object); + } + break; + case "comments": + interfaceContext.commentBoxes.showCommentBoxes(feedbackHolder,true); + break; + } + } } // Auto-align resizeWindow(null);
--- a/interfaces/mushra.js Fri May 27 11:52:07 2016 +0100 +++ b/interfaces/mushra.js Fri May 27 12:16:42 2016 +0100 @@ -131,43 +131,6 @@ { document.getElementById("pageTitle").textContent = interfaceObj.title; } - var interfaceOptions = specification.interfaces.options.concat(interfaceObj.options); - for (var option of interfaceOptions) - { - if (option.type == "show") - { - switch(option.name) { - case "playhead": - var playbackHolder = document.getElementById('playback-holder'); - if (playbackHolder == null) - { - playbackHolder = document.createElement('div'); - playbackHolder.style.width = "100%"; - playbackHolder.align = 'center'; - playbackHolder.appendChild(interfaceContext.playhead.object); - feedbackHolder.appendChild(playbackHolder); - } - break; - case "page-count": - var pagecountHolder = document.getElementById('page-count'); - if (pagecountHolder == null) - { - pagecountHolder = document.createElement('div'); - pagecountHolder.id = 'page-count'; - } - pagecountHolder.innerHTML = '<span>Page '+(testState.stateIndex+1)+' of '+testState.stateMap.length+'</span>'; - var inject = document.getElementById('interface-buttons'); - inject.appendChild(pagecountHolder); - break; - case "volume": - if (document.getElementById('master-volume-holder') == null) - { - feedbackHolder.appendChild(interfaceContext.volume.object); - } - break; - } - } - } // Delete outside reference var outsideReferenceHolder = document.getElementById("outside-reference-holder"); @@ -232,9 +195,47 @@ }); - if (audioHolderObject.showElementComments) { - interfaceContext.commentBoxes.showCommentBoxes(feedbackHolder,true); - } + + var interfaceOptions = specification.interfaces.options.concat(interfaceObj.options); + for (var option of interfaceOptions) + { + if (option.type == "show") + { + switch(option.name) { + case "playhead": + var playbackHolder = document.getElementById('playback-holder'); + if (playbackHolder == null) + { + playbackHolder = document.createElement('div'); + playbackHolder.style.width = "100%"; + playbackHolder.align = 'center'; + playbackHolder.appendChild(interfaceContext.playhead.object); + feedbackHolder.appendChild(playbackHolder); + } + break; + case "page-count": + var pagecountHolder = document.getElementById('page-count'); + if (pagecountHolder == null) + { + pagecountHolder = document.createElement('div'); + pagecountHolder.id = 'page-count'; + } + pagecountHolder.innerHTML = '<span>Page '+(testState.stateIndex+1)+' of '+testState.stateMap.length+'</span>'; + var inject = document.getElementById('interface-buttons'); + inject.appendChild(pagecountHolder); + break; + case "volume": + if (document.getElementById('master-volume-holder') == null) + { + feedbackHolder.appendChild(interfaceContext.volume.object); + } + break; + case "comments": + interfaceContext.commentBoxes.showCommentBoxes(feedbackHolder,true); + break; + } + } + } $(audioHolderObject.commentQuestions).each(function(index,element) { var node = interfaceContext.createCommentQuestion(element);
--- a/js/specification.js Fri May 27 11:52:07 2016 +0100 +++ b/js/specification.js Fri May 27 12:16:42 2016 +0100 @@ -442,7 +442,6 @@ this.hostURL = undefined; this.randomiseOrder = undefined; this.loop = undefined; - this.showElementComments = undefined; this.outsideReference = null; this.loudness = null; this.label = null;
--- a/tests/examples/AB_example.xml Fri May 27 11:52:07 2016 +0100 +++ b/tests/examples/AB_example.xml Fri May 27 12:16:42 2016 +0100 @@ -50,9 +50,10 @@ <interfaceoption type="show" name='playhead'/> <interfaceoption type="show" name="page-count"/> <interfaceoption type="show" name='volume'/> + <interfaceoption type="show" name='comments'/> </interface> </setup> - <page id='test-0' hostURL="media/example/" randomiseOrder='true' repeatCount='0' loop='true' showElementComments='true' loudness="-12"> + <page id='test-0' hostURL="media/example/" randomiseOrder='true' repeatCount='0' loop='true' loudness="-12"> <commentboxprefix>Comment on fragment</commentboxprefix> <interface> <title>Depth</title> @@ -70,7 +71,7 @@ </surveyentry> </survey> </page> - <page id='test-1' hostURL="media/example/" randomiseOrder='true' repeatCount='0' loop='false' showElementComments='true' loudness="-12"> + <page id='test-1' hostURL="media/example/" randomiseOrder='true' repeatCount='0' loop='false' loudness="-12"> <commentboxprefix>Comment on fragment</commentboxprefix> <interface> <title>Depth</title>
--- a/tests/examples/horizontal_example.xml Fri May 27 11:52:07 2016 +0100 +++ b/tests/examples/horizontal_example.xml Fri May 27 12:16:42 2016 +0100 @@ -16,9 +16,10 @@ <interfaceoption type="show" name='playhead'/> <interfaceoption type="show" name="page-count"/> <interfaceoption type="show" name="volume"/> + <interfaceoption type="show" name="comments"/> </interface> </setup> - <page id='test-0' hostURL="media/example/" randomiseOrder='true' repeatCount='0' loop='true' showElementComments='true' loudness="-12"> + <page id='test-0' hostURL="media/example/" randomiseOrder='true' repeatCount='0' loop='true' loudness="-12"> <interface> <scales> <scalelabel position="0">-50</scalelabel>
--- a/tests/examples/mushra_example.xml Fri May 27 11:52:07 2016 +0100 +++ b/tests/examples/mushra_example.xml Fri May 27 12:16:42 2016 +0100 @@ -53,7 +53,7 @@ <interfaceoption type="show" name="volume"/> </interface> </setup> - <page id='test-0' hostURL="media/example/" randomiseOrder='true' repeatCount='0' loop='true' showElementComments='true' loudness="-12"> + <page id='test-0' hostURL="media/example/" randomiseOrder='true' repeatCount='0' loop='true' loudness="-12"> <commentboxprefix>Comment on fragment</commentboxprefix> <interface> <scales> @@ -82,10 +82,11 @@ </surveyentry> </survey> </page> - <page id='test-1' hostURL="media/example/" randomiseOrder='true' repeatCount='0' loop='false' showElementComments='true'> + <page id='test-1' hostURL="media/example/" randomiseOrder='true' repeatCount='0' loop='false'> <commentboxprefix>Comment on fragment</commentboxprefix> <interface name="preference"> <title>Example Test Question</title> + <interfaceoption type="show" name="comments"/> <scales> <scalelabel position="0">Min</scalelabel> <scalelabel position="100">Max</scalelabel>
--- a/tests/examples/project.xml Fri May 27 11:52:07 2016 +0100 +++ b/tests/examples/project.xml Fri May 27 12:16:42 2016 +0100 @@ -50,9 +50,10 @@ <interfaceoption type="check" name="scalerange" min="25" max="75"/> <interfaceoption type="show" name='playhead'/> <interfaceoption type="show" name="page-count"/> + <interfaceoption type="show" name="comments"/> </interface> </setup> - <page id='test-0' hostURL="media/example/" randomiseOrder='true' repeatCount='0' loop='true' showElementComments='true' loudness="-12"> + <page id='test-0' hostURL="media/example/" randomiseOrder='true' repeatCount='0' loop='true' loudness="-12"> <commentboxprefix>Comment on fragment</commentboxprefix> <interface name="preference"> <title>Preference</title> @@ -88,7 +89,7 @@ </surveyentry> </survey> </page> - <page id='test-1' hostURL="media/example/" randomiseOrder='true' repeatCount='0' loop='false' showElementComments='true' label="letter"> + <page id='test-1' hostURL="media/example/" randomiseOrder='true' repeatCount='0' loop='false' label="letter"> <commentboxprefix>Comment on fragment</commentboxprefix> <interface name="preference"> <title>Example Test Question</title>
--- a/tests/examples/radio_example.xml Fri May 27 11:52:07 2016 +0100 +++ b/tests/examples/radio_example.xml Fri May 27 12:16:42 2016 +0100 @@ -1,47 +1,37 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<waet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="test-schema.xsd"> +<?xml version="1.0" encoding="UTF-8" ?> +<waet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="test-schema.xsd"> <setup interface="likert" projectReturn="save.php" crossFade="3.0"> - <metric> - <metricenable>testTimer</metricenable> - <metricenable>elementTimer</metricenable> - <metricenable>elementInitialPosition</metricenable> - <metricenable>elementTracker</metricenable> - <metricenable>elementFlagListenedTo</metricenable> - <metricenable>elementFlagMoved</metricenable> - <metricenable>elementListenTracker</metricenable> - </metric> - <interface> - <interfaceoption type="check" name="fragmentMoved"/> - <interfaceoption type="check" name="scalerange" min="25" max="75"/> - <interfaceoption type="show" name="volume"/> - <interfaceoption type="show" name='playhead'/> - <interfaceoption type="show" name="page-count"/> - </interface> - </setup> - <page id='test-0' hostURL="media/example/" randomiseOrder='true' repeatCount='4' loop='true' showElementComments='true' loudness="-23"> - <interface> - <scales> - <scalelabel position="0">(1) Very Annoying</scalelabel> - <scalelabel position="25">(2) Annoying</scalelabel> - <scalelabel position="50">(3) Slightly Annoying</scalelabel> - <scalelabel position="75">(4) Audible but not Annoying</scalelabel> - <scalelabel position="100">(5) Inaudible</scalelabel> - </scales> - </interface> - <audioelement url="0.wav" id="track-1" alwaysInclude="true"/> - <audioelement url="1.wav" id="track-2"/> - <audioelement url="3.wav" id="track-4"/> - <audioelement url="3.wav" id="track-5"/> - <audioelement url="3.wav" id="track-6"/> - <audioelement url="3.wav" id="track-7"/> - <audioelement url="3.wav" id="track-8"/> - <audioelement url="3.wav" id="track-9"/> - <audioelement url="3.wav" id="track-10"/> - <audioelement url="3.wav" id="track-11"/> - <audioelement url="3.wav" id="track-12"/> - <audioelement url="3.wav" id="track-13"/> - <audioelement url="3.wav" id="track-14"/> - <audioelement url="3.wav" id="track-15"/> - <audioelement url="2.wav" id="track-16" type="outside-reference"/> - </page> -</waet> + <metric> + <metricenable>testTimer</metricenable> + <metricenable>elementTimer</metricenable> + <metricenable>elementInitialPosition</metricenable> + <metricenable>elementTracker</metricenable> + <metricenable>elementFlagListenedTo</metricenable> + <metricenable>elementFlagMoved</metricenable> + <metricenable>elementListenTracker</metricenable> + </metric> + <interface> + <interfaceoption type="check" name="fragmentMoved"/> + <interfaceoption type="check" name="scalerange" min="25" max="75"/> + <interfaceoption type="show" name="volume"/> + <interfaceoption type="show" name='playhead'/> + <interfaceoption type="show" name="page-count"/> + <interfaceoption type="show" name="comments"/> + </interface> + </setup> + <page id='test-0' hostURL="media/example/" randomiseOrder='true' repeatCount='4' loop='true' loudness="-23"> + <interface> + <scales> + <scalelabel position="0">(1) Very Annoying</scalelabel> + <scalelabel position="25">(2) Annoying</scalelabel> + <scalelabel position="50">(3) Slightly Annoying</scalelabel> + <scalelabel position="75">(4) Audible but not Annoying</scalelabel> + <scalelabel position="100">(5) Inaudible</scalelabel> + </scales> + </interface> + <audioelement url="0.wav" id="track-1" alwaysInclude="true"/> + <audioelement url="1.wav" id="track-2"/> + <audioelement url="3.wav" id="track-4"/> + <audioelement url="3.wav" id="track-5"/> + </page> +</waet>