changeset 48:2396eb9dcddd

back to menu improved but still dodgy
author Robert Tubb <rt300@eecs.qmul.ac.uk>
date Thu, 18 Dec 2014 17:02:28 +0000
parents 17402059e089
children a62e033117fa
files MessageOrganiser.h MessageOrganiser.mm SequenceController.h SequenceController.mm TrainingMessageOrganiser.h TrainingMessageOrganiser.mm testApp.mm
diffstat 7 files changed, 44 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/MessageOrganiser.h	Wed Dec 17 16:12:34 2014 +0000
+++ b/MessageOrganiser.h	Thu Dec 18 17:02:28 2014 +0000
@@ -79,6 +79,7 @@
     void midiFromLeap(int ctl_num, int ctl_val);
     void setPanelType(controlPanelType p);
     void update();
+    virtual void reset(){};
 protected:
 
     PDSynthWrapper candidateSynth;
--- a/MessageOrganiser.mm	Wed Dec 17 16:12:34 2014 +0000
+++ b/MessageOrganiser.mm	Thu Dec 18 17:02:28 2014 +0000
@@ -92,6 +92,8 @@
         s << "-> B";
     }else if(num == 3){
         s << "-> C";
+    }else if(num == -1){
+        s << "";
     }
     seqNumPanel->setText(s.str());
     seqNumPanel->show();
--- a/SequenceController.h	Wed Dec 17 16:12:34 2014 +0000
+++ b/SequenceController.h	Thu Dec 18 17:02:28 2014 +0000
@@ -134,6 +134,7 @@
 public:
     SequenceController();
     void init(bool asoundOnlyMode, controlPanelType whichInterfaceAreWeUsing, bool demoMode);
+    void clearAll();
     AnimStep getNextStep();
     void setToStart();
     void stepForward();
--- a/SequenceController.mm	Wed Dec 17 16:12:34 2014 +0000
+++ b/SequenceController.mm	Thu Dec 18 17:02:28 2014 +0000
@@ -196,12 +196,19 @@
     }else{
         generateTestSequence(1);
         generateTestSequence(2);
-        generateTestSequence(3);
     }
     
     setToStart();
     
 };
+
+void SequenceController::clearAll(){
+    steps.clear();
+    totNumRuns = 0;
+    currentRunNumber = 0;
+    currentStep = steps.begin();
+    
+}
 //-------------------------------------------------------------------
 AnimStep SequenceController::getNextStep(){
     
@@ -555,7 +562,8 @@
         nextStep.whichInSequence = 0;
         
         nextStep.difficulty = 0;
-        nextStep.tempo = curTempo; // TODO
+        nextStep.timeAllowedMs = timeIntervalsHard[tempoLevel];
+        nextStep.setTempoFromTime();
         nextStep.showsGuides = true; // guide shown for neutral point
         nextStep.type = AnimStep::PREVIEW_NEUTRAL_COUNT;
         nextStep.showsResultsAtEnd = false;
--- a/TrainingMessageOrganiser.h	Wed Dec 17 16:12:34 2014 +0000
+++ b/TrainingMessageOrganiser.h	Thu Dec 18 17:02:28 2014 +0000
@@ -36,6 +36,7 @@
     void showMyPanels();
     void setForgotButton(Buttron* butt);
     void forgotByMidi();
+    void reset();
     //void midiFromLeap(int ctl_num, int ctl_val);
     //-----------------------------------------------------------------------
 protected:
--- a/TrainingMessageOrganiser.mm	Wed Dec 17 16:12:34 2014 +0000
+++ b/TrainingMessageOrganiser.mm	Thu Dec 18 17:02:28 2014 +0000
@@ -105,6 +105,7 @@
         candidateSynth.stopMetronome();
         controlPanel->hide();
         controlPanel->setColor(ofColor::black);
+        sequenceController.clearAll();
         seqNumPanel->hide();
         eventLogger.logEvent(RUN_SKIPPED);
         eventLogger.saveSessionToFile();
@@ -119,7 +120,7 @@
         sequenceController.skipRun();
         int r = sequenceController.getCurrentRunNumber();
         stringstream s;
-        s << "GOTO RUN " << r+1;
+        s << "SKIP RUN " << r+1;
         skipButton->setLabel(s.str());
         
     
@@ -156,7 +157,7 @@
     middlePanel->show();
     //playCandidateButton->setLabel("NEXT");
     s.str("");
-    s << "GOTO RUN " << which+1;
+    s << "SKIP RUN " << which+1;
     skipButton->setLabel(s.str());
     
     bottomPanel->show();
@@ -352,7 +353,11 @@
     controlPanel->show();
     
     displayInstructions("PREVIEW");
-    showSeqNum(newStep.whichInSequence);
+    if(newStep.showsGuides){
+        showSeqNum(newStep.whichInSequence);
+    }else{
+        showSeqNum(-1);
+    }
     oldTargetValues = newTargetValues;
     
     controlPanel->setColor(ofColor::black);
@@ -553,7 +558,23 @@
     }
     
 }
+//-----------------------------------------------------------------------------
+
 void TrainingMessageOrganiser::forgotByMidi(){
     forgotButton->turnOn();
     buttonPressCallback(FORGOT_SEQ_ID, 1);
-}
\ No newline at end of file
+}
+//-----------------------------------------------------------------------------
+
+void TrainingMessageOrganiser::reset(){
+    
+    // tell testapp to start again?
+    candidateSynth.stopMetronome();
+    controlPanel->hide();
+    controlPanel->setColor(ofColor::black);
+    sequenceController.clearAll();
+    seqNumPanel->hide();
+    eventLogger.saveSessionToFile(); //?
+    
+}
+//-----------------------------------------------------------------------------
--- a/testApp.mm	Wed Dec 17 16:12:34 2014 +0000
+++ b/testApp.mm	Thu Dec 18 17:02:28 2014 +0000
@@ -174,7 +174,7 @@
     bottomButtonPanel->addButton(menuButton);
     
     Buttron * skipButton = new Buttron(props->buttonWidth*1.4,680, *props);
-    skipButton->setLabel("GOTO RUN 2");
+    skipButton->setLabel("SKIP RUN");
     trainingMessageOrganiser.mapButtonToAction(skipButton, SKIP_RUN_ID);
     trainingMessageOrganiser.setSkipButton(skipButton);
     //trainingMessageOrganiser.mapButtonToAction(menuButton, TO_MENU_ID);
@@ -523,8 +523,11 @@
     
 }
 void testApp::backToMainMenu(){
+    expMessageOrganiser.reset();
     expMessageOrganiser.hideMyPanels();
+    trainingMessageOrganiser.reset();
     trainingMessageOrganiser.hideMyPanels();
+    searchMessageOrganiser.reset();
     searchMessageOrganiser.hideMyPanels();
     [introViewController show:(__bridge id)this];
     eventLogger.logEvent(RUN_SKIPPED);