comparison TrainingMessageOrganiser.h @ 13:ab3e0e980c82

Sequence conrtollrer FINALLY works.
author Robert Tubb <rt300@eecs.qmul.ac.uk>
date Mon, 20 Oct 2014 19:36:39 +0100
parents af71bf84660f
children f83635861187
comparison
equal deleted inserted replaced
12:af71bf84660f 13:ab3e0e980c82
8 8
9 #ifndef __riftathon__TrainingMessageOrganiser__ 9 #ifndef __riftathon__TrainingMessageOrganiser__
10 #define __riftathon__TrainingMessageOrganiser__ 10 #define __riftathon__TrainingMessageOrganiser__
11 11
12 #include <iostream> 12 #include <iostream>
13 #include "trainingTestController.h"
14 #include "MessageOrganiser.h" 13 #include "MessageOrganiser.h"
15 #include "SequenceController.h" 14 #include "SequenceController.h"
16 #include "globalVariables.h" 15 #include "globalVariables.h"
17 #include "IconPanel.h" 16 #include "IconPanel.h"
18 17
20 19
21 class TrainingMessageOrganiser : public MessageOrganiser { 20 class TrainingMessageOrganiser : public MessageOrganiser {
22 public: 21 public:
23 void init( PDSynthWrapper& cs, PDSynthWrapper& ts){ 22 void init( PDSynthWrapper& cs, PDSynthWrapper& ts){
24 23
25 trainingTestController = new TrainingTestController;
26
27 MessageOrganiser::init(cs,ts); 24 MessageOrganiser::init(cs,ts);
28 25
29 TickListenerFunction callback; 26 TickListenerFunction callback;
30 callback = boost::bind(&TrainingMessageOrganiser::onNextTick, this, _1); 27 callback = boost::bind(&TrainingMessageOrganiser::onNextTick, this, _1);
31 candidateSynth.registerForTicks(callback); 28 candidateSynth.registerForTicks(callback);
68 presetIconPanel = ip; 65 presetIconPanel = ip;
69 } 66 }
70 void onNextTick(int tickNumber){ 67 void onNextTick(int tickNumber){
71 cout << "TICK " << tickNumber << endl; 68 cout << "TICK " << tickNumber << endl;
72 69
73 if ( tickNumber % 2){ 70 if ( !(tickNumber % 2)){
74 // load next target preset 71 // load next target preset
75 int i = sequenceController.getNextPresetIndex(); 72
73 int i = sequenceController.getCurrentPresetIndex();
76 74
77 currentTargetPreset = expPresetManager.getPreset(i); 75 currentTargetPreset = expPresetManager.getPreset(i);
78 76
79 if (sequencePreview){ 77 if (sequencePreview){
80 // show next target preset 78 // show next target preset
81 presetIconPanel->setTextAndImage(currentTargetPreset->name, currentTargetPreset->getImage()); 79 // presetIconPanel->setTextAndImage(currentTargetPreset->name, currentTargetPreset->getImage());
82 80
83 // show image 81 // show image
84 // show name 82 // show name
85 // show controllersettings 83 // show controllersettings
86 84
98 96
99 // 97 //
100 if (sequencePreview){ 98 if (sequencePreview){
101 // send target values again 99 // send target values again
102 targetSynth.setAllParams(currentTargetPreset->getValues()); 100 targetSynth.setAllParams(currentTargetPreset->getValues());
101 setSlidersToTarget();
103 targetSynth.trigger(); 102 targetSynth.trigger();
104 103
105 // flash the interface? 104 // flash the interface?
106 }else{ 105 }else{
107 // has this been done? yes. candidateSynth.setAllParams(ui stuff); 106 // has this been done? yes. candidateSynth.setAllParams(ui stuff);
108 candidateSynth.trigger(); 107 candidateSynth.trigger();
109 showUserHowTheyDid(); 108 showUserHowTheyDid();
110 109
111 } 110 }
111 }
112
113 int run = sequenceController.stepForward();
114 if (run == -2){
115 // do finished run stuff, show summary
116 candidateSynth.stopMetronome();
117 cout << "FINISHED RUN" << endl;
118 }
119 if (run == -1){
120 // finished whole block
121 candidateSynth.stopMetronome();
122 cout << "FINISHED BLOCK" << endl;
112 } 123 }
113 } 124 }
114 125
115 126
116 protected: 127 protected:
193 loadPreset("blah"); 204 loadPreset("blah");
194 return; 205 return;
195 } 206 }
196 } 207 }
197 SequenceController sequenceController; 208 SequenceController sequenceController;
198 TrainingTestController* trainingTestController;
199 bool sequencePreview; 209 bool sequencePreview;
200 Preset * currentTargetPreset; 210 Preset * currentTargetPreset;
201 IconPanel* presetIconPanel; 211 IconPanel* presetIconPanel;
202 }; 212 };
203 #endif /* defined(__riftathon__TrainingMessageOrganiser__) */ 213 #endif /* defined(__riftathon__TrainingMessageOrganiser__) */