annotate hackday/MidiInputStream.h @ 24:5a11b19906c7

hackday code is added.
author Andrew N Robertson <andrew.robertson@eecs.qmul.ac.uk>
date Sat, 03 Dec 2011 17:19:43 +0000
parents
children 179365726f07
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@24 35 IntMatrix midiInputEvents;
andrew@24 36 DoubleVector midiInputTimes;
andrew@24 37 IntVector v;
andrew@24 38
andrew@24 39 double* startTime;
andrew@24 40 midiEventHolder* eventHolder;
andrew@24 41
andrew@24 42 int* transposeVal;
andrew@24 43
andrew@24 44 double* factor;
andrew@24 45
andrew@24 46 };
andrew@24 47 #endif