# HG changeset patch # User Nicholas Jillings # Date 1463401841 -3600 # Node ID ceaccbd708cb1aefac451f77c40c7ae62670170e # Parent 7de03d416f38ebc2d2d480a09c0426392df839b0 Hotfix: APE sticky markers should be fixed now. Caused by improper indexing of metric trackers if outside-reference was not at the end. diff -r 7de03d416f38 -r ceaccbd708cb interfaces/ape.js --- a/interfaces/ape.js Mon May 16 10:48:29 2016 +0100 +++ b/interfaces/ape.js Mon May 16 13:30:41 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 7de03d416f38 -r ceaccbd708cb js/core.js --- a/js/core.js Mon May 16 10:48:29 2016 +0100 +++ b/js/core.js Mon May 16 13:30:41 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) {