changeset 2929:270f20b2d68f

Fix #223
author Nicholas Jillings <nicholas.jillings@mail.bcu.ac.uk>
date Mon, 11 Sep 2017 16:14:05 +0100
parents 796daa52e3f8
children 8424c62a8c97
files interfaces/ABX.js
diffstat 1 files changed, 10 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- 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];