view annotationCalculatorSrc/testApp.h @ 45:d23685b9e766

Fixed the alignment error caluculations and added histogram plotting
author Andrew N Robertson <andrew.robertson@eecs.qmul.ac.uk>
date Tue, 08 May 2012 21:53:11 +0100
parents b7ad807c9cde
children ba36a1721538
line wrap: on
line source
#pragma once

#include "ofMain.h"
#include "BeatAnnotationReader.h"
#include "PlotTools.h"
#include "MatchMultitrackAnnotationReader.h"
#include "Histogram.h"

#define NUMBER_OF_SCREENS 3
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 dragEvent(ofDragInfo dragInfo);
		void gotMessage(ofMessage msg);
	
	typedef vector<double> DoubleVector;
	typedef vector<DoubleVector> DoubleMatrix;
	DoubleMatrix GroundTruth;
	
	BeatAnnotationReader beatReader;
	
	void drawAlignmentVectors();
	
	PlotTools plotter;
	
	double xPlotMin, xPlotMax, yPlotMin, yPlotMax;
	void getYvalues();
	void printPlotValues();
	
	std::string matchPath;
	MatchMultitrackAnnotationReader matchNotations;
		
	Histogram multiHistogram;
	Histogram matchHistogram;
	
	int screenToDraw;
	int histogramWidth, histogramBinNumber;
	
};