Mercurial > hg > multitrack-audio-matcher
comparison src/RecordedMultitrackAudio.cpp @ 23:bc113cd60a2f
tmp mistake
| author | Andrew N Robertson <andrew.robertson@eecs.qmul.ac.uk> |
|---|---|
| date | Mon, 13 Feb 2012 14:58:53 +0000 |
| parents | 24c413f0f2c5 |
| children | 9df5449077bb |
comparison
equal
deleted
inserted
replaced
| 22:24c413f0f2c5 | 23:bc113cd60a2f |
|---|---|
| 10 #include "RecordedMultitrackAudio.h" | 10 #include "RecordedMultitrackAudio.h" |
| 11 | 11 |
| 12 | 12 |
| 13 void RecordedMultitrackAudio::loadTestAudio(){ | 13 void RecordedMultitrackAudio::loadTestAudio(){ |
| 14 | 14 |
| 15 | |
| 15 | 16 |
| 16 /* const char *kickfilename = "../../../data/sound/LiveDues/kick_liveDues.wav"; | |
| 17 const char *bassfilename = "../../../data/sound/LiveDues/bass_upsideLive.wav"; | |
| 18 const char *snarefilename = "../../../data/sound/LiveDues/snare_liveDues.wav"; | |
| 19 */ | |
| 20 /* | |
| 21 const char *kickfilename = "../../../data/sound/DiamondMatch1/kick_bip.wav"; | |
| 22 const char *bassfilename = "../../../data/sound/DiamondMatch1/bass_bip.wav"; | |
| 23 const char *snarefilename = "../../../data/sound/DiamondMatch1/snare_bip.wav"; | |
| 24 */ | |
| 25 const char *kickfilename = "../../../data/sound/LiveIdiot2/02kick_bip.wav"; | |
| 26 const char *bassfilename = "../../../data/sound/LiveIdiot2/01bass_bip.wav"; | |
| 27 const char *snarefilename = "../../../data/sound/LiveIdiot2/03snare_bip.wav"; | |
| 28 | |
| 29 /* const char *kickfilename = "../../../data/sound/UistLive1/02kick_bip.wav"; | |
| 30 const char *bassfilename = "../../../data/sound/UistLive1/01bass_bip.wav"; | |
| 31 const char *snarefilename = "../../../data/sound/UistLive1/03snare_bip.wav"; | |
| 32 */ | |
| 33 //"../../../data/sound/basicClavScale.wav"; | 17 //"../../../data/sound/basicClavScale.wav"; |
| 34 | 18 |
| 35 //LoadedAudioHolder lah; | 19 //LoadedAudioHolder lah; |
| 36 // lah.loadAudioFile(infilename); | 20 // lah.loadAudioFile(infilename); |
| 37 // loadedAudioFiles.push_back(lah); | 21 // loadedAudioFiles.push_back(lah); |
| 39 trackScreenHeight = 0.15; | 23 trackScreenHeight = 0.15; |
| 40 //Take care here - we need a pointer to create new instance | 24 //Take care here - we need a pointer to create new instance |
| 41 //but not then delete the instance before the vector of all audio tracks has been used | 25 //but not then delete the instance before the vector of all audio tracks has been used |
| 42 //the above code using lah has problem that it deletes objects once out of the scope of testApp.setup() | 26 //the above code using lah has problem that it deletes objects once out of the scope of testApp.setup() |
| 43 //when lah is in theory no longer used - something like that possible? - at least pointers to onset detection seem deleted | 27 //when lah is in theory no longer used - something like that possible? - at least pointers to onset detection seem deleted |
| 28 /* | |
| 44 loadedAudioPtr = new LoadedAudioHolder(); | 29 loadedAudioPtr = new LoadedAudioHolder(); |
| 45 loadedAudioPtr->loadAudioFile(kickfilename); | 30 loadedAudioPtr->loadAudioFile(kickfilename); |
| 46 // loadedAudioFiles.push_back(*loadedAudioPtr); | |
| 47 loadedAudioFiles[0] = *loadedAudioPtr; | 31 loadedAudioFiles[0] = *loadedAudioPtr; |
| 48 | |
| 49 loadedAudioFiles[0].fileLoader.onsetDetect.window.setToRelativeSize(0, 0.0, 1, trackScreenHeight); | 32 loadedAudioFiles[0].fileLoader.onsetDetect.window.setToRelativeSize(0, 0.0, 1, trackScreenHeight); |
| 50 loadedAudioFiles[0].setTrackType(0);// fileLoader.onsetDetect.trackType = 0; | 33 loadedAudioFiles[0].setTrackType(0);// fileLoader.onsetDetect.trackType = 0; |
| 51 | 34 */ |
| 52 // printf("Loaded audio %i\n", (int)numberOfAudioTracks); | 35 // printf("Loaded audio %i\n", (int)numberOfAudioTracks); |
| 53 printf("loaded max val is %f\n", loadedAudioFiles[0].fileLoader.onsetDetect.onsetDetector.maximumDetectionValue); | 36 printf("loaded max val is %f\n", loadedAudioFiles[0].fileLoader.onsetDetect.onsetDetector.maximumDetectionValue); |
| 54 | 37 |
| 55 printf("BEFORE LOADING 1\n"); | 38 printf("BEFORE LOADING 1\n"); |
| 56 printInfo(); | 39 printInfo(); |
| 57 | 40 |
| 58 loadedAudioPtr = new LoadedAudioHolder; | 41 setDifferentMultitracks(1); |
| 59 loadedAudioPtr->loadAudioFile(bassfilename); | |
| 60 // loadedAudioFiles.push_back(*loadedAudioPtr); | |
| 61 loadedAudioFiles[1] = *loadedAudioPtr; | |
| 62 loadedAudioFiles[1].fileLoader.onsetDetect.window.setToRelativeSize(0, trackScreenHeight, 1, trackScreenHeight); | |
| 63 loadedAudioFiles[1].setTrackType(1); | |
| 64 | 42 |
| 65 | |
| 66 | |
| 67 loadedAudioPtr = new LoadedAudioHolder; | |
| 68 loadedAudioPtr->loadAudioFile(snarefilename); | |
| 69 // loadedAudioFiles.push_back(*loadedAudioPtr); | |
| 70 loadedAudioFiles[2] = *loadedAudioPtr; | |
| 71 loadedAudioFiles[2].fileLoader.onsetDetect.window.setToRelativeSize(0, trackScreenHeight*2, 1, trackScreenHeight); | |
| 72 loadedAudioFiles[2].setTrackType(2); | |
| 73 | |
| 74 | |
| 75 printf("AFTER LOADING 1\n"); | 43 printf("AFTER LOADING 1\n"); |
| 76 printInfo(); | 44 printInfo(); |
| 77 | 45 |
| 78 numberOfAudioTracks = 3; | 46 numberOfAudioTracks = 3; |
| 79 | 47 |
| 80 | 48 |
| 49 } | |
| 50 | |
| 51 void RecordedMultitrackAudio::setDifferentMultitracks(const int& setToLoad){ | |
| 52 const char *kickfilename ;//= "../../../data/sound/LiveDues/kick_liveDues.wav"; | |
| 53 const char *bassfilename ;//"../../../data/sound/LiveDues/bass_upsideLive.wav"; | |
| 54 const char *snarefilename ; | |
| 55 | |
| 56 switch (setToLoad) { | |
| 57 case 0: | |
| 58 | |
| 59 kickfilename = "../../../data/sound/LiveDues/kick_liveDues.wav"; | |
| 60 bassfilename = "../../../data/sound/LiveDues/bass_upsideLive.wav"; | |
| 61 snarefilename = "../../../data/sound/LiveDues/snare_liveDues.wav"; | |
| 62 | |
| 63 | |
| 64 | |
| 65 break; | |
| 66 case 1: | |
| 67 | |
| 68 kickfilename = "../../../data/sound/DiamondMatch1/kick_bip.wav"; | |
| 69 bassfilename = "../../../data/sound/DiamondMatch1/bass_bip.wav"; | |
| 70 snarefilename = "../../../data/sound/DiamondMatch1/snare_bip.wav"; | |
| 71 | |
| 72 | |
| 73 case 2: | |
| 74 kickfilename = "../../../data/sound/LiveIdiot2/02kick_bip.wav"; | |
| 75 bassfilename = "../../../data/sound/LiveIdiot2/01bass_bip.wav"; | |
| 76 snarefilename = "../../../data/sound/LiveIdiot2/03snare_bip.wav"; | |
| 77 | |
| 78 break; | |
| 79 case 3: | |
| 80 | |
| 81 kickfilename = "../../../data/sound/UistLive1/02kick_bip.wav"; | |
| 82 bassfilename = "../../../data/sound/UistLive1/01bass_bip.wav"; | |
| 83 snarefilename = "../../../data/sound/UistLive1/03snare_bip.wav"; | |
| 84 | |
| 85 break; | |
| 86 } | |
| 87 loadAudioTrack(kickfilename, 0); | |
| 88 loadAudioTrack(bassfilename, 1); | |
| 89 loadAudioTrack(snarefilename, 2); | |
| 90 | |
| 91 | |
| 92 } | |
| 93 | |
| 94 void RecordedMultitrackAudio::loadAudioTrack(std::string name, const int& channel){ | |
| 95 //kick - track type 0 | |
| 96 //bass - type 1 | |
| 97 //snare type 2 | |
| 98 if (channel >= 0 && channel <= 4){ | |
| 99 loadedAudioPtr = new LoadedAudioHolder; | |
| 100 loadedAudioPtr->loadAudioFile(name); | |
| 101 loadedAudioFiles[channel] = *loadedAudioPtr; | |
| 102 loadedAudioFiles[channel].fileLoader.onsetDetect.window.setToRelativeSize(0, trackScreenHeight*channel, 1, trackScreenHeight); | |
| 103 loadedAudioFiles[channel].setTrackType(channel); | |
| 104 } | |
| 81 } | 105 } |
| 82 | 106 |
| 83 | 107 |
| 84 | 108 |
| 85 void RecordedMultitrackAudio::drawTracks(){ | 109 void RecordedMultitrackAudio::drawTracks(){ |
