#pragma once

#include "ofMain.h"
#include "ofxTuringPattern.h"
#include "ofxTuringPattern_A.h"
#include "ofxTuringPattern_B.h"
#include "ofxTuringPattern_C.h"
#include "ofxTuringPattern_D.h"
#include "ofxFrontSide.h"
#include "ofxFront2.h"
#include "ofxVMixer.h"
#include "ofxGui.h"
#include "ofxAssimpModelLoader.h"
#include "ofxCenteredTrueTypeFont.h"

class ofApp : public ofBaseApp{
    
public:
    void setup();
    void update();
    void draw();
    
    void keyPressed(int key);
    void keyReleased(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 x, int y, int button);
    void mouseEntered(int x, int y);
    void mouseExited(int x, int y);
    void windowResized(int w, int h);
    void dragEvent(ofDragInfo dragInfo);
    void gotMessage(ofMessage msg);
    void TuringPatternInitordie();
        
    ofxTuringPattern TuringPattern;
    ofxTuringPattern_A TuringPattern_A;
    ofxTuringPattern_B TuringPattern_B;
    ofxTuringPattern_C TuringPattern_C;
    ofxTuringPattern_D TuringPattern_D;

	ofxFrontSide FrontSide;
	ofxFront2 Front2;
	ofxVMixer VMixer;


    ofImage noise;
	
	ofSoundPlayer mySound;

	ofxCenteredTrueTypeFont ttf;


    int width,height;
    float time;
};
