Mercurial > hg > webaudioevaluationtool
changeset 2607:342ef7948c47
#37. All interfaces use interfaceContext.getLabel to generate labels
author | Nicholas Jillings <nicholas.jillings@mail.bcu.ac.uk> |
---|---|
date | Mon, 14 Nov 2016 16:12:34 +0000 |
parents | ac9b08b961c0 |
children | 756d12f5c330 |
files | interfaces/AB.js interfaces/ABX.js interfaces/discrete.js interfaces/horizontal-sliders.js interfaces/mushra.js interfaces/timeline.js js/core.js xml/test-schema.xsd |
diffstat | 8 files changed, 39 insertions(+), 130 deletions(-) [+] |
line wrap: on
line diff
--- a/interfaces/AB.js Mon Nov 14 15:48:26 2016 +0000 +++ b/interfaces/AB.js Mon Nov 14 16:12:34 2016 +0000 @@ -351,47 +351,12 @@ this.comparators = []; this.selected = null; + var labelType = audioHolderObject.label; + if (labelType == "default") { + labelType = "capital"; + } + // First generate the Audio Objects for the Audio Engine - var label = audioHolderObject.labelStart; - if (label == "") { - switch (audioHolderObject.label) { - case "number": - label = "1"; - break; - case "letter": - label = "a"; - break; - case "none": - label = ""; - break; - case "capital": - default: - label = "A"; - break; - } - } else { - switch (audioHolderObject.label) { - case "number": - if (!isFinite(Number(label))) { - label = "1"; - } - break; - case "letter": - if (label.charCodeAt(0) < 97 || label.charCodeAt(0) > 122) { - label = "a"; - } - break; - case "none": - label = ""; - break; - case "capital": - default: - if (label.charCodeAt(0) < 65 || label.charCodeAt(0) > 90) { - label = "A"; - } - break; - } - } for (var index = 0; index < audioHolderObject.audioElements.length; index++) { var element = audioHolderObject.audioElements[index]; var audioObject = audioEngineContext.newTrack(element); @@ -399,22 +364,8 @@ var orNode = new interfaceContext.outsideReferenceDOM(audioObject, index, document.getElementById("outside-reference-holder")); audioObject.bindInterface(orNode); } else { + var label = interfaceContext.getLabel(labelType, index, audioHolderObject.labelStart); var node = new this.comparatorBox(audioObject, index, label); - switch (audioHolderObject.label) { - case "none": - label = ""; - break; - case "number": - label = (Number(label) + 1).toString(10); - break; - case "letter": - label = String.fromCharCode((label.charCodeAt(0) - 96) % 26 + 97); - break; - case "capital": - default: - label = String.fromCharCode((label.charCodeAt(0) - 64) % 26 + 65); - break; - } audioObject.bindInterface(node); this.comparators.push(node); this.boxHolders.appendChild(node.box);
--- a/interfaces/ABX.js Mon Nov 14 15:48:26 2016 +0000 +++ b/interfaces/ABX.js Mon Nov 14 16:12:34 2016 +0000 @@ -364,19 +364,10 @@ } var audioObject = audioEngineContext.newTrack(element); var label; - switch (audioObject.specification.parent.label) { - case "none": - label = ""; - break; - case "number": - label = "" + index; - break; - case "letter": - label = String.fromCharCode(97 + index); - break; - default: - label = String.fromCharCode(65 + index); - break; + if (index == 0) { + label = "A"; + } else { + label = "B"; } var node = new this.interfaceObject(audioObject, label); audioObject.bindInterface(node);
--- a/interfaces/discrete.js Mon Nov 14 15:48:26 2016 +0000 +++ b/interfaces/discrete.js Mon Nov 14 16:12:34 2016 +0000 @@ -150,7 +150,11 @@ // Find all the audioElements from the audioHolder var index = 0; var interfaceScales = testState.currentStateMap.interfaces[0].scales; - $(page.audioElements).each(function (index, element) { + var labelType = page.label; + if (labelType == "default") { + labelType = "number"; + } + $(page.audioElements).each(function (pageIndex, element) { // Find URL of track // In this jQuery loop, variable 'this' holds the current audioElement. @@ -161,20 +165,7 @@ audioObject.bindInterface(orNode); } else { // Create a slider per track - switch (audioObject.specification.parent.label) { - case "none": - label = ""; - break; - case "letter": - label = String.fromCharCode(97 + index); - break; - case "capital": - label = String.fromCharCode(65 + index); - break; - default: - label = "" + index; - break; - } + var label = interfaceContext.getLabel(labelType, index, page.labelStart); var sliderObj = new discreteObject(audioObject, label, interfaceScales); sliderBox.appendChild(sliderObj.holder); audioObject.bindInterface(sliderObj);
--- a/interfaces/horizontal-sliders.js Mon Nov 14 15:48:26 2016 +0000 +++ b/interfaces/horizontal-sliders.js Mon Nov 14 16:12:34 2016 +0000 @@ -154,7 +154,11 @@ // Find all the audioElements from the audioHolder var index = 0; - $(page.audioElements).each(function (index, element) { + var labelType = page.label; + if (labelType == "default") { + labelType = "number"; + } + $(page.audioElements).each(function (pageIndex, element) { // Find URL of track // In this jQuery loop, variable 'this' holds the current audioElement. @@ -165,20 +169,7 @@ audioObject.bindInterface(orNode); } else { // Create a slider per track - switch (audioObject.specification.parent.label) { - case "none": - label = ""; - break; - case "letter": - label = String.fromCharCode(97 + index); - break; - case "capital": - label = String.fromCharCode(65 + index); - break; - default: - label = "" + index; - break; - } + var label = interfaceContext.getLabel(labelType, index, page.labelStart); var sliderObj = new sliderObject(audioObject, label); if (typeof page.initialPosition === "number") {
--- a/interfaces/mushra.js Mon Nov 14 15:48:26 2016 +0000 +++ b/interfaces/mushra.js Mon Nov 14 16:12:34 2016 +0000 @@ -155,7 +155,12 @@ // Find all the audioElements from the audioHolder var index = 0; - $(audioHolderObject.audioElements).each(function (index, element) { + var interfaceScales = testState.currentStateMap.interfaces[0].scales; + var labelType = page.label; + if (labelType == "default") { + labelType = "number"; + } + $(audioHolderObject.audioElements).each(function (pageIndex, element) { // Find URL of track // In this jQuery loop, variable 'this' holds the current audioElement. @@ -166,20 +171,7 @@ audioObject.bindInterface(orNode); } else { // Create a slider per track - switch (audioObject.specification.parent.label) { - case "none": - label = ""; - break; - case "letter": - label = String.fromCharCode(97 + index); - break; - case "capital": - label = String.fromCharCode(65 + index); - break; - default: - label = "" + index; - break; - } + var label = interfaceContext.getLabel(labelType, index, page.labelStart); var sliderObj = new sliderObject(audioObject, label); if (typeof audioHolderObject.initialPosition === "number") {
--- a/interfaces/timeline.js Mon Nov 14 15:48:26 2016 +0000 +++ b/interfaces/timeline.js Mon Nov 14 16:12:34 2016 +0000 @@ -106,27 +106,19 @@ if (interfaceObj.commentBoxPrefix != undefined) { commentBoxPrefix = interfaceObj.commentBoxPrefix; } - - $(page.audioElements).each(function (index, element) { + var index = 0; + var interfaceScales = testState.currentStateMap.interfaces[0].scales; + var labelType = page.label; + if (labelType == "default") { + labelType = "number"; + } + $(page.audioElements).each(function (pageIndex, element) { var audioObject = audioEngineContext.newTrack(element); if (page.audioElements.type == 'outside-reference') { var refNode = interfaceContext.outsideReferenceDOM(audioObject, index, outsideReferenceHolder); audioObject.bindInterface(orNode); } else { - switch (audioObject.specification.parent.label) { - case "none": - label = ""; - break; - case "letter": - label = String.fromCharCode(97 + index); - break; - case "capital": - label = String.fromCharCode(65 + index); - break; - default: - label = "" + index; - break; - } + var label = interfaceContext.getLabel(labelType, index, page.labelStart); var node = new interfaceObject(audioObject, label); content.appendChild(node.DOM);
--- a/js/core.js Mon Nov 14 15:48:26 2016 +0000 +++ b/js/core.js Mon Nov 14 16:12:34 2016 +0000 @@ -3268,7 +3268,7 @@ case "letter": return String.fromCharCode((index + offset) % 26 + 97); case "capital": - return String.fromCharCode((index + offset) % 26 + 66); + return String.fromCharCode((index + offset) % 26 + 65); case "number": return String(index + offset); default:
--- a/xml/test-schema.xsd Mon Nov 14 15:48:26 2016 +0000 +++ b/xml/test-schema.xsd Mon Nov 14 16:12:34 2016 +0000 @@ -96,6 +96,7 @@ </xs:restriction> </xs:simpleType> </xs:attribute> + <xs:attribute name="labelStart" type="xs:string" use="optional" default="" /> <xs:attribute ref="poolSize" /> <xs:attribute ref="alwaysInclude" /> <xs:attribute ref="preSilence" />