Mercurial > hg > tweakathon2ios
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__) */ |