# HG changeset patch # User Nicholas Jillings # Date 1449057908 0 # Node ID cb98283ece7edf6508ca252aca237ec4bb40f356 # Parent df527e7b1f83966de814dad1b4a51911b766767a Feature #1266: Checks for fragments fully played implemented diff -r df527e7b1f83 -r cb98283ece7e 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 df527e7b1f83 -r cb98283ece7e 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