# HG changeset patch # User Nicholas Jillings # Date 1505142845 -3600 # Node ID 270f20b2d68fe8e43ff9809c6b17ea863bb3da62 # Parent 796daa52e3f8aaf985619b9a7846182acf85c445 Fix #223 diff -r 796daa52e3f8 -r 270f20b2d68f interfaces/ABX.js --- a/interfaces/ABX.js Wed Sep 06 18:44:42 2017 +0100 +++ b/interfaces/ABX.js Mon Sep 11 16:14:05 2017 +0100 @@ -372,15 +372,22 @@ this.boxHolders = document.getElementById('box-holders'); var node; page.audioElements.forEach(function (element, index) { - if (element.type != 'normal') { - console.log("WARNING - ABX can only have normal elements. Page " + page.id + ", Element " + element.id); + if (element.type != 'normal' && element.type != "reference") { + console.log("WARNING - ABX can only have normal or reference elements. Page " + page.id + ", Element " + element.id); element.type = "normal"; } node = buildElement.call(this, index, audioEngineContext.newTrack(element)); this.pair.push(node); this.boxHolders.appendChild(node.box); }, this); - var elementId = Math.floor(Math.random() * 2); //Randomly pick A or B to be X + // var elementId = Math.floor(Math.random() * 2); //Randomly pick A or B to be X + var elementId = page.audioElements.findIndex(function (a) { + return a.type == "reference"; + }); + if (elementId == -1) { + elementId = Math.floor(Math.random() * 2); + console.log("No defined 'X' given. Selecting element id " + page.audioElements[elementId].id); + } var element = page.addAudioElement(); for (var atr in page.audioElements[elementId]) { element[atr] = page.audioElements[elementId][atr];