rt300@0: #pragma once rt300@0: rt300@0: #include "ofMain.h" rt300@0: #include "ofxiPhone.h" rt300@0: #include "ofxiPhoneExtras.h" rt300@0: #include "ofxOsc.h" rt300@0: #include "grid.h" rt300@0: #include "2dvector.h" rt300@0: #include "ofxUI.h" rt300@0: #include "eventLogger.h" rt300@2: #include "AppCore.h" rt300@1: rt300@3: #include "presetManager.h" rt300@3: #include "eventLogger.h" rt300@3: #include "ofxPd.h" rt300@3: #include "frequencer.h" rt300@3: rt300@8: #include "json.h" rt300@8: rt300@16: rt300@16: #import "QuestionnaireViewController.h" rt300@24: #import "BottomTabViewController.h" rt300@24: #import "IntroViewController.h" rt300@27: #import "HelpViewController.h" rt300@24: #import "TopButtonViewController.h" rt300@25: #import "SliderViewController.h" rt300@25: #import "usernameAlertViewController.h" rt300@29: #import "TimedSessionController.h" rt300@29: #define OSC_HOST "169.254.1.1" rt300@29: #define OSC_PORT 12345 rt300@8: rt300@29: typedef enum {SLIDERS,ZOOMER,BOTH,INTRO,QUESTIONNAIRE, HELP}interfaceType; rt300@24: rt300@0: class testApp : public ofxiPhoneApp { rt300@0: rt300@3: rt300@3: public: rt300@0: rt300@24: interfaceType whichInterfaceShowing; rt300@24: BottomTabViewController *bottomTabViewController; rt300@25: UsernameAlertViewController *usernameAlertViewController; rt300@26: HelpViewController *helpViewController; rt300@27: QuestionnaireViewController * questionnaireViewController; rt300@27: IntroViewController * introViewController; rt300@27: TopButtonViewController * topButtonViewController; rt300@27: SliderViewController * sliderViewController; rt300@29: TimedSessionController * tsc; rt300@0: int prevTouchX; rt300@0: int prevTouchY; rt300@0: double prevDist; rt300@16: bool paused; rt300@0: // not many so dont bother with vectors/arrays? rt300@0: TwoVector touch0; rt300@0: TwoVector touch1; rt300@0: TwoVector prevTouch0; rt300@0: TwoVector prevTouch1; rt300@5: rt300@0: bool xLocked, yLocked; rt300@6: unsigned int lastMoveTime; rt300@0: rt300@0: TwoVector moveVel; // velocity at which we were moving the grid rt300@0: rt300@0: vector sliders; rt300@0: rt300@0: double slowFactor; rt300@0: double zoomVel; // do the same rt300@0: double prevZoom, prevZoom2; rt300@5: TwoVector move, prevMove, prevMove2; rt300@0: rt300@0: vector sliderVals; rt300@3: vector freqIndexes; rt300@0: rt300@0: int numActiveTouches; rt300@27: bool preventingMovePostScroll; rt300@27: rt300@27: rt300@0: // rt300@0: rt300@16: void setup(); rt300@16: void update(); rt300@16: void draw(); rt300@16: void exit(); rt300@16: rt300@16: float getWidth(); rt300@16: float getHeight(); rt300@16: rt300@16: void touchDown(ofTouchEventArgs &touch); rt300@16: void touchMoved(ofTouchEventArgs &touch); rt300@16: void touchUp(ofTouchEventArgs &touch); rt300@16: void touchDoubleTap(ofTouchEventArgs &touch); rt300@16: void touchCancelled(ofTouchEventArgs &touch); rt300@0: rt300@1: void handleScroll(); rt300@1: void handleZoom(); rt300@1: rt300@0: vector vectorFilter(vector newVec); rt300@16: rt300@16: void lostFocus(); rt300@16: void gotFocus(); rt300@16: void gotMemoryWarning(); rt300@16: void deviceOrientationChanged(int newOrientation); rt300@16: rt300@16: ofxOscSender sender; rt300@0: void sendOSCParams(); rt300@0: rt300@27: void setupNewUser(); rt300@27: rt300@24: void lockSynthPressed(bool locked); rt300@24: void lockSequencerPressed(bool locked); rt300@24: rt300@16: void showQuestionnaire(); rt300@28: void questionnaireHidden(vector answers, const char* userComments); rt300@24: void showIntro(); rt300@24: void introHidden(bool OK); rt300@24: void interfaceSelected(int which); rt300@24: void seqStartStop(bool go); rt300@27: void showHelp(); rt300@27: void helpHidden(); rt300@24: rt300@24: void setupBottomGui(); rt300@24: void bottomGuiEvent(); rt300@24: void setupTopGui(); rt300@24: void topGuiEvent(); rt300@16: rt300@0: // stardard GUI - knbs and sliders - hides zoomer rt300@24: void sliderGUIEvent(ofxUIEventArgs &e); rt300@24: void setupSliderGui(); rt300@24: ofxUICanvas *sliderGUI; rt300@24: rt300@22: void sliderMoved(int which, float value); rt300@22: void setAllGUISliders(vector vals); rt300@25: void randomise(); rt300@0: rt300@0: // zoom gui - the swap view button and save preset button rt300@0: void zoomGUIEvent(ofxUIEventArgs &e); rt300@0: void setupZoomGui(); rt300@0: rt300@22: rt300@3: void sendParametersToPD(); rt300@3: void sendOscShape(int ctrlin); rt300@3: void sendFiltShape(int ctrlin); rt300@3: void sendFiltType(int ctrlin); rt300@3: void sendFiltFreq(int ctrlin); rt300@3: void sendEnvShape(int ctrlin); rt300@3: void sendModFreq(int ctrlin); rt300@0: rt300@0: ofxUICanvas *zoomGUI; rt300@0: rt300@2: // audio callbacks rt300@2: void audioReceived(float * input, int bufferSize, int nChannels); rt300@2: void audioRequested(float * output, int bufferSize, int nChannels); rt300@2: rt300@2: AppCore core; rt300@2: rt300@0: }; rt300@0: rt300@22: // should be off split into rt300@22: // GUI controller rt300@22: // parameter converter rt300@22: //