Mercurial > hg > midi-score-follower
annotate 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 |
rev | line source |
---|---|
andrew@24 | 1 /* |
andrew@24 | 2 * MidiInputStream.h |
andrew@24 | 3 * MuseScoreMidiFollower |
andrew@24 | 4 * |
andrew@24 | 5 * Created by Andrew on 03/12/2011. |
andrew@24 | 6 * Copyright 2011 QMUL. All rights reserved. |
andrew@24 | 7 * |
andrew@24 | 8 */ |
andrew@24 | 9 |
andrew@24 | 10 #ifndef MIDI_INPUT_STREAM |
andrew@24 | 11 #define MIDI_INPUT_STREAM |
andrew@24 | 12 |
andrew@24 | 13 #include "ofMain.h" |
andrew@24 | 14 #include "ofxMidi.h" |
andrew@24 | 15 #include "midiEventHolder.h" |
andrew@24 | 16 //WOULD BE GOOD TO USE STD CONSTANTS here |
andrew@24 | 17 //#include "MIDIFileReader.h" |
andrew@24 | 18 //using namespace MIDIConstants; |
andrew@24 | 19 |
andrew@24 | 20 class MidiInputStream{ |
andrew@24 | 21 |
andrew@24 | 22 public: |
andrew@24 | 23 MidiInputStream(); |
andrew@24 | 24 bool noteInReceived(ofxMidiEventArgs &args); |
andrew@24 | 25 void reset(); |
andrew@24 | 26 void printNotes(); |
andrew@24 | 27 int endNote(int notePitch); |
andrew@24 | 28 |
andrew@24 | 29 typedef std::vector<int> IntVector; |
andrew@24 | 30 typedef std::vector<IntVector> IntMatrix; |
andrew@24 | 31 |
andrew@24 | 32 typedef std::vector<double> DoubleVector; |
andrew@24 | 33 DoubleVector eventTimesForNote; |
andrew@24 | 34 |
andrew@26 | 35 double calculateTotalScore(midiEventHolder& midiEvents); |
andrew@26 | 36 |
andrew@24 | 37 IntMatrix midiInputEvents; |
andrew@24 | 38 DoubleVector midiInputTimes; |
andrew@24 | 39 IntVector v; |
andrew@26 | 40 IntVector totalNotesRecievedByPitch; |
andrew@26 | 41 void newNoteCounted(const int& pitch); |
andrew@26 | 42 void printTotalCount(); |
andrew@26 | 43 |
andrew@24 | 44 double* startTime; |
andrew@24 | 45 midiEventHolder* eventHolder; |
andrew@24 | 46 |
andrew@24 | 47 int* transposeVal; |
andrew@24 | 48 |
andrew@24 | 49 double* factor; |
andrew@24 | 50 |
andrew@24 | 51 }; |
andrew@24 | 52 #endif |