Mercurial > hg > tweakathon2ios
diff MessageOrganiser.mm @ 34:3af380769779
small fixes, logging now sensible.
author | Robert Tubb <rt300@eecs.qmul.ac.uk> |
---|---|
date | Wed, 26 Nov 2014 14:04:05 +0000 |
parents | 93317878abef |
children | 3b10a26da293 |
line wrap: on
line diff
--- a/MessageOrganiser.mm Tue Nov 25 18:37:54 2014 +0000 +++ b/MessageOrganiser.mm Wed Nov 26 14:04:05 2014 +0000 @@ -39,6 +39,7 @@ return mids; } +//---------------------------------------------------------------------------------- // could template for ui element type?? void MessageOrganiser::mapButtonToAction(UIElement* control, int mappingID){ UICallbackFunction callbackF; @@ -47,25 +48,26 @@ currentMapping.insert(std::pair<int,UIElement*>(mappingID,control)); } - +//---------------------------------------------------------------------------------- void MessageOrganiser::setControlPanel(SliderPanel* p){ // a bit specific?? controlPanel = p; }; +//---------------------------------------------------------------------------------- void MessageOrganiser::setBottomPanel(ButtonPanel * ntb){ bottomPanel = ntb; }; - +//---------------------------------------------------------------------------------- void MessageOrganiser::setIconPanel(IconPanel * ip){ presetIconPanel = ip; } - +//---------------------------------------------------------------------------------- void MessageOrganiser::setInstructionPanel(TextPanel * ip){ instructionPanel = ip; instructionPanel->show(); } - +//---------------------------------------------------------------------------------- void MessageOrganiser::setSeqNumPanel(TextPanel * snp){ seqNumPanel = snp; } @@ -91,13 +93,14 @@ bottomPanel->hide(); controlPanel->hide(); } +//---------------------------------------------------------------------------------- void MessageOrganiser::showMyPanels(){ presetIconPanel->show(); instructionPanel->show(); bottomPanel->show(); controlPanel->show(); } - +//---------------------------------------------------------------------------------- void MessageOrganiser::triggerCandidateSound(){ // log event sendSynthValuesAgain(); // TODO AAAARG too slow??? @@ -105,7 +108,7 @@ eventLogger.logEvent(CANDIDATE_PLAYED); } - +//---------------------------------------------------------------------------------- void MessageOrganiser::paramChangeCallback(int mappingID, int value){ if(onlyChangeCandidateOnTrigger){ @@ -120,16 +123,18 @@ eventLogger.logEvent(CANDIDATE_PARAM_ADJUSTED, evtData); }; - +//---------------------------------------------------------------------------------- void MessageOrganiser::sendSynthValuesAgain(){ candidateSynth.sendAllParams(); targetSynth.sendAllParams(); }; - +//---------------------------------------------------------------------------------- void MessageOrganiser::setAllSlidersToValues(vector<int> values){ controlPanel->setValues(values); } + +//---------------------------------------------------------------------------------- // we want to set UI object void MessageOrganiser::setUIToParam(int index, int value){ @@ -154,7 +159,7 @@ } }; - +//---------------------------------------------------------------------------------- void MessageOrganiser::mapControlToParam(UIElement* control, int mappingID){ @@ -198,7 +203,7 @@ eventLogger.logEvent(CONTROL_LIST,typeListLog); }; - +//---------------------------------------------------------------------------------- void MessageOrganiser::mapXYToParams(ButtronXY* control, int mappingIDX, int mappingIDY){ UICallbackFunction callback; @@ -215,7 +220,7 @@ control->setLabel(candidateSynth.getNameForMappingID(mappingIDX), candidateSynth.getNameForMappingID(mappingIDY)); }; - +//---------------------------------------------------------------------------------- void MessageOrganiser::mapControlToParam(UIElement* control, string paramName){ // get mapping ID from synth @@ -223,12 +228,12 @@ mapControlToParam(control, mappingID); control->setLabel(paramName); }; - +//---------------------------------------------------------------------------------- void MessageOrganiser::buttonPressCallback(int mappingID, int value){ }; - +//---------------------------------------------------------------------------------- void MessageOrganiser::setSlidersToTarget(){ // this will actually show sliders with target vals - for "memorisation" purposes mwa heh heh // get target values @@ -254,6 +259,7 @@ } } +//---------------------------------------------------------------------------------- void MessageOrganiser::setCandidateAndSlidersToRandom(){ vector<int> rands; for(int i = 0; i < candidateSynth.getNumParams(); i++){ @@ -265,10 +271,14 @@ candidateSynth.setAllParams(rands); } +//---------------------------------------------------------------------------------- void MessageOrganiser::midiFromLeap(int ctl_num, int ctl_val){ - + static long int howManyLogged; + static vector<int> lastLoggedVals = zeros<int>(6); + static vector<int> newVals = zeros<int>(6); + static long long lastLogTime; if (!okToGetMidi){ return; @@ -286,10 +296,24 @@ setUIToParam(ctl_num, ctl_val); - vector<int> evtData; - evtData.push_back(mids[ctl_num]); // or just index? - evtData.push_back(ctl_val); + // wait for a certain distance travelled AND time then record? + newVals[ctl_num] = ctl_val; + long long newLogTime = ofGetSystemTime(); - eventLogger.logEvent(CANDIDATE_PARAM_ADJUSTED, evtData); + if (euclideanDistance(newVals, lastLoggedVals) > MIN_LOG_DIST && newLogTime - lastLogTime > 20){ + eventLogger.logEvent(CANDIDATE_PARAM_ADJUSTED_ALL, newVals); + + lastLoggedVals = newVals; + howManyLogged++; + }else{ + cout << "skipped! so far logged " << howManyLogged << endl; + } + -} \ No newline at end of file +} + + +//---------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------- \ No newline at end of file