view src/testApp.h @ 11:df9c838d0b8f

fixed bug where the full midi file was sometimes not drawn (since minNoteIndexToPrint) was at the max and did not decrease properly in draw routine
author Andrew N Robertson <andrew.robertson@eecs.qmul.ac.uk>
date Tue, 25 Oct 2011 15:01:52 +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