Mercurial > hg > tweakathon2ios
comparison TrainingMessageOrganiser.h @ 11:91c3fba6e5b9
things can register for pd metronome events
onTick gets back to search message organiser
author | Robert Tubb <rt300@eecs.qmul.ac.uk> |
---|---|
date | Mon, 20 Oct 2014 11:23:55 +0100 |
parents | e25d2b1b185e |
children | af71bf84660f |
comparison
equal
deleted
inserted
replaced
10:e25d2b1b185e | 11:91c3fba6e5b9 |
---|---|
11 | 11 |
12 #include <iostream> | 12 #include <iostream> |
13 #include "trainingTestController.h" | 13 #include "trainingTestController.h" |
14 #include "MessageOrganiser.h" | 14 #include "MessageOrganiser.h" |
15 #include "SequenceController.h" | 15 #include "SequenceController.h" |
16 | 16 #include "globalVariables.h" |
17 extern ExplorePresetManager expPresetManager; | 17 extern ExplorePresetManager expPresetManager; |
18 | 18 |
19 class TrainingMessageOrganiser : public MessageOrganiser { | 19 class TrainingMessageOrganiser : public MessageOrganiser { |
20 public: | 20 public: |
21 void init( PDSynthWrapper& cs, PDSynthWrapper& ts){ | 21 void init( PDSynthWrapper& cs, PDSynthWrapper& ts){ |
22 | 22 |
23 trainingTestController = new TrainingTestController; | 23 trainingTestController = new TrainingTestController; |
24 | 24 |
25 MessageOrganiser::init(cs,ts); | 25 MessageOrganiser::init(cs,ts); |
26 | |
27 TickListenerFunction callback; | |
28 callback = boost::bind(&TrainingMessageOrganiser::onNextTick, this, _1); | |
29 candidateSynth.registerForTicks(callback); | |
30 } | |
26 | 31 |
27 } | |
28 | |
29 void setupDefaultMapping(){ | 32 void setupDefaultMapping(){ |
30 vector<int> mappingIDsForChangeableParams = getMappingIDsFromSynths(); | 33 vector<int> mappingIDsForChangeableParams = getMappingIDsFromSynths(); |
31 | 34 |
32 controlPanelType cpt = REVISITABLE; | 35 controlPanelType cpt = REVISITABLE; |
33 vector<controllerType> elemList; | 36 vector<controllerType> elemList; |
56 | 59 |
57 | 60 |
58 }; | 61 }; |
59 | 62 |
60 void onNextTick(int tickNumber){ | 63 void onNextTick(int tickNumber){ |
64 cout << "TICK " << tickNumber << endl; | |
65 | |
61 if ( tickNumber % 2){ | 66 if ( tickNumber % 2){ |
62 // load next target preset | 67 // load next target preset |
63 int i = sequenceController.getNextPresetIndex(); | 68 int i = sequenceController.getNextPresetIndex(); |
64 | 69 |
65 currentTargetPreset = expPresetManager.getPreset(i); | 70 currentTargetPreset = expPresetManager.getPreset(i); |
159 } | 164 } |
160 | 165 |
161 if (mappingID == TRIGGER_CANDIDATE_ID){ | 166 if (mappingID == TRIGGER_CANDIDATE_ID){ |
162 triggerCandidateSound(); | 167 triggerCandidateSound(); |
163 // compare to target | 168 // compare to target |
169 candidateSynth.startMetronome(); | |
164 return; | 170 return; |
165 } | 171 } |
166 if(mappingID == SAVE_PRESET_HIT){ | 172 if(mappingID == SAVE_PRESET_HIT){ |
167 expPresetManager.savePreset("blah", candidateSynth.getAllParamValues()); | 173 expPresetManager.savePreset("blah", candidateSynth.getAllParamValues()); |
168 return; | 174 return; |