view TrainingMessageOrganiser.h @ 30:78b51f924ec1

twiddles
author Robert Tubb <rt300@eecs.qmul.ac.uk>
date Tue, 04 Nov 2014 14:37:35 +0000
parents 27cdf475aa4b
children a677c027e3a0
line wrap: on
line source
//
//  TrainingMessageOrganiser.h
//  riftathon
//
//  Created by Robert Tubb on 17/10/2014.
//
//

#ifndef __riftathon__TrainingMessageOrganiser__
#define __riftathon__TrainingMessageOrganiser__

#include <iostream>
#include "MessageOrganiser.h"
#include "SequenceController.h"
#include "globalVariables.h"
#include "IconPanel.h"
#include "TextPanel.h"
#include "TrainingScoreManager.h"
#include "6Dbox.h"
extern ExplorePresetManager expPresetManager;

class TrainingMessageOrganiser : public MessageOrganiser {
public:
    int numParamsToUse;
    void init( PDSynthWrapper& cs, PDSynthWrapper& ts);
    void setMiddlePanel(TextPanel* tp);
    void setup(controlPanelType whichInterfaceAreWeUsing);
    vector<int> getMappingIDsFromSynths();
    void displayInstructions(string text);
    void onNextTick(int tickNumber);
    void onNextTickAnim(int tickNumber);
    
    void showMyPanels();
    void midiFromLeap(int ctl_num, int ctl_val);
    //-----------------------------------------------------------------------
protected:
    void showUserHowTheyDid();
    void buttonPressCallback(int mappingID, int value);
    
    void debugVals(vector<int> vals){
        cout << "DEBUG VALS: " << endl;
        for(int i = 0; i< vals.size(); i++){
            cout << vals[i] << ", ";
        }
        cout << endl;
    }
    void updateCountdown(int n);
    void lastOfAll();
    void lastOfRun();
    void showCountdown();
    void hideSliders();
    void showsTarget();
    
    
    void previewNeutralCount(AnimStep newStep);
    void previewMove(AnimStep newStep);
    void previewHit(AnimStep newStep);
    void matchingNeutralCount(AnimStep newStep);
    void matchingMove(AnimStep newStep);
    void matchingHit(AnimStep newStep);

    
    ofColor interactableColor;
    ofColor nonInteractableColor;
    int downCounter;
    //-----------------------------------------------------------------------------
    TextPanel* middlePanel;
    SequenceController sequenceController;
    TrainingScoreManager trainingScoreManager;
    
    controlPanelType panelType;
    
};
#endif /* defined(__riftathon__TrainingMessageOrganiser__) */