rt300@8: // rt300@8: // TrainingMessageOrganiser.h rt300@8: // riftathon rt300@8: // rt300@8: // Created by Robert Tubb on 17/10/2014. rt300@8: // rt300@8: // rt300@8: rt300@8: #ifndef __riftathon__TrainingMessageOrganiser__ rt300@8: #define __riftathon__TrainingMessageOrganiser__ rt300@8: rt300@8: #include rt300@9: #include "MessageOrganiser.h" rt300@10: #include "SequenceController.h" rt300@11: #include "globalVariables.h" rt300@12: #include "IconPanel.h" rt300@22: #include "TextPanel.h" rt300@22: #include "TrainingScoreManager.h" rt300@24: #include "6Dbox.h" rt300@32: #include "eventLogger.h" rt300@32: rt300@10: extern ExplorePresetManager expPresetManager; rt300@32: extern EventLogger eventLogger; rt300@10: rt300@9: class TrainingMessageOrganiser : public MessageOrganiser { rt300@9: public: rt300@14: int numParamsToUse; rt300@45: void init( PDSynthWrapper& cs, PDSynthWrapper& ts, bool soundOnlyMode,controlPanelType whichInterfaceAreWeUsing, bool demoMode); rt300@43: rt300@27: void setup(controlPanelType whichInterfaceAreWeUsing); rt300@21: vector getMappingIDsFromSynths(); rt300@27: void displayInstructions(string text); rt300@21: void onNextTick(int tickNumber); rt300@27: void onNextTickAnim(int tickNumber); rt300@22: rt300@22: void showMyPanels(); rt300@38: void setForgotButton(Buttron* butt); rt300@43: void forgotByMidi(); rt300@48: void reset(); rt300@32: //void midiFromLeap(int ctl_num, int ctl_val); rt300@14: //----------------------------------------------------------------------- rt300@9: protected: rt300@21: void showUserHowTheyDid(); rt300@21: void buttonPressCallback(int mappingID, int value); rt300@10: rt300@21: void debugVals(vector vals){ rt300@21: cout << "DEBUG VALS: " << endl; rt300@21: for(int i = 0; i< vals.size(); i++){ rt300@21: cout << vals[i] << ", "; rt300@10: } rt300@21: cout << endl; rt300@9: } rt300@27: void updateCountdown(int n); rt300@26: void lastOfAll(); rt300@32: void lastOfRun(int which); rt300@26: void showCountdown(); rt300@26: void hideSliders(); rt300@26: void showsTarget(); rt300@42: void logNewStep(AnimStep newStep, vector targetVals); rt300@31: TrainingTestResult doResults(AnimStep newStep, rt300@31: Preset * currentTargetPreset, rt300@31: vector startingPosition, rt300@31: vector currentPosition ); rt300@26: rt300@35: void previewNeutralCount(AnimStep newStep, Preset * currentTargetPreset); rt300@35: void previewMove(AnimStep newStep, Preset * currentTargetPreset); rt300@35: void previewLast(AnimStep newStep, Preset * currentTargetPreset); rt300@35: //void matchingNeutralCount(AnimStep newStep); rt300@35: void matchingMove(AnimStep newStep, Preset * currentTargetPreset); rt300@35: void matchingLast(AnimStep newStep, Preset * currentTargetPreset); rt300@35: //void guidedMove(AnimStep newStep); rt300@35: //void guidedHit(AnimStep newStep); rt300@31: rt300@31: void flashResult(TrainingTestResult r); rt300@35: void doGuides(bool showGuides, Preset * currentTargetPreset); rt300@35: void doIcons(bool showIcons, Preset * currentTargetPreset); rt300@35: void doHand(bool showControllableHand, bool showAnimatedHand = false, float animTime = 0, vector newTargetValues = vector()); rt300@22: ofColor interactableColor; rt300@22: ofColor nonInteractableColor; rt300@22: int downCounter; rt300@49: rt300@14: //----------------------------------------------------------------------------- rt300@43: rt300@49: SequenceController *sequenceController; rt300@22: TrainingScoreManager trainingScoreManager; rt300@38: Buttron* forgotButton; rt300@37: rt300@27: rt300@8: }; rt300@8: #endif /* defined(__riftathon__TrainingMessageOrganiser__) */