Mercurial > hg > screen-ui
diff src/melodyTriangle.h @ 22:4dcc4312b5fa
Bit of a tidy up, adding text display, added full screen toggle and window resize handler.
author | samer |
---|---|
date | Thu, 02 Feb 2012 18:17:24 +0000 |
parents | 9d7e139cd0a3 |
children | 460c05dd74d0 |
line wrap: on
line diff
--- a/src/melodyTriangle.h Wed Feb 01 16:17:32 2012 +0000 +++ b/src/melodyTriangle.h Thu Feb 02 18:17:24 2012 +0000 @@ -5,15 +5,15 @@ #include "ofxOsc.h" - - +#define MAX_VOICES 10 class melodyTriangle : public ofBaseApp{ public: melodyTriangle(const char *host, int port, int numVoices, bool enableKeys, int voiceIdOffset, int receivePort); - + ~melodyTriangle(); + void setup(); void update(); void draw(); @@ -25,28 +25,36 @@ void mousePressed(int x, int y, int button); void mouseReleased(int x, int y, int button); void windowResized(int w, int h); - int numVoices; - int voiceIdOffset; - bool enableKeys; - float counter; - bool bSmooth; - Voice *voices[10]; - - int x1,y1,x2,y2,x3,y3;//Triangle Coords - int triangleHeight; - int voiceGrabbed; - void sendPosition(Voice v); + + private: + // private methods + void sendReplyTo(); void sendCalibrate(); + void sendPosition(Voice v); void sendPeriod(int id, int num, int den); void sendShift(int id, int num, int den); void sendOctave(int id, int oct); void sendAmplitude(int id, float amp); + bool clipToTriangle(int *cx, int *cy); + void fitTriangleIn(int w, int h); + void handleMessage(ofxOscMessage &m); + + // Immutable after construction and setup + ofxOscSender sender; + ofxOscReceiver receiver; + int receivePort; // for sending /reply_to message + int numVoices; + bool enableKeys; + // somewhat mutable (on window resize) + int x1,y1,x2,y2,x3,y3; // Triangle Coords + int DX13, DY13, SQLEN13; // to optimise clipping - private: - ofxOscSender sender; - ofxOscReceiver receiver; - int DX13, DY13, SQLEN13; - - bool clipToTriangle(int *cx, int *cy); + // mutable state + Voice *voices[MAX_VOICES]; + int voiceGrabbed; + ofTrueTypeFont display_font; + string display_msg; + int display_frames; + bool constrained; };