andrew@43: /* andrew@43: * BeatAnnotationReader.h andrew@43: * annotationResultCalculator andrew@43: * andrew@43: * Created by Andrew on 03/05/2012. andrew@43: * Copyright 2012 QMUL. All rights reserved. andrew@43: * andrew@43: */ andrew@43: andrew@43: #ifndef BEAT_ANNOTATION_READER andrew@43: #define BEAT_ANNOTATION_READER andrew@43: andrew@43: #include "ofMain.h" andrew@43: andrew@43: // basic file operations for text file stuff andrew@43: #include andrew@43: #include andrew@43: using namespace std; andrew@43: andrew@43: andrew@43: class BeatAnnotationReader{ andrew@43: public: andrew@43: typedef std::vector DoubleVector; andrew@43: DoubleVector beatTimes; andrew@45: DoubleVector errors; andrew@46: DoubleVector absoluteErrors; andrew@43: andrew@43: typedef std::vector DoubleMatrix; andrew@43: DoubleMatrix alignmentTimes; andrew@43: andrew@43: void readInBeatsFile(std::string& pathName); andrew@43: void printBeatTimes(); andrew@43: andrew@43: void readInMultiAlignmentFile(std::string pathName); andrew@45: andrew@45: andrew@45: // typedef vector DoubleMatrix; andrew@45: double calculateMedianError(const DoubleVector& liveBeatTimes, const DoubleVector& groundTruthAlignment); andrew@45: double calculateMedianError(const DoubleVector& liveBeatTimes, const DoubleVector& groundTruthAlignment, const DoubleVector& alignmentLiveTimes, const DoubleVector& alignmentRehearsalTimes); andrew@45: andrew@45: //double getAlignmentErrorAtTime(const double& liveTime); andrew@43: }; andrew@43: #endif