view src/drawMidiNotes.h @ 1:1a32ce016bb9

Changed bestEstimate timing to work via time sent from Max not the elapsed time. This had caused some problems, but this version now working surprisingly well on MIDI files with variable timing.
author Andrew N Robertson <andrew.robertson@eecs.qmul.ac.uk>
date Thu, 18 Aug 2011 23:27:42 +0100
parents b299a65a3ad0
children
line wrap: on
line source
/*
 *  drawMidiNotes.h
 *  midiCannamReader
 *
 *  Created by Andrew on 17/07/2011.
 *  Copyright 2011 QMUL. All rights reserved.
 *
 */


#include "ofMain.h"

class drawMidiNotes{
public:
	drawMidiNotes();
	void updatePlayPosition();
	
	typedef std::vector<double> DoubleVector;
	typedef std::vector<DoubleVector> DoubleMatrix;
	
	DoubleMatrix beatPeriodMatrix;
	
	typedef std::vector<int> IntVector;
	typedef std::vector<IntVector> IntMatrix;
	
	void drawFile(const IntMatrix& noteOnMatrix);
	void reset();
	
	int ticksPerScreen;
	int tickLocation;
	int noteArrayIndex;
	
	int noteMinimum, noteMaximum;
	int screenWidth, screenHeight;
	float noteHeight;
	float tempo;
	double period;
	int pulsesPerQuarternote;
	double lastPeriodUpdateTime;
					 
	
};