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