changeset 33:93317878abef

more event logging
author Robert Tubb <rt300@eecs.qmul.ac.uk>
date Tue, 25 Nov 2014 18:37:54 +0000
parents 75202498bee9
children 3af380769779
files MessageOrganiser.mm SequenceController.h TrainingMessageOrganiser.mm eventLogger.h presetManager.mm testApp.mm
diffstat 6 files changed, 46 insertions(+), 22 deletions(-) [+]
line wrap: on
line diff
--- a/MessageOrganiser.mm	Tue Nov 25 17:03:33 2014 +0000
+++ b/MessageOrganiser.mm	Tue Nov 25 18:37:54 2014 +0000
@@ -100,11 +100,10 @@
 
 void MessageOrganiser::triggerCandidateSound(){
     // log event
-    sendSynthValuesAgain();
+    sendSynthValuesAgain(); // TODO AAAARG too slow???
     candidateSynth.trigger();
     eventLogger.logEvent(CANDIDATE_PLAYED);
-    // flash panel?
-    controlPanel->flash();
+
 }
 
 void MessageOrganiser::paramChangeCallback(int mappingID, int value){
--- a/SequenceController.h	Tue Nov 25 17:03:33 2014 +0000
+++ b/SequenceController.h	Tue Nov 25 18:37:54 2014 +0000
@@ -13,8 +13,8 @@
 #include "ofMain.h"
 #include "presetManager.h"
 #include "TrainingScoreManager.h"
-#define MIN_TARGETS_IN_SEQUENCE 3
-#define MAX_TARGETS_IN_SEQUENCE 5
+#define MIN_TARGETS_IN_SEQUENCE 1
+#define MAX_TARGETS_IN_SEQUENCE 2
 #define MIN_TEMPO   80
 #define MAX_TEMPO   400
 #define NUM_TEMPO_STEPS 12
--- a/TrainingMessageOrganiser.mm	Tue Nov 25 17:03:33 2014 +0000
+++ b/TrainingMessageOrganiser.mm	Tue Nov 25 18:37:54 2014 +0000
@@ -72,11 +72,14 @@
     }
     
     if (mappingID == START_TRAINING_SEQUENCE_ID){
-        //triggerCandidateSound();
-        // compare to target
+
         candidateSynth.setMetroTime(sequenceController.getStartTickTime());
         candidateSynth.startMetronome();
         bottomPanel->hide();
+        
+        vector<int> details;
+        
+        eventLogger.logEvent(START_NEW_RUN);
         return;
     }
     
@@ -113,6 +116,7 @@
     //playCandidateButton->setLabel("NEXT");
     bottomPanel->show();
     seqNumPanel->hide();
+    eventLogger.logEvent(FINISHED_RUN);
 }
 void TrainingMessageOrganiser::lastOfAll(){
     candidateSynth.stopMetronome();
@@ -171,6 +175,8 @@
             previousTargetPreset =  expPresetManager.getPresetAtIndex(oldStep.presetIndex);
         }
         previousTargetPreset =  expPresetManager.getPresetAtIndex(oldStep.presetIndex);
+        
+        eventLogger.logEvent(FINISH_POS, curCandidateSettings);
         TrainingTestResult result =  doResults(oldStep,
                                                previousTargetPreset,
                                                lastPosition,
@@ -278,7 +284,7 @@
         }
     }
     vector<int> newTargetValues = currentTargetPreset->getValues();
-    
+
     targetSynth.setAllParamsWithoutSend(newTargetValues);
     
     // show icon and guides
@@ -354,7 +360,7 @@
 
 //-----------------------------------------------------------------------------
 void TrainingMessageOrganiser::guidedMove(AnimStep newStep){
-    targetSynth.trigger(); // PLAYS LAST TARGET (?)
+    targetSynth.trigger(); // plays LAST target (?)
     triggerCandidateSound();
     middlePanel->hide();
     
@@ -367,6 +373,7 @@
     }
 
     vector<int> newTargetValues = currentTargetPreset->getValues();
+    eventLogger.logEvent(NEW_TARGET, newTargetValues); // massively redundant info assuming we have saved presets...
     
     targetSynth.setAllParamsWithoutSend(newTargetValues);
     
@@ -398,7 +405,7 @@
     Preset * currentTargetPreset;
     currentTargetPreset =  expPresetManager.getPresetAtIndex(newStep.presetIndex);
     vector<int> newTargetValues = currentTargetPreset->getValues();
-    
+    eventLogger.logEvent(NEW_TARGET, newTargetValues);
     sendSynthValuesAgain();
     
     // show your hand and allow movement (so you can set off to next target??)
@@ -451,7 +458,7 @@
     }
 
     vector<int> newTargetValues = currentTargetPreset->getValues();
-    
+    eventLogger.logEvent(NEW_TARGET, newTargetValues);
     targetSynth.setAllParams(newTargetValues);
 
     // if showing guides show the hint hand
@@ -489,7 +496,7 @@
     Preset * currentTargetPreset;
     currentTargetPreset =  expPresetManager.getPresetAtIndex(newStep.presetIndex);
     vector<int> newTargetValues = currentTargetPreset->getValues();
-
+    eventLogger.logEvent(NEW_TARGET, newTargetValues);
     sendSynthValuesAgain();
     
     // show your hand and allow movement (so you can set off to next target??)
