Mercurial > hg > midi-score-follower
view jnmr/CannamMidiFileLoader.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 | 6cd3e0075adf |
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; void chopBeginningfromEvents(midiEventHolder& myMidiEvents); 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); double fileDuration; float beatsPerMeasure; float numberOfBeatsAtLastPosition; int lastBeatPosition; double getBeatPositionForTickCount(long t, midiEventHolder& myMidiEvents); void printUpToIndex(const int& index, midiEventHolder& midiEvents); }; #endif