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;