Mercurial > hg > tweakathon2ios
changeset 44:d810aa9ca03a
times. cosmetic stuff
author | Robert Tubb <rt300@eecs.qmul.ac.uk> |
---|---|
date | Mon, 15 Dec 2014 17:33:41 +0000 |
parents | 4ad0d218f890 |
children | 80112c9349c4 |
files | ExpMessageOrganiser.mm ExplorePresetManager.h ExplorePresetManager.mm MessageOrganiser.mm SequenceController.h SequenceController.mm TrainingMessageOrganiser.mm UI code/Buttron.h UI code/Buttron.mm UI code/ButtronSlider.mm UI code/IconPanel.mm globalVariables.h presetManager.h testApp.mm |
diffstat | 14 files changed, 118 insertions(+), 65 deletions(-) [+] |
line wrap: on
line diff
--- a/ExpMessageOrganiser.mm Mon Dec 15 12:51:09 2014 +0000 +++ b/ExpMessageOrganiser.mm Mon Dec 15 17:33:41 2014 +0000 @@ -18,17 +18,20 @@ setupDefaultMapping(whichInterfaceAreWeUsing); expPresetManager.goToFirstEmptySlot(); - showCurrentSlot(); + instructionPanel->setLabel("Find a sound\n that expresses:"); instructionPanel->show(); bottomPanel->show(); bottomPanel->showAllElements(); controlPanel->show(); - controlPanel->showHint(false); controlPanel->showValueIndicators(true); + if (whichInterfaceAreWeUsing == LEAP6DOF){ + distanceSlider->show(); + } okToGetMidi = true; - controlPanel->setActive(true); + controlPanel->setActive(true); + showCurrentSlot(); } @@ -50,15 +53,17 @@ } presetIconPanel->setTextAndImage(expPresetManager.getCurrentPresetSlot()->name, expPresetManager.getCurrentPresetSlot()->getImage(),expPresetManager.getCurrentPresetSlot()->isFilled); - controlPanel->setIndicatorTexture(expPresetManager.getCurrentPresetSlot()->getImage()); + //controlPanel->setIndicatorTexture(expPresetManager.getCurrentPresetSlot()->getImage()); if(expPresetManager.getCurrentPresetSlot()->isFilled){ // show this preset on sliders loadPreset(expPresetManager.getCurrentPresetSlot()->name); + controlPanel->setAndShowHint(expPresetManager.getCurrentPresetSlot()->getValues(), expPresetManager.getCurrentPresetSlot()->getImage()); + targetSynth.setAllParams(expPresetManager.getCurrentPresetSlot()->getValues()); }else{ // show default slidervals loadDefaultSound(); - + controlPanel->showHint(false); } } @@ -112,5 +117,14 @@ return; } + if(mappingID == NEXT_PRESET_HIT){ + + expPresetManager.nextSlot(); + showCurrentSlot(); + + + return; + } + }
--- a/ExplorePresetManager.h Mon Dec 15 12:51:09 2014 +0000 +++ b/ExplorePresetManager.h Mon Dec 15 17:33:41 2014 +0000 @@ -91,7 +91,7 @@ bool writeValuesToSlot(vector<int> values); PresetSlot* getCurrentPresetSlot(); PresetSlot* getPresetSlotAtIndex(int index); - + void nextSlot(); protected: void initPresetSlots();
--- a/ExplorePresetManager.mm Mon Dec 15 12:51:09 2014 +0000 +++ b/ExplorePresetManager.mm Mon Dec 15 17:33:41 2014 +0000 @@ -34,8 +34,10 @@ // now put it into a real preset, so it will be saved to file savePreset(getPresetSlotAtIndex(currentPresetSlotIndex)); - filledSlots++; - currentPresetSlotIndex++; + if (!getPresetSlotAtIndex(currentPresetSlotIndex)->isFilled){ + filledSlots++; + } + if(filledSlots == MAX_PRESETS){ cout << "FINISHED EXP STAGE!" << endl; currentPresetSlotIndex = 0; @@ -44,6 +46,14 @@ return false; } //-------------------------------------------------------------------------------- +void ExplorePresetManager::nextSlot(){ + currentPresetSlotIndex++; + if (currentPresetSlotIndex >= thePresetSlots.size()){ + currentPresetSlotIndex = 0; + } +} + +//-------------------------------------------------------------------------------- PresetSlot* ExplorePresetManager::getCurrentPresetSlot(){ return getPresetSlotAtIndex(currentPresetSlotIndex);
--- a/MessageOrganiser.mm Mon Dec 15 12:51:09 2014 +0000 +++ b/MessageOrganiser.mm Mon Dec 15 17:33:41 2014 +0000 @@ -84,7 +84,15 @@ } void MessageOrganiser::showSeqNum(int num){ stringstream s; - s << num; + if (num == 0){ + s << "-> N"; + }else if(num == 1){ + s << "-> A"; + }else if(num == 2){ + s << "-> B"; + }else if(num == 3){ + s << "-> C"; + } seqNumPanel->setText(s.str()); seqNumPanel->show(); }
--- a/SequenceController.h Mon Dec 15 12:51:09 2014 +0000 +++ b/SequenceController.h Mon Dec 15 17:33:41 2014 +0000 @@ -16,16 +16,17 @@ #define MIN_TARGETS_IN_SEQUENCE 1 #define NUM_REPETITIONS_AT_LEVEL 2 -#define MAX_TARGETS_IN_SEQUENCE 4 +#define MAX_TARGETS_IN_SEQUENCE 3 #define MIN_TEMPO 90 #define MAX_TEMPO 520 #define TEMPO_RANDOM_AMOUNT #define MAX_TIME 2800 #define MIN_TIME 200 -#define NUM_TEMPO_STEPS 20 +#define NUM_TEMPO_STEPS 15 #define END_NEUTRAL_MATCH 0 #define NUM_PRESETS 8 +#define SLIDER_SLOW_FACTOR 1.4 #define SPACER_BARS false #define NO_GUIDES_LEVEL false
--- a/SequenceController.mm Mon Dec 15 12:51:09 2014 +0000 +++ b/SequenceController.mm Mon Dec 15 17:33:41 2014 +0000 @@ -159,28 +159,26 @@ SequenceController::SequenceController(){ int tih[] = { - 2637, - 2337, - 2123, - 1791, - 1538, - 1355, - 1206, - 1090, - 991, - 912, - 842, - 784, - 731, - 687, - 646, - 612, - 551, - 502 + 2500, + 1944, + 1590, + 1346, + 1166, + 1029, + 921, + 833, + 760, + 700, + 648, + 603, + 564, + 530, + 500 }; - for(int i = 0; i < 25; i++){ + for(int i = 0; i < NUM_TEMPO_STEPS; i++){ timeIntervalsHard.push_back(tih[i]); } + currentRunNumber = 0; // actually goes from 1 0 is pre-start @@ -222,10 +220,18 @@ //------------------------------------------------------------------- void SequenceController::skipRun(){ // loop thru steps until next run reached + if ( (*currentStep).isLastOfAll){ + return; + } + currentStep++; // IGNORE CURRENT STEP (LAST OF OLD RUN) + bool nextRunReached = false; while (!nextRunReached){ currentStep++; + if ( (*currentStep).isLastOfAll){ + return; + } if ((*currentStep).runNumber != currentRunNumber && (*currentStep).runNumber != 0){ nextRunReached = true; currentRunNumber = (*currentStep).runNumber; @@ -240,7 +246,7 @@ float SequenceController::getStartIntervalTime(){ float t = timeIntervalsHard[0]; if (panelType == ALL_SLIDERS){ - t = 1.5*t; + t = SLIDER_SLOW_FACTOR*t; } return t; } @@ -268,7 +274,7 @@ cout << "-generate run finished-" << endl; } } - totNumRuns = run; + totNumRuns = run-1; steps.back().isLastOfAll = true; }; @@ -290,7 +296,7 @@ // nextStep.setTimeFromTempo(); nextStep.timeAllowedMs = timeIntervalsHard[0]; if (panelType == ALL_SLIDERS){ - nextStep.timeAllowedMs = 1.5*nextStep.timeAllowedMs; + nextStep.timeAllowedMs = SLIDER_SLOW_FACTOR*nextStep.timeAllowedMs; } nextStep.setTempoFromTime(); nextStep.showsGuides = true; @@ -374,7 +380,7 @@ // nextStep.setTimeFromTempo(); nextStep.timeAllowedMs = timeIntervalsHard[tempoLevel]; if (panelType == ALL_SLIDERS){ - nextStep.timeAllowedMs = 1.5*nextStep.timeAllowedMs; + nextStep.timeAllowedMs = SLIDER_SLOW_FACTOR*nextStep.timeAllowedMs; } nextStep.setTempoFromTime(); nextStep.showsGuides = true; @@ -384,10 +390,10 @@ //nextStep = makeFirstCountIn(); steps.push_back(nextStep); - if(numInSequence > 1){ - // xtra count for tricky one - steps.push_back(nextStep); - } + + // two bar coun tin + steps.push_back(nextStep); + // generate a sequence of random preset indices @@ -406,7 +412,7 @@ steps.back().isLastOfSeq = true; if(numInSequence == 1){ - curTempo += tempoInc; // easier!!!??? will mess up time points + curTempo += tempoInc; // make no 1 easier!!!??? will mess up time points }else{ curTempo += tempoInc; }
--- a/TrainingMessageOrganiser.mm Mon Dec 15 12:51:09 2014 +0000 +++ b/TrainingMessageOrganiser.mm Mon Dec 15 17:33:41 2014 +0000 @@ -117,7 +117,7 @@ sequenceController.skipRun(); int r = sequenceController.getCurrentRunNumber(); stringstream s; - s << "SKIP RUN " << r; + s << "GOTO RUN " << r+1; skipButton->setLabel(s.str()); @@ -153,8 +153,8 @@ middlePanel->setText(s.str()); middlePanel->show(); //playCandidateButton->setLabel("NEXT"); - - s << "SKIP RUN " << which+1; + s.str(""); + s << "GOTO RUN " << which+1; skipButton->setLabel(s.str()); bottomPanel->show(); @@ -232,7 +232,7 @@ flashResult(result); } - AnimStep newStep = sequenceController.getNextStep(); + AnimStep newStep = sequenceController.getNextStep(); // ADVANCES COUNTS @@ -529,11 +529,11 @@ { // show how to get there if (showAnimatedHand){ - if (panelType == LEAP6DOF){ + //if (panelType == LEAP6DOF){ controlPanel->animateToNewValues(newTargetValues, animTime); controlPanel->showValueIndicators(true); // for animation controlPanel->setActive(false); - } + //} }else if(showControllableHand){ controlPanel->showValueIndicators(true); // for animation
--- a/UI code/Buttron.h Mon Dec 15 12:51:09 2014 +0000 +++ b/UI code/Buttron.h Mon Dec 15 17:33:41 2014 +0000 @@ -77,10 +77,12 @@ on = true; } virtual bool handleMyTouch(int x, int y, touchType ttype, int touchID); - + void setBgImage(ofImage * img){ + bgImage = img; + } protected: Mode behaviourMode; - + ofImage * bgImage; };
--- a/UI code/Buttron.mm Mon Dec 15 12:51:09 2014 +0000 +++ b/UI code/Buttron.mm Mon Dec 15 17:33:41 2014 +0000 @@ -53,6 +53,7 @@ backgroundLo = props.generalBackground; behaviourMode = MOMENTARY; on = false; + bgImage = NULL; } //------------------------------------------------------------------ Buttron::Buttron(float ax, @@ -84,6 +85,7 @@ //cout << "drawing button" << endl; ofFill(); UIElement::draw(); // should do background + //drawBackground(); drawOutline(); drawTextLabel(); @@ -165,6 +167,7 @@ ofCircle(x+width-cornerSize, y+height-cornerSize, radius); // fill in background + ofRect(x+cornerSize,y+thickness,width-2*cornerSize,height-2*thickness); ofRect(x+thickness, y+cornerSize, radius, height-2*cornerSize); ofRect(x+width-cornerSize, y+cornerSize, radius, height-2*cornerSize);
--- a/UI code/ButtronSlider.mm Mon Dec 15 12:51:09 2014 +0000 +++ b/UI code/ButtronSlider.mm Mon Dec 15 17:33:41 2014 +0000 @@ -53,6 +53,7 @@ hintPosAnimIncr = 0; posAnimIncr = 0; onlyOneTouchAllowed = true; + indicatorShowing = true; } // //--------------------------------------------------------------------- @@ -105,7 +106,7 @@ double loc = y + thickness + (1 - hintValue)*(height-3*thickness); //ofRect(x-thickness,loc, width+2*thickness,hthick); ofSetColor(255, 255, 255); - (*handTextureRef).draw(x-thickness,loc-hthick/2, width+2*thickness,hthick); + (*handTextureRef).draw(x+thickness,loc-hthick/2, width-4*thickness,hthick); } void ButtronSlider::animateHintToNewValue(int newVal, float timeToTake){
--- a/UI code/IconPanel.mm Mon Dec 15 12:51:09 2014 +0000 +++ b/UI code/IconPanel.mm Mon Dec 15 17:33:41 2014 +0000 @@ -46,12 +46,12 @@ drawTextLabel(); - if(showTick){ - drawTick(); - } - if(showCross){ - drawCross(); - } +// if(showTick){ +// drawTick(); +// } +// if(showCross){ +// drawCross(); +// } } ofEnableDepthTest();
--- a/globalVariables.h Mon Dec 15 12:51:09 2014 +0000 +++ b/globalVariables.h Mon Dec 15 17:33:41 2014 +0000 @@ -26,6 +26,7 @@ #define VOLUME_CHANGE_ID 99263748 #define START_TRAINING_SEQUENCE_ID 99189938 #define SAVE_PRESET_HIT 99245748 +#define NEXT_PRESET_HIT 99241148 #define TO_MENU_ID 99545741 #define SKIP_RUN_ID 99765346 #define FORGOT_SEQ_ID 99123123
--- a/presetManager.h Mon Dec 15 12:51:09 2014 +0000 +++ b/presetManager.h Mon Dec 15 17:33:41 2014 +0000 @@ -136,7 +136,6 @@ void savePreset(Preset * aPreset); void savePreset(string name, vector<int> stuff); void generatePresetSlot(const string name, const string imagefn); - void saveFilledSlotToFile(); vector<int> getPresetValuesForID(int presetID); vector<int> getPresetValuesForName(string name); void startLoadAll(); // load everything from the json file
--- a/testApp.mm Mon Dec 15 12:51:09 2014 +0000 +++ b/testApp.mm Mon Dec 15 17:33:41 2014 +0000 @@ -113,12 +113,16 @@ expMessageOrganiser.mapButtonToAction(playCandidateButton, TRIGGER_CANDIDATE_ID); bottomButtonPanel->addButton(playCandidateButton); - Buttron * savePresetButton = new Buttron(props->buttonWidth*1.4,680, *props); - savePresetButton->setLabel("SAVE/NEXT"); + savePresetButton->setLabel("SAVE"); expMessageOrganiser.mapButtonToAction(savePresetButton, SAVE_PRESET_HIT); bottomButtonPanel->addButton(savePresetButton); + Buttron * nextPresetButton = new Buttron(props->buttonWidth*1.4,680, *props); + nextPresetButton->setLabel("NEXT"); + expMessageOrganiser.mapButtonToAction(nextPresetButton, NEXT_PRESET_HIT); + bottomButtonPanel->addButton(nextPresetButton); + Buttron * menuButton = new Buttron(props->buttonWidth*1.4,680, *props); menuButton->setLabel("MENU"); @@ -166,18 +170,14 @@ bottomButtonPanel->addButton(menuButton); Buttron * skipButton = new Buttron(props->buttonWidth*1.4,680, *props); - skipButton->setLabel("SKIP RUN 1"); + skipButton->setLabel("GOTO RUN 2"); trainingMessageOrganiser.mapButtonToAction(skipButton, SKIP_RUN_ID); trainingMessageOrganiser.setSkipButton(skipButton); //trainingMessageOrganiser.mapButtonToAction(menuButton, TO_MENU_ID); bottomButtonPanel->addButton(skipButton); bottomButtonPanel->hide(); - - ButtronSlider* distanceSlider = new ButtronSlider(ofGetWidth()-80, 200, 60, ofGetHeight()-400, FILL, *props); - trainingMessageOrganiser.setDistanceSlider(distanceSlider); - distanceSlider->hide(); - UIElements.push_back(distanceSlider); + trainingMessageOrganiser.setBottomPanel(bottomButtonPanel); UIElements.push_back(bottomButtonPanel); @@ -304,7 +304,7 @@ UIElements.push_back(iconPanel); iconPanel->hide(); - TextPanel* seqNumPanel = new TextPanel("0",500, 190, 150, 150, *props); + TextPanel* seqNumPanel = new TextPanel(" ",470, 185, 150, 150, *props); trainingMessageOrganiser.setSeqNumPanel(seqNumPanel); expMessageOrganiser.setSeqNumPanel(seqNumPanel); searchMessageOrganiser.setSeqNumPanel(seqNumPanel); @@ -320,7 +320,8 @@ UIElements.push_back(scoreNumPanel); scoreNumPanel->show(); - TextPanel * middlePanel = new TextPanel("Middle panel", 400, 400, 400,400,(*props)); + TextPanel * middlePanel = new TextPanel("Middle panel", 300, 400, 400,400,(*props)); + middlePanel->setFontSize(LARGEFONT); UIElements.push_back(middlePanel); expMessageOrganiser.setMiddlePanel(middlePanel); @@ -328,6 +329,13 @@ searchMessageOrganiser.setMiddlePanel(middlePanel); middlePanel->hide(); + + ButtronSlider* distanceSlider = new ButtronSlider(ofGetWidth()-80, 200, 60, ofGetHeight()-400, FILL, *props); + trainingMessageOrganiser.setDistanceSlider(distanceSlider); + expMessageOrganiser.setDistanceSlider(distanceSlider); + distanceSlider->hide(); + UIElements.push_back(distanceSlider); + // Leap6DBox * box = new Leap6DBox(400 , 210 , (*props).XYsize*0.75,(*props).XYsize*0.75,150,50, *props); // searchMessageOrganiser.setBox(box); // trainingMessageOrganiser.setBox(box);