Mercurial > hg > tweakathon2ios
diff MessageOrganiser.h @ 9:d5e928887f51
More refactoring.
Mode for Synth value changes only sent to PD on triggering sound.
author | Robert Tubb <rt300@eecs.qmul.ac.uk> |
---|---|
date | Fri, 17 Oct 2014 17:50:41 +0100 |
parents | d59de9fd3496 |
children | 91c3fba6e5b9 |
line wrap: on
line diff
--- a/MessageOrganiser.h Fri Oct 17 16:35:22 2014 +0100 +++ b/MessageOrganiser.h Fri Oct 17 17:50:41 2014 +0100 @@ -63,6 +63,8 @@ void init(PDSynthWrapper& cs, PDSynthWrapper& ts){ candidateSynth = cs; targetSynth = ts; + + onlyChangeCandidateOnTrigger = true; } // could template for ui element type?? void mapButtonToAction(UIElement* control, int mappingID){ @@ -71,16 +73,45 @@ control->addHandler(callbackF, mappingID); currentMapping.insert(std::pair<int,UIElement*>(mappingID,control)); } + void setControlPanel(SliderPanel* p){ // a bit specific?? + panel = p; + + }; + void setBottomPanel(ButtonPanel * ntb){ + bottomPanel = ntb; + }; protected: PDSynthWrapper candidateSynth; PDSynthWrapper targetSynth; + ButtonPanel* bottomPanel; // shows during test : play buttons and submit + SliderPanel* panel; + map<int,UIElement*> currentMapping; // could get more sophisticated if not 1-1 ? - map<int,UIElement*> currentMapping; // could get more sophisticated if not 1-1 ? + void triggerCandidateSound(){ + // log event + sendSynthValuesAgain(); + candidateSynth.trigger(); + eventLogger.logEvent(CANDIDATE_PLAYED); + // flash panel? + panel->flash(); + } - SliderPanel* panel; + void paramChangeCallback(int mappingID, int value){ + + if(onlyChangeCandidateOnTrigger){ + candidateSynth.paramChangeCallback(mappingID, value, false); + }else{ + candidateSynth.paramChangeCallback(mappingID, value, true); + } + vector<int> evtData; + evtData.push_back(mappingID); // or just index? + evtData.push_back(value); + + eventLogger.logEvent(CANDIDATE_PARAM_ADJUSTED, evtData); + }; void sendSynthValuesAgain(){ candidateSynth.sendAllParams(); @@ -150,9 +181,6 @@ control->setLabel(paramName); }; - virtual void paramChangeCallback(int mappingID, int value){ - // virtual? - }; virtual void buttonPressCallback(int mappingID, int value){ }; @@ -167,6 +195,8 @@ setUIToParam(i, vals[i]); } } + + bool onlyChangeCandidateOnTrigger; };