view hackday/MidiInputStream.h @ 52:13194a9dca77 tip

Added exporting of image and text data
author Andrew N Robertson <andrew.robertson@eecs.qmul.ac.uk>
date Tue, 17 Jul 2012 22:13:10 +0100
parents 179365726f07
children
line wrap: on
line source
/*
 *  MidiInputStream.h
 *  MuseScoreMidiFollower
 *
 *  Created by Andrew on 03/12/2011.
 *  Copyright 2011 QMUL. All rights reserved.
 *
 */

#ifndef MIDI_INPUT_STREAM
#define MIDI_INPUT_STREAM

#include "ofMain.h"
#include "ofxMidi.h"
#include "midiEventHolder.h"
//WOULD BE GOOD TO USE STD CONSTANTS here
//#include "MIDIFileReader.h"
//using namespace MIDIConstants;

class MidiInputStream{
	
public:
	MidiInputStream();
	bool noteInReceived(ofxMidiEventArgs &args);
	void reset();
	void printNotes();
	int endNote(int notePitch);	
	
	typedef std::vector<int> IntVector;
	typedef std::vector<IntVector> IntMatrix;

	typedef std::vector<double> DoubleVector;
	DoubleVector eventTimesForNote;
	
	double calculateTotalScore(midiEventHolder& midiEvents);
	
	IntMatrix midiInputEvents;
	DoubleVector midiInputTimes;
	IntVector v;
	IntVector totalNotesRecievedByPitch;
	void newNoteCounted(const int& pitch);
	void printTotalCount();
	
	double* startTime;
	midiEventHolder* eventHolder;
	
	int* transposeVal;
	
	double* factor;
	
};
#endif