Mercurial > hg > webaudioevaluationtool
changeset 2168:af79a7f6a38b
Possible fix for #1673 and #1674
author | Nicholas Jillings <nickjillings@users.noreply.github.com> |
---|---|
date | Mon, 21 Mar 2016 14:31:43 +0000 |
parents | 251c167bf42e |
children | b1675f657e3c |
files | interfaces/ape.js |
diffstat | 1 files changed, 23 insertions(+), 21 deletions(-) [+] |
line wrap: on
line diff
--- a/interfaces/ape.js Mon Mar 21 13:46:31 2016 +0000 +++ b/interfaces/ape.js Mon Mar 21 14:31:43 2016 +0000 @@ -354,7 +354,7 @@ audioObject.bindInterface(orNode); } else { // Create a slider per track - var sliderNode = new sliderObject(audioObject,interfaceObj); + var sliderNode = new sliderObject(audioObject,interfaceObj,index); audioObject.bindInterface(sliderNode); interfaceContext.commentBoxes.createCommentBox(audioObject); } @@ -514,7 +514,7 @@ scaleDOM.style.left = Math.floor((pixelPosition-($(scaleDOM).width()/2)))+'px'; } - this.createSliderObject = function(audioObject) + this.createSliderObject = function(audioObject,label) { var trackObj = document.createElement('div'); trackObj.align = "center"; @@ -535,22 +535,9 @@ this.canvas.appendChild(trackObj); this.sliders.push(trackObj); this.metrics.push(new metricTracker(this)); - var label = document.createElement("label"); - switch(audioObject.specification.parent.label) { - case "letter": - label.textContent = String.fromCharCode(97 + this.metrics.length-1); - break; - case "capital": - label.textContent = String.fromCharCode(65 + this.metrics.length-1); - break; - case "none": - label.textContent = ""; - break; - default: - label.textContent = ""+this.metrics.length; - break; - } - trackObj.appendChild(label); + var labelHolder = document.createElement("span"); + labelHolder.textContent = label; + trackObj.appendChild(labelHolder); this.metrics[this.metrics.length-1].initialise(convSliderPosToRate(trackObj)); return trackObj; }; @@ -588,13 +575,28 @@ }; } -function sliderObject(audioObject,interfaceObjects) { +function sliderObject(audioObject,interfaceObjects,index) { // Create a new slider object; this.parent = audioObject; this.trackSliderObjects = []; + this.label = null; + switch(audioObject.specification.parent.label) { + case "letter": + this.label = String.fromCharCode(97 + index); + break; + case "capital": + this.label = String.fromCharCode(65 + index); + break; + case "none": + this.label = ""; + break; + default: + this.label = ""+(index+1); + break; + } for (var i=0; i<interfaceContext.interfaceSliders.length; i++) { - var trackObj = interfaceContext.interfaceSliders[i].createSliderObject(audioObject); + var trackObj = interfaceContext.interfaceSliders[i].createSliderObject(audioObject,this.label); this.trackSliderObjects.push(trackObj); } @@ -653,7 +655,7 @@ }; this.getPresentedId = function() { - return this.trackSliderObjects[0].children[0].textContent; + return this.label; }; this.canMove = function() {