annotate src/MatchMarkers.cpp @ 50:93d21c20cfbc

Added Markers and the ability to switch to these points in the file when playing
author Andrew N Robertson <andrew.robertson@eecs.qmul.ac.uk>
date Thu, 14 Jun 2012 20:04:49 +0100
parents
children 6f6461b0d07f
rev   line source
andrew@50 1 /*
andrew@50 2 * MatchMarkers.cpp
andrew@50 3 * MultipleAudioMathcher
andrew@50 4 *
andrew@50 5 * Created by Andrew on 14/06/2012.
andrew@50 6 * Copyright 2012 QMUL. All rights reserved.
andrew@50 7 *
andrew@50 8 */
andrew@50 9
andrew@50 10 #include "MatchMarkers.h"
andrew@50 11
andrew@50 12 MatchMarkers::MatchMarkers(){
andrew@50 13
andrew@50 14 }
andrew@50 15
andrew@50 16
andrew@50 17 void MatchMarkers::addMarker(const double& markerTime){
andrew@50 18 int i = 0;
andrew@50 19 while (i < markers.size() && markers[i] < markerTime){
andrew@50 20 i++;
andrew@50 21 }
andrew@50 22 vector<double>::iterator it;
andrew@50 23 it = markers.begin();
andrew@50 24 markers.insert(it + i, markerTime);
andrew@50 25
andrew@50 26 printf("\n");
andrew@50 27 for (i = 0;i< markers.size();i++)
andrew@50 28 printf("marker[%i] %f\n", i, markers[i]);
andrew@50 29
andrew@50 30 }
andrew@50 31
andrew@50 32
andrew@50 33 void MatchMarkers::deleteMarker(const int& markerIndex){
andrew@50 34 if (markerIndex >= 0 && markerIndex < markers.size()){
andrew@50 35 vector<double>::iterator it;
andrew@50 36 it = markers.begin();
andrew@50 37 markers.erase(it+markerIndex);
andrew@50 38 }
andrew@50 39 }
andrew@50 40
andrew@50 41 void MatchMarkers::saveMarkers(){
andrew@50 42 std::string filePath = "../../../data/markers.txt";
andrew@50 43 saveMarkers(filePath);
andrew@50 44
andrew@50 45 }
andrew@50 46
andrew@50 47 void MatchMarkers::saveMarkers(const std::string& filePath){
andrew@50 48 if (!markerOutputFile.is_open()){
andrew@50 49 markerOutputFile.open(filePath.c_str());
andrew@50 50 for (int i = 0;i < markers.size();i++){
andrew@50 51 markerOutputFile << markers[i] << endl;
andrew@50 52 }
andrew@50 53 markerOutputFile.close();
andrew@50 54 }
andrew@50 55
andrew@50 56 }
andrew@50 57