Mercurial > hg > webaudioevaluationtool
changeset 2845:be138735977b
#141 Publishing ordinal with example XML
author | Nicholas Jillings <nicholas.jillings@mail.bcu.ac.uk> |
---|---|
date | Tue, 25 Apr 2017 15:40:31 +0100 |
parents | f7ea4470bdd6 |
children | 64a83c964fae |
files | interfaces/ordinal.js tests/examples/ordinal_example.xml |
diffstat | 2 files changed, 78 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/interfaces/ordinal.js Tue Apr 25 15:27:52 2017 +0100 +++ b/interfaces/ordinal.js Tue Apr 25 15:40:31 2017 +0100 @@ -77,6 +77,7 @@ // Create a slider box var slider = document.createElement("div"); slider.id = "slider"; + slider.style.height = "300px"; // Global parent for the comment boxes on the page var feedbackHolder = document.createElement('div'); @@ -163,6 +164,40 @@ index += 1; } }); + interfaceObj.options.forEach(function (option) { + 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; + } + } + }); resizeWindow(); } @@ -294,7 +329,7 @@ elem = elem.nextElementSibling; } return position; - } + }; this.processMovement = function () { var time = audioEngineContext.timer.getTestTime(); @@ -302,7 +337,7 @@ var rank = pos / (audioEngineContext.audioObjects.length - 1); audioObject.metric.moved(time, rank); console.log('slider ' + audioObject.id + ' moved to ' + rank + ' (' + time + ')'); - } + }; this.enable = function () { // This is used to tell the interface object that playback of this node is ready @@ -316,10 +351,17 @@ this.startPlayback = function () { // Called when playback has begun root.classList.add("playing"); + if (audioObject.commentDOM) { + audioObject.commentDOM.trackComment.classList.add("comment-box-playing"); + } }; this.stopPlayback = function () { // Called when playback has stopped. This gets called even if playback never started! root.classList.remove("playing"); + playing = false; + if (audioObject.commentDOM) { + audioObject.commentDOM.trackComment.classList.remove("comment-box-playing"); + } }; this.getValue = function () { // Return the current value of the object. If there is no value, return 0 @@ -366,6 +408,7 @@ var N = audioEngineContext.audioObjects.length; w /= N; w -= 14; + w = Math.floor(w); $(".ordinal-element").width(w); }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/examples/ordinal_example.xml Tue Apr 25 15:40:31 2017 +0100 @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8" ?> + <waet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="test-schema.xsd"> + <setup interface="ordinal" projectReturn="save.php" randomiseOrder="true"> + <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="fragmentComment" /> + <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' loudness="-23"> + <title>Ordinal Evaluation</title> + <interface></interface> + <audioelement url="0.wav" id="track-1" /> + <audioelement url="1.wav" id="track-2" /> + <audioelement url="2.wav" id="track-3" /> + <audioelement url="3.wav" id="track-4" /> + <audioelement url="4.wav" id="track-5" /> + <audioelement url="5.wav" id="track-6" /> + <audioelement url="6.wav" id="track-7" /> + <audioelement url="7.wav" id="track-8" /> + </page> + </waet>