Mercurial > hg > midi-score-follower
view hackday/CannamMidiFileLoader.h @ 33:fa527df85c2c
Added the JNMR code which now features chopping after loading all events, easier that way
author | Andrew N Robertson <andrew.robertson@eecs.qmul.ac.uk> |
---|---|
date | Mon, 12 Dec 2011 12:46:17 +0000 |
parents | 9a70d9abdc8b |
children |
line wrap: on
line source
/* * CannamMidiFileLoader.h * midi-score-follower * * Created by Chris Cannam on 19/08/2011. * Copyright 2011 QMUL. All rights reserved. * */ #ifndef CANNAM_MIDI_FILE_LOADER #define CANNAM_MIDI_FILE_LOADER #include "MIDIFileReader.h" //#include "MIDIEvent.h" #include "midiEventHolder.h" using namespace MIDIConstants; class CannamMidiFileLoader{ public: CannamMidiFileLoader(); typedef std::vector<double> DoubleVector; int loadFile(std::string& filename, midiEventHolder& myMidiEvents); void createEventTiming( midiEventHolder& myMidiEvents); void setTempoFromMidiValue(long tempo, midiEventHolder& myMidiEvents); double firstNoteTime; int firstTickTime; bool chopBeginning; typedef std::vector<int> IntVector; IntVector v; int noteOnIndex; int ticksPerMeasure; void newTimeSignature(int ticks, int numerator, int denominator, midiEventHolder& myMidiEvents); void updateMeasureToTickPosition(int ticks, midiEventHolder& myMidiEvents); bool printMidiInfo; void printMeasuresSoFar(midiEventHolder& myMidiEvents); void correctMeasuresTiming(midiEventHolder& myMidiEvents); }; #endif