comparison TrainingMessageOrganiser.h @ 12:af71bf84660f

icon stuff. not working/tested.
author Robert Tubb <rt300@eecs.qmul.ac.uk>
date Mon, 20 Oct 2014 14:12:23 +0100
parents 91c3fba6e5b9
children ab3e0e980c82
comparison
equal deleted inserted replaced
11:91c3fba6e5b9 12:af71bf84660f
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 #include "globalVariables.h" 16 #include "globalVariables.h"
17 #include "IconPanel.h"
18
17 extern ExplorePresetManager expPresetManager; 19 extern ExplorePresetManager expPresetManager;
18 20
19 class TrainingMessageOrganiser : public MessageOrganiser { 21 class TrainingMessageOrganiser : public MessageOrganiser {
20 public: 22 public:
21 void init( PDSynthWrapper& cs, PDSynthWrapper& ts){ 23 void init( PDSynthWrapper& cs, PDSynthWrapper& ts){
25 MessageOrganiser::init(cs,ts); 27 MessageOrganiser::init(cs,ts);
26 28
27 TickListenerFunction callback; 29 TickListenerFunction callback;
28 callback = boost::bind(&TrainingMessageOrganiser::onNextTick, this, _1); 30 callback = boost::bind(&TrainingMessageOrganiser::onNextTick, this, _1);
29 candidateSynth.registerForTicks(callback); 31 candidateSynth.registerForTicks(callback);
32
33 sequencePreview = true;
30 } 34 }
31 35
32 void setupDefaultMapping(){ 36 void setupDefaultMapping(){
33 vector<int> mappingIDsForChangeableParams = getMappingIDsFromSynths(); 37 vector<int> mappingIDsForChangeableParams = getMappingIDsFromSynths();
34 38
35 controlPanelType cpt = REVISITABLE; 39 controlPanelType cpt = REVISITABLE;
36 vector<controllerType> elemList; 40 vector<controllerType> elemList;
37 for(int i = 0; i < 8; i++){ 41 for(int i = 0; i < TOTAL_NUM_PARAMS; i++){
38 elemList.push_back(SLIDER); 42 elemList.push_back(SLIDER);
39 } 43 }
40 44
41 vector<UIElement*> UIElemHandles = panel->generateControls(elemList, cpt); 45 vector<UIElement*> UIElemHandles = panel->generateControls(elemList, cpt);
42 46
45 bottomPanel->show(); 49 bottomPanel->show();
46 } 50 }
47 51
48 vector<int> getMappingIDsFromSynths(){ 52 vector<int> getMappingIDsFromSynths(){
49 vector<int> index; 53 vector<int> index;
50 for(int i = 0; i < 8; i++){ 54 for(int i = 0; i < TOTAL_NUM_PARAMS; i++){
51 index.push_back(i); 55 index.push_back(i);
52 } 56 }
53 vector<int> mids = candidateSynth.getMappingIDForIndices(index); 57 vector<int> mids = candidateSynth.getMappingIDForIndices(index);
54 58
55 return mids; 59 return mids;
58 void setupNewTest(){ 62 void setupNewTest(){
59 63
60 64
61 }; 65 };
62 66
67 void setIconPanel(IconPanel * ip){
68 presetIconPanel = ip;
69 }
63 void onNextTick(int tickNumber){ 70 void onNextTick(int tickNumber){
64 cout << "TICK " << tickNumber << endl; 71 cout << "TICK " << tickNumber << endl;
65 72
66 if ( tickNumber % 2){ 73 if ( tickNumber % 2){
67 // load next target preset 74 // load next target preset
69 76
70 currentTargetPreset = expPresetManager.getPreset(i); 77 currentTargetPreset = expPresetManager.getPreset(i);
71 78
72 if (sequencePreview){ 79 if (sequencePreview){
73 // show next target preset 80 // show next target preset
81 presetIconPanel->setTextAndImage(currentTargetPreset->name, currentTargetPreset->getImage());
74 82
75 // show image 83 // show image
76 // show name 84 // show name
77 // show controllersettings 85 // show controllersettings
78 86
94 targetSynth.setAllParams(currentTargetPreset->getValues()); 102 targetSynth.setAllParams(currentTargetPreset->getValues());
95 targetSynth.trigger(); 103 targetSynth.trigger();
96 104
97 // flash the interface? 105 // flash the interface?
98 }else{ 106 }else{
99 // else the user should be hitting the play button 107 // has this been done? yes. candidateSynth.setAllParams(ui stuff);
108 candidateSynth.trigger();
109 showUserHowTheyDid();
100 110
101 } 111 }
102 } 112 }
103 } 113 }
104 114
105 115
106 protected: 116 protected:
107 117 void showUserHowTheyDid(){
118 // colour flash
119 // distance ?
120 // score
121
122 }
108 void loadPreset(string pname){ 123 void loadPreset(string pname){
109 124
110 vector<int> values = expPresetManager.recallPreset(pname); 125 vector<int> values = expPresetManager.recallPreset(pname);
111 if (values.size()){ 126 if (values.size()){
112 candidateSynth.setAllParams(values); 127 candidateSynth.setAllParams(values);
181 } 196 }
182 SequenceController sequenceController; 197 SequenceController sequenceController;
183 TrainingTestController* trainingTestController; 198 TrainingTestController* trainingTestController;
184 bool sequencePreview; 199 bool sequencePreview;
185 Preset * currentTargetPreset; 200 Preset * currentTargetPreset;
201 IconPanel* presetIconPanel;
186 }; 202 };
187 #endif /* defined(__riftathon__TrainingMessageOrganiser__) */ 203 #endif /* defined(__riftathon__TrainingMessageOrganiser__) */