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