@@ -503,7 +510,7 @@
     vector<int> startPosition = expPresetManager.getNeutralPreset()->getValues();
     controlPanel->setHintNoShow(newTargetValues, currentTargetPreset->getImage());
     
-
+    triggerCandidateSound();
     oldTargetValues = newTargetValues;
 }
 //-----------------------------------------------------------------------------
--- a/eventLogger.h	Tue Nov 25 17:03:33 2014 +0000
+++ b/eventLogger.h	Tue Nov 25 18:37:54 2014 +0000
@@ -31,7 +31,7 @@
 #define EVENT_THIN_FACTOR 30
 #define EVENT_LOG_FILENAME "log.json"
 #define UPLOAD_CHUNK_SIZE 1000
-#define SAVE_CHUNK_SIZE 20000
+#define SAVE_CHUNK_SIZE 10000
 #define APP_CREATION_TIME 0   // ignore this, pointless
 #define PROGRAM_NAME "RIFTATHON"
 #define PROGRAM_VERSION 0.1
@@ -73,8 +73,13 @@
                 START_THE_PERFORMANCE_TESTS,     // 26 starting perf
     
     // new stuff for TRaining stage
+                START_NEW_RUN,
                 TRAINING_RESULT,
                 NEW_STEP,
+                NEW_TARGET,
+                NEW_START_POS,
+                FINISH_POS,
+                FINISHED_RUN,
     
     
 };
--- a/presetManager.mm	Tue Nov 25 17:03:33 2014 +0000
+++ b/presetManager.mm	Tue Nov 25 18:37:54 2014 +0000
@@ -158,7 +158,7 @@
 void PresetManager::savePreset(Preset * aPreset){
 
     vector<Preset *>::iterator iter;
-    
+    vector<int> logdetails;
     for(iter = thePresets.begin(); iter < thePresets.end(); iter++){
         if ((*iter)->name == aPreset->name){
             cout << "WARNING Preset by that name exists, overwriting\n";
@@ -167,7 +167,9 @@
             
             (*iter)->overwriteValues(aPreset->CCValues);
             updatePresetFile();
-            eventLogger.logEvent(SAVE_PRESET); // TODO need to log details?
+            logdetails =aPreset->CCValues;
+            logdetails.push_back(nextID);
+            eventLogger.logEvent(SAVE_PRESET, logdetails); // TODO need to log index or name!?
             return;
         }
     }
@@ -177,8 +179,11 @@
         
     }
     
-    thePresets.push_back(new Preset(aPreset->CCValues, aPreset->name, nextID, eventLogger.userName, eventLogger.deviceID, aPreset->imageFileName));
-    eventLogger.logEvent(SAVE_PRESET); // TODO need to log details?
+    thePresets.push_back(new Preset(aPreset->CCValues, aPreset->name, nextID++, eventLogger.userName, eventLogger.deviceID, aPreset->imageFileName));
+    
+    logdetails = aPreset->CCValues;
+    logdetails.push_back(nextID);
+    eventLogger.logEvent(SAVE_PRESET, logdetails); // TODO need to log details?
     updatePresetFile();
 }
 //---------------------------------------------------------------------------
@@ -188,14 +193,17 @@
     presetAlertShowing = false;
     // check for same name
     vector<Preset *>::iterator iter;
-
+    vector<int> logdetails;
+    
     for(iter = thePresets.begin(); iter < thePresets.end(); iter++){
         if ((*iter)->name == name){
             cout << "WARNING Preset by that name exists, overwriting\n";
             // overwrite it
             (*iter)->overwriteValues(values);
             updatePresetFile();
-            eventLogger.logEvent(SAVE_PRESET); // TODO need to log details?
+            logdetails =values;
+            logdetails.push_back(nextID);
+            eventLogger.logEvent(SAVE_PRESET,logdetails); // TODO need to log details?
             return;
         }
     }
@@ -205,8 +213,11 @@
         
     }
 
-    thePresets.push_back(new Preset(values, name, nextID, eventLogger.userName, eventLogger.deviceID));
-    eventLogger.logEvent(SAVE_PRESET); // TODO need to log details?
+    thePresets.push_back(new Preset(values, name, nextID++, eventLogger.userName, eventLogger.deviceID));
+    
+    logdetails =values;
+    logdetails.push_back(nextID);
+    eventLogger.logEvent(SAVE_PRESET, logdetails); // TODO need to log details?
     updatePresetFile();
 
 }
--- a/testApp.mm	Tue Nov 25 17:03:33 2014 +0000
+++ b/testApp.mm	Tue Nov 25 18:37:54 2014 +0000
@@ -512,6 +512,7 @@
     // TODO how is testApp going to kknow whichInterfaceShowing ???
     currentStage = SEARCH;
 }
+//--------------------------------------------------------------
 void testApp::startTheTrainingTests(){
     eventLogger.logEvent(START_THE_TRAINING_TESTS);
     
@@ -521,6 +522,7 @@
     trainingMessageOrganiser.showMyPanels();
     currentStage = TRAINING;
 }
+//--------------------------------------------------------------
 void testApp::startThePerformanceTests(){
     eventLogger.logEvent(START_THE_PERFORMANCE_TESTS);