# HG changeset patch # User Nicholas Jillings # Date 1463401931 -3600 # Node ID ce406455f25be214da9e9d15f540bfaf3b45c4e7 # Parent 795fe4edf2c128fb90913b28de8347fd5e95395a# Parent ceaccbd708cb1aefac451f77c40c7ae62670170e Merge branch 'master' into Dev_main diff -r 795fe4edf2c1 -r ce406455f25b interfaces/ape.js --- a/interfaces/ape.js Mon May 16 13:19:51 2016 +0100 +++ b/interfaces/ape.js Mon May 16 13:32:11 2016 +0100 @@ -351,7 +351,7 @@ currentTestHolder = document.createElement('audioHolder'); currentTestHolder.id = audioHolderObject.id; currentTestHolder.repeatCount = audioHolderObject.repeatCount; - + // Find all the audioElements from the audioHolder $(audioHolderObject.audioElements).each(function(index,element){ // Find URL of track diff -r 795fe4edf2c1 -r ce406455f25b js/core.js --- a/js/core.js Mon May 16 13:19:51 2016 +0100 +++ b/js/core.js Mon May 16 13:32:11 2016 +0100 @@ -1085,10 +1085,20 @@ if (this.currentStateMap == null) { this.currentStateMap = this.stateMap[this.stateIndex]; + // Find and extract the outside reference + var elements = [], ref = null; + for (var elem of this.currentStateMap.audioElements) { + if (elem.type == "outside-reference") {ref = elem;} + else {elements.push(elem);} + } if (this.currentStateMap.randomiseOrder) { - this.currentStateMap.audioElements = randomiseOrder(this.currentStateMap.audioElements); + this.currentStateMap.audioElements = randomiseOrder(elements); } + if (ref != null) + { + this.currentStateMap.audioElements.push(ref); + } this.currentStore = storage.testPages[this.stateIndex]; if (this.currentStateMap.preTest != null) {