annotate DrumTimingLoader_OF/ofxAudioFileLoader/LoadedAudioHolder.cpp @ 2:50ba55abea8c

updating files to newer version
author Andrew N Robertson <andrew.robertson@eecs.qmul.ac.uk>
date Sat, 23 Nov 2013 15:49:27 +0000
parents 82352cfc0b23
children
rev   line source
andrew@0 1 /*
andrew@0 2 * LoadedAudioHolder.cpp
andrew@0 3 * fileLoaderAndOnsetDetection
andrew@0 4 *
andrew@0 5 * Created by Andrew on 28/01/2012.
andrew@0 6 * Copyright 2012 QMUL. All rights reserved.
andrew@0 7 *
andrew@0 8 */
andrew@0 9
andrew@0 10 #include "LoadedAudioHolder.h"
andrew@0 11
andrew@0 12 LoadedAudioHolder::LoadedAudioHolder(){
andrew@0 13 audioPaused = true;
andrew@0 14 audioPlaying = false;
andrew@0 15 trackType = 0;
andrew@0 16 }
andrew@0 17
andrew@0 18 void LoadedAudioHolder::updateToPlayPosition(){
andrew@0 19 fileLoader.updateToAudioPosition(loadedAudio.getPosition());
andrew@0 20 }
andrew@0 21
andrew@0 22 void LoadedAudioHolder::updateToMillisPosition(const double& millis){
andrew@0 23 fileLoader.updateToMillisPosition(millis);
andrew@0 24 }
andrew@0 25
andrew@0 26 void LoadedAudioHolder::updatePlaybackPositionToMillis(const double& millis){
andrew@0 27 printf("updatePlay %f", millis * 44.1 / (double) fileLoader.totalNumberOfSamples );
andrew@0 28
andrew@0 29 loadedAudio.setPosition(millis * 44.1 / (double) fileLoader.totalNumberOfSamples );
andrew@0 30 }
andrew@0 31
andrew@0 32 void LoadedAudioHolder::draw(){
andrew@0 33 fileLoader.drawFile();
andrew@0 34 }
andrew@0 35
andrew@0 36 void LoadedAudioHolder::loadAudioFile(string soundFileName){
andrew@0 37 loadedAudio.loadSound(soundFileName);
andrew@0 38 fileLoader.loadNewAudio(soundFileName);
andrew@0 39 audioPlaying = false;
andrew@0 40 loadedFileName = soundFileName;
andrew@0 41 copyOnsetTimes();
andrew@0 42
andrew@0 43 }
andrew@0 44
andrew@0 45 void LoadedAudioHolder::copyOnsetTimes(){
andrew@0 46
andrew@0 47 onsetTimesMillis.clear();
andrew@2 48 onsetTimesFrames.clear();
andrew@0 49
andrew@2 50 for (int i = 0;i < fileLoader.onsetDetect.chromaOnsets.size();i++){
andrew@0 51 onsetTimesMillis.push_back(fileLoader.onsetDetect.chromaOnsets[i].millisTime);
andrew@2 52 onsetTimesFrames.push_back(fileLoader.onsetDetect.chromaOnsets[i].frameTime);
andrew@2 53 }
andrew@0 54
andrew@0 55 }
andrew@0 56
andrew@0 57 void LoadedAudioHolder::setTrackType(const int& i){
andrew@0 58 fileLoader.onsetDetect.trackType = i;
andrew@0 59 trackType = i;
andrew@0 60 }
andrew@0 61
andrew@0 62 void LoadedAudioHolder::togglePlay(){
andrew@0 63 if (!audioPlaying) {
andrew@0 64 loadedAudio.play();
andrew@0 65 loadedAudio.setPaused(false);
andrew@0 66 audioPlaying = true;
andrew@0 67 audioPaused = false;
andrew@0 68 printf("playing %s\n", loadedFileName.c_str());
andrew@0 69 }
andrew@0 70 else{
andrew@0 71 audioPaused = !audioPaused;
andrew@0 72 loadedAudio.setPaused(audioPaused);
andrew@0 73 }
andrew@0 74 }
andrew@0 75
andrew@0 76 void LoadedAudioHolder::stop(){
andrew@0 77 audioPlaying = false;
andrew@0 78 loadedAudio.setPaused(true);
andrew@0 79 loadedAudio.setPosition(0.0);
andrew@0 80 }
andrew@0 81
andrew@0 82 void LoadedAudioHolder::switchScreens(){
andrew@0 83 fileLoader.screenToDraw = 1 - fileLoader.screenToDraw;
andrew@0 84 }
andrew@0 85
andrew@0 86 void LoadedAudioHolder::windowResized(const int& w, const int& h){
andrew@0 87 fileLoader.onsetDetect.windowResized(w, h);
andrew@0 88 }
andrew@0 89
andrew@0 90
andrew@0 91 void LoadedAudioHolder::printEvents(){
andrew@0 92 for (int i = 0;i < fileLoader.onsetDetect.chromaOnsets.size();i++){
andrew@0 93 printf("Event time %f millis %i frames pitch %f\n", fileLoader.onsetDetect.chromaOnsets[i].millisTime,
andrew@0 94 fileLoader.onsetDetect.chromaOnsets[i].frameTime, fileLoader.onsetDetect.chromaOnsets[i].aubioPitch);
andrew@0 95 }
andrew@0 96 }