Mercurial > hg > tweakathon2ios
changeset 49:a62e033117fa
sequence controller now generated new. but doesn't fix the bug. bad access cropping up...
author | Robert Tubb <rt300@eecs.qmul.ac.uk> |
---|---|
date | Mon, 12 Jan 2015 18:40:00 +0000 |
parents | 2396eb9dcddd |
children | d0f6c5293d6a |
files | SequenceController.h SequenceController.mm TrainingMessageOrganiser.h TrainingMessageOrganiser.mm TrainingScoreManager.h UI code/ButtronSlider.mm UI code/UIElementContainer.h testApp.mm |
diffstat | 8 files changed, 37 insertions(+), 31 deletions(-) [+] |
line wrap: on
line diff
--- a/SequenceController.h Thu Dec 18 17:02:28 2014 +0000 +++ b/SequenceController.h Mon Jan 12 18:40:00 2015 +0000 @@ -15,7 +15,7 @@ #include "TrainingScoreManager.h" #define MIN_TARGETS_IN_SEQUENCE 1 -#define NUM_REPETITIONS_AT_LEVEL 1 +#define NUM_REPETITIONS_AT_LEVEL 2 #define MAX_TARGETS_IN_SEQUENCE 3 #define MIN_TEMPO 90 #define MAX_TEMPO 520
--- a/SequenceController.mm Thu Dec 18 17:02:28 2014 +0000 +++ b/SequenceController.mm Mon Jan 12 18:40:00 2015 +0000 @@ -196,6 +196,7 @@ }else{ generateTestSequence(1); generateTestSequence(2); + generateTestSequence(3); } setToStart(); @@ -296,7 +297,7 @@ // just make something simple to check sanity generateCountIn(2,run); - vector<int> seq = randomSequence(2); + vector<int> seq = randomSequence(run); // first we have a preparation count in AnimStep nextStep;
--- a/TrainingMessageOrganiser.h Thu Dec 18 17:02:28 2014 +0000 +++ b/TrainingMessageOrganiser.h Mon Jan 12 18:40:00 2015 +0000 @@ -78,11 +78,10 @@ ofColor interactableColor; ofColor nonInteractableColor; int downCounter; - - vector<int> oldTargetValues; + //----------------------------------------------------------------------------- - SequenceController sequenceController; + SequenceController *sequenceController; TrainingScoreManager trainingScoreManager; Buttron* forgotButton;
--- a/TrainingMessageOrganiser.mm Thu Dec 18 17:02:28 2014 +0000 +++ b/TrainingMessageOrganiser.mm Mon Jan 12 18:40:00 2015 +0000 @@ -18,8 +18,8 @@ numParamsToUse = TOTAL_NUM_PARAMS; - - sequenceController.init(soundOnlyMode,whichInterfaceAreWeUsing, demoMode); + sequenceController = new SequenceController(); + sequenceController->init(soundOnlyMode,whichInterfaceAreWeUsing, demoMode); setup(whichInterfaceAreWeUsing); } @@ -86,7 +86,7 @@ // skip to next run? eventLogger.logEvent(RUN_SKIPPED); }else{ - candidateSynth.setMetroTime(sequenceController.getStartIntervalTime()/4.); + candidateSynth.setMetroTime(sequenceController->getStartIntervalTime()/4.); candidateSynth.startMetronome(); candidateSynth.playDownbeatBlip(); bottomPanel->hide(); @@ -102,13 +102,14 @@ if(mappingID == TO_MENU_ID){ // tell testapp to start again? - candidateSynth.stopMetronome(); - controlPanel->hide(); - controlPanel->setColor(ofColor::black); - sequenceController.clearAll(); - seqNumPanel->hide(); - eventLogger.logEvent(RUN_SKIPPED); - eventLogger.saveSessionToFile(); +// candidateSynth.stopMetronome(); +// controlPanel->hide(); +// controlPanel->setColor(ofColor::black); +// sequenceController->clearAll(); +// seqNumPanel->hide(); +// eventLogger.logEvent(RUN_SKIPPED); +// eventLogger.saveSessionToFile(); + reset(); } if(mappingID == FORGOT_SEQ_ID){ @@ -117,10 +118,10 @@ cout << "FORGOT" << endl; } if(mappingID == SKIP_RUN_ID){ - sequenceController.skipRun(); - int r = sequenceController.getCurrentRunNumber(); + sequenceController->skipRun(); + int r = sequenceController->getCurrentRunNumber(); stringstream s; - s << "SKIP RUN " << r+1; + s << ">> " << r+1; skipButton->setLabel(s.str()); @@ -150,19 +151,20 @@ candidateSynth.stopMetronome(); stringstream s; - s << "FINISHED RUN " << which << " OF " << sequenceController.getTotNumRuns() << endl; + s << "FINISHED RUN " << which << " OF " << sequenceController->getTotNumRuns() << endl; controlPanel->hide(); controlPanel->setColor(ofColor::black); middlePanel->setText(s.str()); middlePanel->show(); //playCandidateButton->setLabel("NEXT"); s.str(""); - s << "SKIP RUN " << which+1; + s << ">> " << which+1; skipButton->setLabel(s.str()); bottomPanel->show(); seqNumPanel->hide(); forgotButton->hide(); + instructionPanel->setText(""); eventLogger.logEvent(FINISHED_RUN); eventLogger.saveSessionToFile(); // TODO keep track of how far we are into experiment @@ -235,15 +237,17 @@ flashResult(result); } - AnimStep newStep = sequenceController.getNextStep(); // ADVANCES COUNTS + AnimStep newStep = sequenceController->getNextStep(); // ADVANCES COUNTS if(newStep.isLastOfAll){ + oldStep = newStep; lastOfAll(); return; } if(newStep.isLastOfRun){ + oldStep = newStep; lastOfRun(newStep.runNumber); return; } @@ -330,7 +334,7 @@ displayInstructions("Get ready for preview"); seqNumPanel->hide(); - oldTargetValues = newTargetValues; + controlPanel->setColor(ofColor::black); } //----------------------------------------------------------------------------- @@ -358,7 +362,6 @@ }else{ showSeqNum(-1); } - oldTargetValues = newTargetValues; controlPanel->setColor(ofColor::black); bottomPanel->hide(); @@ -417,8 +420,7 @@ // trigger where we're at at the moment triggerCandidateSound(); - - oldTargetValues = newTargetValues; + if (!newStep.showsGuides || !newStep.showsIcons){ controlPanel->setColor(ofColor::red); // set sliders to default texture @@ -449,7 +451,7 @@ showSeqNum(newStep.whichInSequence); triggerCandidateSound(); - oldTargetValues = newTargetValues; + if (!newStep.showsGuides || !newStep.showsIcons){ controlPanel->setColor(ofColor::red); // set sliders to default texture @@ -481,7 +483,7 @@ step.tempoLevel, step.totalLengthOfSeq); - sequenceController.saveResultForCurrentStep(result); + sequenceController->saveResultForCurrentStep(result); instructionPanel->setColor(result.colorBand); @@ -572,7 +574,8 @@ candidateSynth.stopMetronome(); controlPanel->hide(); controlPanel->setColor(ofColor::black); - sequenceController.clearAll(); + sequenceController->clearAll(); + trainingScoreManager.reset(); seqNumPanel->hide(); eventLogger.saveSessionToFile(); //?
--- a/TrainingScoreManager.h Thu Dec 18 17:02:28 2014 +0000 +++ b/TrainingScoreManager.h Mon Jan 12 18:40:00 2015 +0000 @@ -36,6 +36,9 @@ TrainingScoreManager(){ totalScored = 0; }; + void reset(){ + totalScored = 0; + }; int getBandForDistance(float dist) const{ int band = -1; auto dimComp = sqrt(TOTAL_NUM_PARAMS);
--- a/UI code/ButtronSlider.mm Thu Dec 18 17:02:28 2014 +0000 +++ b/UI code/ButtronSlider.mm Mon Jan 12 18:40:00 2015 +0000 @@ -123,7 +123,6 @@ posAnimIncr = (targVal - value )*amtPerFrame; animFrac = pow( 0.05, 1000./(ofGetFrameRate() * timeToTake)); - cout << "ANIM " << animFrac << endl; animating = true; } void ButtronSlider::update(){
--- a/UI code/UIElementContainer.h Thu Dec 18 17:02:28 2014 +0000 +++ b/UI code/UIElementContainer.h Mon Jan 12 18:40:00 2015 +0000 @@ -126,7 +126,8 @@ for( auto eit = subElements.begin(); eit < subElements.end(); eit++){ (*eit)->show(); - + (*eit)->setOn(false); + } } private:
--- a/testApp.mm Thu Dec 18 17:02:28 2014 +0000 +++ b/testApp.mm Mon Jan 12 18:40:00 2015 +0000 @@ -173,7 +173,7 @@ //trainingMessageOrganiser.mapButtonToAction(menuButton, TO_MENU_ID); bottomButtonPanel->addButton(menuButton); - Buttron * skipButton = new Buttron(props->buttonWidth*1.4,680, *props); + Buttron * skipButton = new Buttron(props->buttonWidth*0.5,680, *props); skipButton->setLabel("SKIP RUN"); trainingMessageOrganiser.mapButtonToAction(skipButton, SKIP_RUN_ID); trainingMessageOrganiser.setSkipButton(skipButton);