view src/testApp.h @ 5:195907bb8bb7

added purple where notes have been seen - lets you see what updates have been used. Also the chopping of midi files to the beginning was introduced recently, so when they load, you chop any white space at the beginning, then use first note to launch.
author Andrew N Robertson <andrew.robertson@eecs.qmul.ac.uk>
date Fri, 19 Aug 2011 16:38:30 +0100
parents 5581023e0de4
children
line wrap: on
line source
#ifndef _TEST_APP
#define _TEST_APP


//midieventholder - newMidiEvents() sent there
//create cannamMidiLoader for cannamMainfunction


//check new prior offset function - how is used?



//check the widening function - adding decay noise
//ticksperscreen could be better as millis per screen



//uses ftmMidiPlay in max5 via osc to communicate notes in

#include "ofMain.h"

#include "MIDIFileReader.h"
#include "ofxFileDialogOSX.h"
#include "drawMidiNotes.h"
#include "DynamicBayesianArray.h"
#include "CannamMidiFileLoader.h"
#include <iostream>
#include "midiEventHolder.h"

#include "ofxOsc.h"
#define PORT 12121

using namespace std;
using namespace MIDIConstants;

class testApp : 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 windowResized(int w, int h);

	void startPlaying();
	void stopPlaying();
	bool getFilenameFromDialogBox(string* fileNameToSave);

	typedef std::vector<int> IntVector;
	typedef std::vector<double> DoubleVector;
//	typedef std::vector<IntVector> IntMatrix;	
	IntVector v;

	midiEventHolder midiEvents;
	
	int cannamMainFunction();
	string midiFileName;

	bool playing;
	//drawMidiNotes drawer;
	
//	BayesianArrayStructure bayesStruct;
	
	int screenWidth, screenHeight;
	CannamMidiFileLoader fileLoader;
	
private:
	ofxOscReceiver	receiver;
	

	
};

#endif