changeset 2703:536cb44c7292

Tidied up check on submits for AB/ABX/APE.
author Nicholas Jillings <nicholas.jillings@mail.bcu.ac.uk>
date Mon, 13 Mar 2017 11:53:36 +0000
parents 28e179d4fb9a
children 3a0be105ee85
files interfaces/AB.js interfaces/ABX.js interfaces/ape.js
diffstat 3 files changed, 11 insertions(+), 141 deletions(-) [+]
line wrap: on
line diff
--- a/interfaces/AB.js	Mon Mar 13 11:48:44 2017 +0000
+++ b/interfaces/AB.js	Mon Mar 13 11:53:36 2017 +0000
@@ -10,34 +10,6 @@
     // Custom comparator Object
     Interface.prototype.comparator = null;
 
-    Interface.prototype.checkScaleRange = function (min, max) {
-        var page = testState.getCurrentTestPage();
-        var audioObjects = audioEngineContext.audioObjects;
-        var state = true;
-        var str = "Please keep listening. ";
-        var minRanking = Infinity;
-        var maxRanking = -Infinity;
-        for (var ao of audioObjects) {
-            var rank = ao.interfaceDOM.getValue();
-            if (rank < minRanking) {
-                minRanking = rank;
-            }
-            if (rank > maxRanking) {
-                maxRanking = rank;
-            }
-        }
-        if (maxRanking * 100 < max) {
-            str += "At least one fragment must be selected.";
-            state = false;
-        }
-        if (!state) {
-            console.log(str);
-            this.storeErrorNode(str);
-            interfaceContext.lightbox.post("Message", str);
-        }
-        return state;
-    };
-
     // The injection point into the HTML page
     interfaceContext.insertPoint = document.getElementById("topLevelBody");
     var testContent = document.createElement('div');
@@ -437,10 +409,7 @@
                     break;
                 case 'scalerange':
                     // Check the scale has been used effectively
-                    checkState = interfaceContext.checkScaleRange(checks[i].min, checks[i].max);
-                    if (checkState === false) {
-                        canContinue = false;
-                    }
+                    console.log("WARNING - Check 'scalerange' does not make sense in AB/ABX! Ignoring!");
                     break;
                 default:
                     console.log("WARNING - Check option " + checks[i].check + " is not supported on this interface");
--- a/interfaces/ABX.js	Mon Mar 13 11:48:44 2017 +0000
+++ b/interfaces/ABX.js	Mon Mar 13 11:53:36 2017 +0000
@@ -13,34 +13,6 @@
 
     interfaceContext.insertPoint.innerHTML = ""; // Clear the current schema
 
-    Interface.prototype.checkScaleRange = function (min, max) {
-        var page = testState.getCurrentTestPage();
-        var audioObjects = audioEngineContext.audioObjects;
-        var state = true;
-        var str = "Please keep listening. ";
-        var minRanking = Infinity;
-        var maxRanking = -Infinity;
-        for (var ao of audioObjects) {
-            var rank = ao.interfaceDOM.getValue();
-            if (rank < minRanking) {
-                minRanking = rank;
-            }
-            if (rank > maxRanking) {
-                maxRanking = rank;
-            }
-        }
-        if (maxRanking * 100 < max) {
-            str += "At least one fragment must be selected.";
-            state = false;
-        }
-        if (!state) {
-            console.log(str);
-            this.storeErrorNode(str);
-            interfaceContext.lightbox.post("Message", str);
-        }
-        return state;
-    };
-
     // Custom comparator Object
     Interface.prototype.comparator = null;
 
