Mercurial > hg > midi-score-follower
annotate hackday/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 | 9a70d9abdc8b |
children |
rev | line source |
---|---|
andrew@24 | 1 /* |
andrew@24 | 2 * CannamMidiFileLoader.h |
andrew@24 | 3 * midi-score-follower |
andrew@24 | 4 * |
andrew@24 | 5 * Created by Chris Cannam on 19/08/2011. |
andrew@24 | 6 * Copyright 2011 QMUL. All rights reserved. |
andrew@24 | 7 * |
andrew@24 | 8 */ |
andrew@24 | 9 |
andrew@24 | 10 #ifndef CANNAM_MIDI_FILE_LOADER |
andrew@24 | 11 #define CANNAM_MIDI_FILE_LOADER |
andrew@24 | 12 |
andrew@24 | 13 #include "MIDIFileReader.h" |
andrew@24 | 14 //#include "MIDIEvent.h" |
andrew@24 | 15 #include "midiEventHolder.h" |
andrew@24 | 16 using namespace MIDIConstants; |
andrew@24 | 17 |
andrew@24 | 18 class CannamMidiFileLoader{ |
andrew@24 | 19 |
andrew@24 | 20 public: |
andrew@24 | 21 CannamMidiFileLoader(); |
andrew@24 | 22 |
andrew@31 | 23 typedef std::vector<double> DoubleVector; |
andrew@31 | 24 |
andrew@24 | 25 int loadFile(std::string& filename, midiEventHolder& myMidiEvents); |
andrew@24 | 26 |
andrew@24 | 27 void createEventTiming( midiEventHolder& myMidiEvents); |
andrew@24 | 28 void setTempoFromMidiValue(long tempo, midiEventHolder& myMidiEvents); |
andrew@24 | 29 double firstNoteTime; |
andrew@24 | 30 int firstTickTime; |
andrew@24 | 31 bool chopBeginning; |
andrew@24 | 32 |
andrew@24 | 33 typedef std::vector<int> IntVector; |
andrew@24 | 34 IntVector v; |
andrew@24 | 35 int noteOnIndex; |
andrew@24 | 36 |
andrew@25 | 37 int ticksPerMeasure; |
andrew@25 | 38 void newTimeSignature(int ticks, int numerator, int denominator, midiEventHolder& myMidiEvents); |
andrew@25 | 39 void updateMeasureToTickPosition(int ticks, midiEventHolder& myMidiEvents); |
andrew@24 | 40 bool printMidiInfo; |
andrew@25 | 41 void printMeasuresSoFar(midiEventHolder& myMidiEvents); |
andrew@31 | 42 void correctMeasuresTiming(midiEventHolder& myMidiEvents); |
andrew@24 | 43 |
andrew@24 | 44 }; |
andrew@24 | 45 #endif |