andrew@1: /* andrew@1: * RecordedMultitrackAudio.h andrew@1: * MultipleAudioMathcher andrew@1: * andrew@1: * Created by Andrew on 31/01/2012. andrew@1: * Copyright 2012 QMUL. All rights reserved. andrew@1: * andrew@1: */ andrew@1: andrew@1: andrew@1: #ifndef RECORDED_MULTITRACK_AUDIO_H andrew@1: #define RECORDED_MULTITRACK_AUDIO_H andrew@1: andrew@1: andrew@1: #include "ofMain.h" andrew@1: #include "ChromaOnset.h" andrew@1: #include "LoadedAudioHolder.h" andrew@1: andrew@1: /* andrew@1: struct AudioEvent { andrew@1: double millisTime; andrew@1: double frameTime; andrew@1: double pitch; andrew@1: int type; andrew@1: }; andrew@1: */ andrew@1: andrew@1: class RecordedMultitrackAudio{ andrew@1: andrew@1: public: andrew@1: andrew@1: andrew@1: void loadTestAudio(); andrew@1: void updatePosition(); andrew@9: void updatePositionToMillis(const double& millis); andrew@50: void updatePlaybackPositionToMillis(const double& millis); andrew@50: andrew@1: void drawTracks(); andrew@1: void switchScreens(); andrew@1: void togglePlay(); andrew@1: andrew@1: void stop(); andrew@1: void printInfo(); andrew@1: void windowResized(const int& w, const int& h); andrew@1: void zoomIn(); andrew@1: void zoomOut(); andrew@23: void setDifferentMultitracks(const int& setToLoad); andrew@23: void loadAudioTrack(std::string name, const int& channel); andrew@3: // void matchNewPitchEvent(const int& channel, const double& pitchIn, const double& timeIn); andrew@2: andrew@3: // bool checkMatch(const double& recordedPitch, const double& livePitch); andrew@2: andrew@1: //variables andrew@1: int numberOfAudioTracks; andrew@1: LoadedAudioHolder* loadedAudioPtr; andrew@1: LoadedAudioHolder loadedAudioFiles[5]; andrew@2: andrew@7: double trackScreenHeight; andrew@2: andrew@1: }; andrew@1: #endif