@@ -433,43 +405,28 @@
         canContinue = true;
 
     for (var i = 0; i < checks.length; i++) {
-        var checkState;
+        var checkState = true;
         if (checks[i].type == 'check') {
             switch (checks[i].name) {
                 case 'fragmentPlayed':
                     // Check if all fragments have been played
                     checkState = interfaceContext.checkAllPlayed();
-                    if (checkState === false) {
-                        canContinue = false;
-                    }
+
                     break;
                 case 'fragmentFullPlayback':
                     // Check all fragments have been played to their full length
                     checkState = interfaceContext.checkFragmentsFullyPlayed();
-                    if (checkState === false) {
-                        canContinue = false;
-                    }
                     break;
                 case 'fragmentMoved':
                     // Check all fragment sliders have been moved.
                     checkState = interfaceContext.checkAllMoved();
-                    if (checkState === false) {
-                        canContinue = false;
-                    }
                     break;
                 case 'fragmentComments':
                     // Check all fragment sliders have been moved.
-                    checkState = interfaceContext.checkAllCommented();
-                    if (checkState === false) {
-                        canContinue = false;
-                    }
                     break;
                 case 'scalerange':
                     // Check the scale has been used effectively
-                    checkState = interfaceContext.checkScaleRange(checks[i].min, checks[i].max);
-                    if (checkState === false) {
-                        canContinue = false;
-                    }
+                    console.log("WARNING - Check 'scalerange' does not make sense in AB/ABX! Ignoring!");
                     break;
                 default:
                     console.log("WARNING - Check option " + checks[i].check + " is not supported on this interface");
@@ -477,10 +434,12 @@
             }
 
         }
-        if (!canContinue) {
+        if (checkState === false) {
+            canContinue = false;
             break;
         }
     }
+
     if (canContinue) {
         if (audioEngineContext.status == 1) {
             var playback = document.getElementById('playback-button');
--- a/interfaces/ape.js	Mon Mar 13 11:48:44 2017 +0000
+++ b/interfaces/ape.js	Mon Mar 13 11:53:36 2017 +0000
@@ -84,51 +84,7 @@
         }
         return state;
     };
-    /*
-    interfaceContext.checkAllCommented = function () {
-        var audioObjs = audioEngineContext.audioObjects;
-        var audioHolder = testState.stateMap[testState.stateIndex];
-        var state = true;
-        if (audioHolder.elementComments) {
-            var notCommented = audioObjs.filter(function (ao) {
-                return ao.commentDOM.trackCommentBox.value.length === 0;
-            });
-            notCommented.sort(function (a, b) {
-                var va = a.interfaceDOM.getPresentedId();
-                var vb = a.interfaceDOM.getPresentedId();
-                if (va < vb) {
-                    return -1;
-                }
-                if (vb < va) {
-                    return 1;
-                }
-                return 0;
-            });
-            if (notCommented.length > 0) {
-                var str = "You have not commented on fragment";
-                if (notCommented.length > 1) {
-                    str += "s ";
-                } else {
-                    str += " ";
-                }
-                for (var i = 0; i < notCommented.length; i++) {
-                    var ao_id = notCommented[i].interfaceDOM.getPresentedId();
-                    str = str + ao_id; // start from 1
-                    if (i < notCommented.length - 2) {
-                        str += ", ";
-                    } else if (i == notCommented.length - 2) {
-                        str += " or ";
-                    }
-                }
-                str += "Please listen, rate and comment all samples before submitting.";
-                this.storeErrorNode(str);
-                interfaceContext.lightbox.post("Message", str);
-                console.log(str);
-            }
-        }
-        return state;
-    };
-    */
+
     interfaceContext.checkScaleRange = function () {
         var audioObjs = audioEngineContext.audioObjects;
         var audioHolder = testState.stateMap[testState.stateIndex];
@@ -755,42 +711,27 @@
 
     for (var i = 0; i < checks.length; i++) {
         if (checks[i].type == 'check') {
-            var checkState;
+            var checkState = true;
             switch (checks[i].name) {
                 case 'fragmentPlayed':
                     // Check if all fragments have been played
                     checkState = interfaceContext.checkAllPlayed();
-                    if (checkState === false) {
-                        canContinue = false;
-                    }
                     break;
                 case 'fragmentFullPlayback':
                     // Check all fragments have been played to their full length
                     checkState = interfaceContext.checkFragmentsFullyPlayed();
-                    if (checkState === false) {
-                        canContinue = false;
-                    }
                     break;
                 case 'fragmentMoved':
                     // Check all fragment sliders have been moved.
                     checkState = interfaceContext.checkAllMoved();
-                    if (checkState === false) {
-                        canContinue = false;
-                    }
                     break;
                 case 'fragmentComments':
                     // Check all fragment sliders have been moved.
                     checkState = interfaceContext.checkAllCommented();
-                    if (checkState === false) {
-                        canContinue = false;
-                    }
                     break;
                 case 'scalerange':
                     // Check the scale is used to its full width outlined by the node
                     checkState = interfaceContext.checkScaleRange();
-                    if (checkState === false) {
-                        canContinue = false;
-                    }
                     break;
                 default:
                     console.log("WARNING - Check option " + checks[i].name + " is not supported on this interface");
@@ -798,7 +739,8 @@
             }
 
         }
-        if (!canContinue) {
+        if (checkState === false) {
+            canContinue = false;
             break;
         }
     }