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