#ifndef _TEST_APP
#define _TEST_APP

#include "ofMain.h"

#include "videoLineModule.h"
#include "graphicsLineModule.h"

#include "lineRecorder.h"

#include "sinWaveModule.h"
#include "bounceModule.h"
#include "gravityModule.h"
#include "oldMaedaModule.h"
#include "loopModule.h"
#include "lineWaveModule.h"
#include "lineWalkModule.h"

#define MAX_NUM_BOXES		200



class testApp : public ofSimpleApp{
	
	public:
		
		void setup();
		void update();
		void draw();
		
		void keyPressed  (int key);
		void mouseMoved(int x, int y );
		void mouseDragged(int x, int y, int button);
		void mousePressed(int x, int y, int button);
		void mouseReleased();
		
		int 				nBoxes;
		simpleLineModule 	*LM[MAX_NUM_BOXES];
		
		int 				* orderShuffled;	
		
		int 				moduleCounter;
		int 				currentModule;
		int 				prevModule;
		lineRecorder		LR;
		
		//--------------------------------------------------
		//
		// 			camera code:
		// 	
		float 		angleTarget;
		ofVec3f 	posSmooth;
		float 		rotSmooth;
		float 		rotationOfBox;	// to calc smoother rotations
		//--------------------------------------------------
		
		bool 			bRideLine;
		bool 			bAdjustRotation;
};

#endif	