# HG changeset patch # User Nicholas Jillings # Date 1494340837 -3600 # Node ID 28a5504db33757f18fcd286a7f50bfd892b4d3c0 # Parent 64a5603831e259fd213a1e427534eacfea9718a8 #209 define interfaceContext.checkFragmentMinPlays diff -r 64a5603831e2 -r 28a5504db337 js/core.js --- a/js/core.js Tue May 09 15:39:40 2017 +0100 +++ b/js/core.js Tue May 09 15:40:37 2017 +0100 @@ -3333,6 +3333,27 @@ } return state; }; + this.checkFragmentMinPlays = function () { + var failedObjects = audioEngineContext.audioObjects.filter(function (a) { + var minPlays = a.specification.minNumberPlays || a.specification.parent.minNumberPlays || specification.minNumberPlays; + if (minPlays === undefined || a.numberOfPlays >= minPlays) { + return false; + } + return true; + }); + if (failedObjects.length === 0) { + return false; + } + var failedString = []; + failedObjects.forEach(function (a) { + failedString.push(a.interfaceDOM.getPresentedId()); + }); + var str = "You have not played fragments " + failedString.join(", ") + " enough. Please keep listening"; + interfaceContext.lightbox.post("Message", str); + this.storeErrorNode(str); + return true; + }; + this.storeErrorNode = function (errorMessage) { var time = audioEngineContext.timer.getTestTime();