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;
 };