# HG changeset patch # User Nicholas Jillings # Date 1449057908 0 # Node ID ed22a47dcacd423940d53c32592a58a5c61059af # Parent 8d9c19f97dc1fbec7173cedca422d07b5dd6f9fc Feature #1266: Checks for fragments fully played implemented diff -r 8d9c19f97dc1 -r ed22a47dcacd ape.js --- a/ape.js Wed Dec 02 11:26:45 2015 +0000 +++ b/ape.js Wed Dec 02 12:05:08 2015 +0000 @@ -571,9 +571,8 @@ break; case 'fragmentFullPlayback': // Check all fragments have been played to their full length - var checkState = interfaceContext.checkAllPlayed(); + var checkState = interfaceContext.checkFragmentsFullyPlayed(); if (checkState == false) {canContinue = false;} - console.log('NOTE: fragmentFullPlayback not currently implemented, performing check fragmentPlayed instead'); break; case 'fragmentMoved': // Check all fragment sliders have been moved. diff -r 8d9c19f97dc1 -r ed22a47dcacd core.js --- a/core.js Wed Dec 02 11:26:45 2015 +0000 +++ b/core.js Wed Dec 02 12:05:08 2015 +0000 @@ -2186,4 +2186,57 @@ } return true; }; + + this.checkFragmentsFullyPlayed = function () + { + // Checks the entire file has been played back + // NOTE ! This will return true IF playback is Looped!!! + if (audioEngineContext.loopPlayback) + { + console.log("WARNING - Looped source: Cannot check fragments are fully played"); + return true; + } + var check_pass = true; + var error_obj = []; + for (var i = 0; i= time) + { + passed = true; + break; + } + } + if (passed == false) + { + check_pass = false; + console.log("Continue listening to track-"+i); + error_obj.push(i); + } + } + if (check_pass == false) + { + var str_start = "You have not listened to fragments "; + for (var i=0; i