annotate ExpMessageOrganiser.mm @ 52:89944ab3e129 tip

fix oF linker errors ios8
author Robert Tubb <rt300@eecs.qmul.ac.uk>
date Tue, 03 Feb 2015 13:18:23 +0000
parents d0f6c5293d6a
children
rev   line source
rt300@17 1 //
rt300@17 2 // expMessageOrganiser.cpp
rt300@17 3 // riftathon
rt300@17 4 //
rt300@17 5 // Created by Robert Tubb on 21/10/2014.
rt300@17 6 //
rt300@17 7 //
rt300@17 8
rt300@17 9 #include "ExpMessageOrganiser.h"
rt300@18 10
rt300@18 11 void ExpMessageOrganiser::init( PDSynthWrapper& cs, PDSynthWrapper& ts){
rt300@18 12 numParamsToUse = TOTAL_NUM_PARAMS;
rt300@18 13 MessageOrganiser::init(cs,ts);
rt300@18 14
rt300@27 15 }
rt300@27 16 void ExpMessageOrganiser::setup(controlPanelType whichInterfaceAreWeUsing){
rt300@27 17
rt300@18 18
rt300@27 19 setupDefaultMapping(whichInterfaceAreWeUsing);
rt300@18 20 expPresetManager.goToFirstEmptySlot();
rt300@44 21
rt300@21 22 instructionPanel->setLabel("Find a sound\n that expresses:");
rt300@21 23 instructionPanel->show();
rt300@27 24 bottomPanel->show();
rt300@42 25 bottomPanel->showAllElements();
rt300@50 26 nextButt->hide();
rt300@28 27 controlPanel->show();
rt300@28 28 controlPanel->showValueIndicators(true);
rt300@44 29 if (whichInterfaceAreWeUsing == LEAP6DOF){
rt300@44 30 distanceSlider->show();
rt300@46 31 }else{
rt300@46 32 distanceSlider->hide();
rt300@44 33 }
rt300@28 34
rt300@23 35 okToGetMidi = true;
rt300@44 36 controlPanel->setActive(true);
rt300@44 37 showCurrentSlot();
rt300@18 38 }
rt300@18 39
rt300@18 40
rt300@18 41 vector<int> ExpMessageOrganiser::getMappingIDsFromSynths(){
rt300@18 42 vector<int> index;
rt300@18 43 for(int i = 0; i < numParamsToUse; i++){
rt300@18 44 index.push_back(i);
rt300@18 45 }
rt300@18 46 vector<int> mids = candidateSynth.getMappingIDForIndices(index);
rt300@18 47
rt300@18 48 return mids;
rt300@18 49 }
rt300@18 50
rt300@18 51 void ExpMessageOrganiser::showCurrentSlot(){
rt300@19 52
rt300@19 53 if(expPresetManager.getCurrentPresetSlot() == NULL){
rt300@19 54 // hide next button
rt300@50 55 nextButt->hide();
rt300@19 56 return;
rt300@19 57 }
rt300@19 58 presetIconPanel->setTextAndImage(expPresetManager.getCurrentPresetSlot()->name, expPresetManager.getCurrentPresetSlot()->getImage(),expPresetManager.getCurrentPresetSlot()->isFilled);
rt300@28 59
rt300@44 60 //controlPanel->setIndicatorTexture(expPresetManager.getCurrentPresetSlot()->getImage());
rt300@28 61
rt300@19 62 if(expPresetManager.getCurrentPresetSlot()->isFilled){
rt300@50 63 // was already saved, show it
rt300@19 64 loadPreset(expPresetManager.getCurrentPresetSlot()->name);
rt300@44 65 controlPanel->setAndShowHint(expPresetManager.getCurrentPresetSlot()->getValues(), expPresetManager.getCurrentPresetSlot()->getImage());
rt300@44 66 targetSynth.setAllParams(expPresetManager.getCurrentPresetSlot()->getValues());
rt300@50 67 nextButt->show();
rt300@19 68 }else{
rt300@50 69 // nothing saved yet show default slidervals
rt300@19 70 loadDefaultSound();
rt300@50 71 nextButt->hide();
rt300@44 72 controlPanel->showHint(false);
rt300@19 73 }
rt300@18 74 }
rt300@18 75
rt300@18 76 void ExpMessageOrganiser::loadPreset(string pname){
rt300@18 77
rt300@18 78 vector<int> values = expPresetManager.getPresetValuesForName(pname);
rt300@18 79 if (values.size()){
rt300@18 80 candidateSynth.setAllParams(values);
rt300@18 81 setAllSlidersToValues(values);
rt300@18 82 }else{
rt300@18 83 cout << "ERROR, no preset found" << endl;
rt300@18 84 }
rt300@18 85 }
rt300@19 86 void ExpMessageOrganiser::loadDefaultSound(){
rt300@19 87 vector<int> values;
rt300@19 88 for(int i = 0; i < TOTAL_NUM_PARAMS; i++){
rt300@19 89 values.push_back(0);
rt300@19 90 }
rt300@18 91
rt300@19 92 candidateSynth.setAllParams(values);
rt300@19 93 setAllSlidersToValues(values);
rt300@19 94
rt300@19 95 }
rt300@18 96
rt300@18 97
rt300@18 98 //-----------------------------------------------------------------------------
rt300@18 99
rt300@18 100 void ExpMessageOrganiser::buttonPressCallback(int mappingID, int value){
rt300@18 101
rt300@18 102
rt300@18 103 if (mappingID == TRIGGER_CANDIDATE_ID){
rt300@18 104 triggerCandidateSound();
rt300@18 105
rt300@18 106 return;
rt300@18 107 }
rt300@18 108 if(mappingID == SAVE_PRESET_HIT){
rt300@18 109
rt300@19 110 bool finished = expPresetManager.writeValuesToSlot(candidateSynth.getAllParamValues());
rt300@19 111 if(finished){
rt300@42 112 instructionPanel->setText("ALL PRESETS MADE\n Please go to menu and select TRAIN stage");
rt300@32 113 instructionPanel->show();
rt300@38 114 bottomPanel->show();
rt300@42 115 bottomPanel->showOnlyElementNamed("MENU");
rt300@43 116 okToGetMidi = false;
rt300@28 117 controlPanel->hide();
rt300@28 118
rt300@19 119 }else{
rt300@19 120 showCurrentSlot();
rt300@19 121 }
rt300@50 122 nextButt->show();
rt300@18 123 return;
rt300@18 124 }
rt300@18 125
rt300@44 126 if(mappingID == NEXT_PRESET_HIT){
rt300@44 127
rt300@44 128 expPresetManager.nextSlot();
rt300@44 129 showCurrentSlot();
rt300@44 130
rt300@44 131
rt300@44 132 return;
rt300@44 133 }
rt300@44 134
rt300@23 135 }
rt300@23 136