comparison interfaces/AB.js @ 2177:43e1cb74cafb

Fixed Feature #1270. All interfaces (except ABX) support outside-reference.
author Nicholas Jillings <nickjillings@users.noreply.github.com>
date Tue, 22 Mar 2016 12:09:08 +0000
parents 686f1fb84d7c
children 487f3767aca6
comparison
equal deleted inserted replaced
2176:76b11b865550 2177:43e1cb74cafb
301 301
302 // First generate the Audio Objects for the Audio Engine 302 // First generate the Audio Objects for the Audio Engine
303 for (var index=0; index<audioHolderObject.audioElements.length; index++) 303 for (var index=0; index<audioHolderObject.audioElements.length; index++)
304 { 304 {
305 var element = audioHolderObject.audioElements[index]; 305 var element = audioHolderObject.audioElements[index];
306 var audioObject = audioEngineContext.newTrack(element);
306 if (index == audioHolderObject.outsideReference || element.type == 'outside-reference') 307 if (index == audioHolderObject.outsideReference || element.type == 'outside-reference')
307 { 308 {
308 console.log("WARNING - AB cannot have fixed reference"); 309 var orNode = new interfaceContext.outsideReferenceDOM(audioObject,index,document.getElementById('interface-buttons'));
309 } 310 audioObject.bindInterface(orNode);
310 var audioObject = audioEngineContext.newTrack(element); 311 } else {
311 var label; 312 var label;
312 switch(audioObject.specification.parent.label) { 313 switch(audioObject.specification.parent.label) {
313 case "none": 314 case "none":
314 label = ""; 315 label = "";
315 break; 316 break;
316 case "number": 317 case "number":
317 label = ""+index; 318 label = ""+index;
318 break; 319 break;
319 case "letter": 320 case "letter":
320 label = String.fromCharCode(97 + index); 321 label = String.fromCharCode(97 + index);
321 break; 322 break;
322 default: 323 default:
323 label = String.fromCharCode(65 + index); 324 label = String.fromCharCode(65 + index);
324 break; 325 break;
326 }
327 var node = new this.comparatorBox(audioObject,index,label);
328 audioObject.bindInterface(node);
329 this.comparators.push(node);
330 this.boxHolders.appendChild(node.box);
325 } 331 }
326 var node = new this.comparatorBox(audioObject,index,label);
327 audioObject.bindInterface(node);
328 this.comparators.push(node);
329 this.boxHolders.appendChild(node.box);
330 } 332 }
331 return this; 333 return this;
332 } 334 }
333 335
334 function resizeWindow(event) 336 function resizeWindow(event)
344 diff = window.innerWidth - boxW; 346 diff = window.innerWidth - boxW;
345 } 347 }
346 document.getElementById('box-holders').style.marginLeft = diff/2 + 'px'; 348 document.getElementById('box-holders').style.marginLeft = diff/2 + 'px';
347 document.getElementById('box-holders').style.marginRight = diff/2 + 'px'; 349 document.getElementById('box-holders').style.marginRight = diff/2 + 'px';
348 document.getElementById('box-holders').style.width = boxW + 'px'; 350 document.getElementById('box-holders').style.width = boxW + 'px';
351
352 var outsideRef = document.getElementById('outside-reference');
353 if(outsideRef != null)
354 {
355 outsideRef.style.left = (window.innerWidth-120)/2 + 'px';
356 }
349 } 357 }
350 358
351 function buttonSubmitClick() 359 function buttonSubmitClick()
352 { 360 {
353 var checks = []; 361 var checks = [];