annotate src/RecordedMultitrackAudio.cpp @ 53:5274e3b5479d

Smoothed output, added tempo distribution variation to match the output
author Andrew N Robertson <andrew.robertson@eecs.qmul.ac.uk>
date Tue, 14 Aug 2012 21:45:12 +0100
parents e359b9bad811
children 2eca10a31ae2
rev   line source
andrew@1 1 /*
andrew@1 2 * RecordedMultitrackAudio.cpp
andrew@1 3 * MultipleAudioMathcher
andrew@1 4 *
andrew@1 5 * Created by Andrew on 31/01/2012.
andrew@1 6 * Copyright 2012 QMUL. All rights reserved.
andrew@1 7 *
andrew@1 8 */
andrew@1 9
andrew@1 10 #include "RecordedMultitrackAudio.h"
andrew@1 11
andrew@1 12
andrew@1 13 void RecordedMultitrackAudio::loadTestAudio(){
andrew@26 14
andrew@7 15 trackScreenHeight = 0.15;
andrew@52 16
andrew@52 17 numberOfAudioTracks = 4;
andrew@52 18
andrew@1 19 printf("loaded max val is %f\n", loadedAudioFiles[0].fileLoader.onsetDetect.onsetDetector.maximumDetectionValue);
andrew@1 20
andrew@53 21 int multitrackToLoad = 27;
andrew@36 22 setDifferentMultitracks(multitrackToLoad);//command to load this set of audio files - see below
andrew@26 23
andrew@31 24 //number 7 is problematic with memory
andrew@26 25
andrew@26 26 printf("AFTER LOADING: \n");
andrew@1 27 printInfo();
andrew@7 28
andrew@1 29
andrew@26 30
andrew@1 31
andrew@1 32 }
andrew@50 33 #pragma mark -loadingPrerecordedTracks
andrew@23 34 void RecordedMultitrackAudio::setDifferentMultitracks(const int& setToLoad){
andrew@23 35 const char *kickfilename ;//= "../../../data/sound/LiveDues/kick_liveDues.wav";
andrew@23 36 const char *bassfilename ;//"../../../data/sound/LiveDues/bass_upsideLive.wav";
andrew@23 37 const char *snarefilename ;
andrew@31 38 const char *guitarfilename ;
andrew@23 39
andrew@23 40 switch (setToLoad) {
andrew@23 41 case 0:
andrew@23 42 kickfilename = "../../../data/sound/LiveDues/kick_liveDues.wav";
andrew@23 43 bassfilename = "../../../data/sound/LiveDues/bass_upsideLive.wav";
andrew@23 44 snarefilename = "../../../data/sound/LiveDues/snare_liveDues.wav";
andrew@43 45 guitarfilename = "../../../data/sound/LiveDues/elec_upsideLive.wav";
andrew@23 46 break;
andrew@23 47 case 1:
andrew@43 48 //USE THE 18 AT BOTTOM
andrew@23 49 kickfilename = "../../../data/sound/DiamondMatch1/kick_bip.wav";
andrew@23 50 bassfilename = "../../../data/sound/DiamondMatch1/bass_bip.wav";
andrew@23 51 snarefilename = "../../../data/sound/DiamondMatch1/snare_bip.wav";
andrew@26 52 break;
andrew@23 53 case 2:
andrew@23 54 kickfilename = "../../../data/sound/LiveIdiot2/02kick_bip.wav";
andrew@23 55 bassfilename = "../../../data/sound/LiveIdiot2/01bass_bip.wav";
andrew@23 56 snarefilename = "../../../data/sound/LiveIdiot2/03snare_bip.wav";
andrew@23 57 break;
andrew@23 58 case 3:
andrew@23 59 kickfilename = "../../../data/sound/UistLive1/02kick_bip.wav";
andrew@23 60 bassfilename = "../../../data/sound/UistLive1/01bass_bip.wav";
andrew@23 61 snarefilename = "../../../data/sound/UistLive1/03snare_bip.wav";
andrew@23 62 break;
andrew@28 63
andrew@28 64 case 4:
andrew@39 65 kickfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsIdiotDance/tractorsSetToRecord2/Bounces/TakeTwo/02kick_bip.wav";
andrew@39 66 bassfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsIdiotDance/tractorsSetToRecord2/Bounces/TakeTwo/01bass_bip.wav";
andrew@39 67 snarefilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsIdiotDance/tractorsSetToRecord2/Bounces/TakeTwo/03snare_bip.wav";
andrew@39 68 guitarfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsIdiotDance/tractorsSetToRecord2/Bounces/TakeTwo/04guitar di_bip.wav";
andrew@28 69 break;
andrew@50 70
andrew@50 71 //LEWES multitracks?
andrew@50 72 /* case 5:
andrew@31 73 kickfilename = "/Users/andrew/Documents/work/Alignment/MultitrackMatch/tractorsAlign/Take12/02kick_bip.wav";
andrew@31 74 bassfilename = "/Users/andrew/Documents/work/Alignment/MultitrackMatch/tractorsAlign/Take12/01bass_bip.wav";
andrew@31 75 snarefilename = "/Users/andrew/Documents/work/Alignment/MultitrackMatch/tractorsAlign/Take12/03snare_bip.wav";
andrew@32 76 guitarfilename ="/Users/andrew/Documents/work/Alignment/MultitrackMatch/tractorsAlign/Take12/04elec_bip.wav";
andrew@29 77 break;
andrew@31 78 case 6:
andrew@31 79 kickfilename = "/Users/andrew/Documents/work/Alignment/MultitrackMatch/tractorsAlign/Take13/02kick_bip.wav";
andrew@31 80 bassfilename = "/Users/andrew/Documents/work/Alignment/MultitrackMatch/tractorsAlign/Take13/01bass_bip.wav";
andrew@31 81 snarefilename = "/Users/andrew/Documents/work/Alignment/MultitrackMatch/tractorsAlign/Take13/03snare_bip.wav";
andrew@32 82 guitarfilename ="/Users/andrew/Documents/work/Alignment/MultitrackMatch/tractorsAlign/Take13/04elec_bip.wav";
andrew@31 83 break;
andrew@31 84
andrew@31 85 case 7:
andrew@31 86 kickfilename = "/Users/andrew/Documents/work/Alignment/MultitrackMatch/tractorsAlign/Take14/02kick_bip.wav";
andrew@31 87 bassfilename = "/Users/andrew/Documents/work/Alignment/MultitrackMatch/tractorsAlign/Take14/01bass_bip.wav";
andrew@31 88 snarefilename ="/Users/andrew/Documents/work/Alignment/MultitrackMatch/tractorsAlign/Take14/03snare_bip.wav";
andrew@31 89 guitarfilename ="/Users/andrew/Documents/work/Alignment/MultitrackMatch/tractorsAlign/Take14/04elec_bip.wav";
andrew@31 90 break;
andrew@31 91
andrew@31 92 case 8:
andrew@31 93 kickfilename = "/Users/andrew/Documents/work/Alignment/MultitrackMatch/tractorsAlign/DownLine4/02kick_bip.wav";
andrew@31 94 bassfilename = "/Users/andrew/Documents/work/Alignment/MultitrackMatch/tractorsAlign/DownLine4/01bass_bip.wav";
andrew@31 95 snarefilename = "/Users/andrew/Documents/work/Alignment/MultitrackMatch/tractorsAlign/DownLine4/03snare_bip.wav";
andrew@31 96 break;
andrew@31 97
andrew@31 98 case 9:
andrew@31 99 kickfilename = "/Users/andrew/Documents/work/Alignment/MultitrackMatch/tractorsAlign/DownLine5/02kick.wav";
andrew@31 100 bassfilename = "/Users/andrew/Documents/work/Alignment/MultitrackMatch/tractorsAlign/DownLine5/01bass.wav";
andrew@31 101 snarefilename = "/Users/andrew/Documents/work/Alignment/MultitrackMatch/tractorsAlign/DownLine5/03snare.wav";
andrew@31 102 break;
andrew@50 103 */
andrew@33 104 case 10:
andrew@33 105 kickfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/MarbleArchMultitracks/Take2/02Kick_bip.wav";
andrew@33 106 bassfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/MarbleArchMultitracks/Take2/01Bass.wav";
andrew@33 107 snarefilename ="/Volumes/Supersaurus/Gronk/Gronkn/Bounces/MarbleArchMultitracks/Take2/03Snare_bip.wav";
andrew@33 108 guitarfilename ="/Volumes/Supersaurus/Gronk/Gronkn/Bounces/MarbleArchMultitracks/Take2/04Elec_SM57_bip.wav";
andrew@33 109 break;
andrew@29 110
andrew@33 111 case 11:
andrew@33 112 kickfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/MarbleArchMultitracks/Take3/02Kick_bip.wav";
andrew@33 113 bassfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/MarbleArchMultitracks/Take3/01Bass.wav";
andrew@33 114 snarefilename ="/Volumes/Supersaurus/Gronk/Gronkn/Bounces/MarbleArchMultitracks/Take3/03Snare_bip.wav";
andrew@33 115 guitarfilename ="/Volumes/Supersaurus/Gronk/Gronkn/Bounces/MarbleArchMultitracks/Take3/04Elec_SM57_bip.wav";
andrew@33 116 break;
andrew@33 117
andrew@33 118 case 12:
andrew@33 119 kickfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/MarbleArchMultitracks/Take4/02Kick_bip.wav";
andrew@33 120 bassfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/MarbleArchMultitracks/Take4/01Bass.wav";
andrew@33 121 snarefilename ="/Volumes/Supersaurus/Gronk/Gronkn/Bounces/MarbleArchMultitracks/Take4/03Snare_bip.wav";
andrew@33 122 guitarfilename ="/Volumes/Supersaurus/Gronk/Gronkn/Bounces/MarbleArchMultitracks/Take4/04Elec_SM57_bip.wav";
andrew@33 123 break;
andrew@33 124
andrew@33 125 case 13:
andrew@33 126 kickfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/MarbleArchMultitracks/Take6/02Kick_bip.wav";
andrew@33 127 bassfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/MarbleArchMultitracks/Take6/01Bass.wav";
andrew@33 128 snarefilename ="/Volumes/Supersaurus/Gronk/Gronkn/Bounces/MarbleArchMultitracks/Take6/03Snare_bip.wav";
andrew@36 129 guitarfilename ="/Volumes/Supersaurus/Gronk/Gronkn/Bounces/MarbleArchMultitracks/Take6/04Elec_SM57_bip.wav";
andrew@33 130 break;
andrew@34 131
andrew@34 132
andrew@50 133 /*case 14:
andrew@35 134 kickfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/StationGateMultitracks/TakeOneShorter/02Kick_bip.wav";
andrew@35 135 bassfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/StationGateMultitracks/TakeOneShorter/01Bass.wav";
andrew@35 136 snarefilename ="/Volumes/Supersaurus/Gronk/Gronkn/Bounces/StationGateMultitracks/TakeOneShorter/03Snare_bip.wav";
andrew@35 137 guitarfilename ="/Volumes/Supersaurus/Gronk/Gronkn/Bounces/StationGateMultitracks/TakeOneShorter/04Elec_SM57_bip.wav";
andrew@50 138 break;
andrew@50 139 */
andrew@50 140 case 14:
andrew@52 141 kickfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/StationGateMultitracks/FinalEdits/takeTwoEdited/02Kick_bip_1.wav";
andrew@52 142 bassfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/StationGateMultitracks/FinalEdits/takeTwoEdited/01Bass_bip_1.wav";
andrew@52 143 snarefilename ="/Volumes/Supersaurus/Gronk/Gronkn/Bounces/StationGateMultitracks/FinalEdits/takeTwoEdited/03Snare_bip_1.wav";
andrew@52 144 guitarfilename ="/Volumes/Supersaurus/Gronk/Gronkn/Bounces/StationGateMultitracks/FinalEdits/takeTwoEdited/Ac D_1_bip.wav";
andrew@50 145 break;
andrew@50 146
andrew@34 147
andrew@34 148 case 15:
andrew@35 149 kickfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/StationGateMultitracks/TakeTwoShorter/02Kick_bip.wav";
andrew@35 150 bassfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/StationGateMultitracks/TakeTwoShorter/01Bass.wav";
andrew@35 151 snarefilename ="/Volumes/Supersaurus/Gronk/Gronkn/Bounces/StationGateMultitracks/TakeTwoShorter/03Snare_bip.wav";
andrew@52 152 guitarfilename ="/Volumes/Supersaurus/Gronk/Gronkn/Bounces/StationGateMultitracks/TakeTwoShorter/Ac D.I.wav";//04Elec_SM57_bip.wav";
andrew@36 153 break;
andrew@36 154
andrew@36 155 case 16:
andrew@36 156 kickfilename = "/Volumes/Supersaurus/SonOfMan/FollowYourLeaders/FollowYourLeaders/Bounces/FollowMultitracks/Follow_023_D/02Kick_D112_bip.wav";
andrew@39 157 // bassfilename = "/Volumes/Supersaurus/SonOfMan/FollowYourLeaders/FollowYourLeaders/Bounces/FollowMultitracks/Follow_023_D/01Bass.wav";
andrew@39 158 snarefilename = "/Volumes/Supersaurus/SonOfMan/FollowYourLeaders/FollowYourLeaders/Bounces/FollowMultitracks/Follow_023_D/03Snare_Top_bip.wav";
andrew@39 159 guitarfilename = "/Volumes/Supersaurus/SonOfMan/FollowYourLeaders/FollowYourLeaders/Bounces/FollowMultitracks/Follow_023_D/04Elec_SM57_bip.wav";
andrew@39 160
andrew@36 161 break;
andrew@36 162
andrew@39 163 case 17:
andrew@39 164 kickfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsIdiotDance/tractorsSetToRecord2/Bounces/TakeThree/02kick_bip.wav";
andrew@39 165 bassfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsIdiotDance/tractorsSetToRecord2/Bounces/TakeThree/01bass_bip.wav";
andrew@39 166 snarefilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsIdiotDance/tractorsSetToRecord2/Bounces/TakeThree/03snare_bip.wav";
andrew@39 167 guitarfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsIdiotDance/tractorsSetToRecord2/Bounces/TakeThree/04guitar di_bip.wav";
andrew@39 168 break;
andrew@36 169
andrew@41 170 case 18:
andrew@42 171 bassfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDiamondWhite/tractorsDiamondWhite/Bounces/diamondWhiteMultiTakeTwo/01bass di_bip.wav";
andrew@42 172 kickfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDiamondWhite/tractorsDiamondWhite/Bounces/diamondWhiteMultiTakeTwo/02kick_bip.wav";
andrew@42 173 snarefilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDiamondWhite/tractorsDiamondWhite/Bounces/diamondWhiteMultiTakeTwo/03snare bottom_bip.wav";
andrew@41 174 guitarfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDiamondWhite/tractorsDiamondWhite/Bounces/diamondWhiteMultiTakeTwo/04guitar di_bip.wav";
andrew@42 175 break;
andrew@42 176
andrew@43 177 case 19:
andrew@47 178 bassfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDemo/Bounces/LewesMultitracks/LewesTake13_ProperStructure/bass di_bip_1.wav";
andrew@47 179 kickfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDemo/Bounces/LewesMultitracks/LewesTake13_ProperStructure/kick_bip_1.wav";
andrew@47 180 snarefilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDemo/Bounces/LewesMultitracks/LewesTake13_ProperStructure/snare_bip_1.wav";
andrew@47 181 guitarfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDemo/Bounces/LewesMultitracks/LewesTake13_ProperStructure/guitar di_bip_1.wav";
andrew@43 182 break;
andrew@43 183
andrew@43 184 case 20:
andrew@43 185 bassfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/WanderlustMulitracks/Wanderlust_Take16/Bass D.I.wav";
andrew@43 186 kickfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/WanderlustMulitracks/Wanderlust_Take16/Kick_bip.wav";
andrew@43 187 snarefilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/WanderlustMulitracks/Wanderlust_Take16/Snare_bip.wav";
andrew@43 188 guitarfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/WanderlustMulitracks/Wanderlust_Take16/Elec SM57_bip.wav";
andrew@43 189 break;
andrew@43 190
andrew@43 191
andrew@43 192 case 21:
andrew@43 193 bassfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/Windowsill_Multitracks/Windowsill_Take12/Bass D.I.wav";
andrew@43 194 kickfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/Windowsill_Multitracks/Windowsill_Take12/Kick_bip.wav";
andrew@43 195 snarefilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/Windowsill_Multitracks/Windowsill_Take12/Snare_bip.wav";
andrew@43 196 guitarfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/Windowsill_Multitracks/Windowsill_Take12/Elec SM57_bip.wav";
andrew@43 197 break;
andrew@43 198
andrew@43 199 case 22:
andrew@43 200 bassfilename = "/Users/andrew/Music/Logic/SonOfMan/SonOfManMultitracks/SonOfMan_TakeThree/Bass_bip.wav";
andrew@43 201 kickfilename = "/Users/andrew/Music/Logic/SonOfMan/SonOfManMultitracks/SonOfMan_TakeThree/Kik RE20_bip.wav";
andrew@43 202 snarefilename = "/Users/andrew/Music/Logic/SonOfMan/SonOfManMultitracks/SonOfMan_TakeThree/Snare Top_bip.wav";
andrew@43 203 guitarfilename = "/Users/andrew/Music/Logic/SonOfMan/SonOfManMultitracks/SonOfMan_TakeThree/Electric di_bip.wav";
andrew@43 204 break;
andrew@43 205
andrew@53 206 //MOTORCADE
andrew@48 207 case 23:
andrew@48 208 bassfilename = "/Volumes/Supersaurus/TractorsAlbum/TractorsMotorcade/Motorcade/Bounces/MotorcadeMulittracks/Motorcade_Take_57/bass DI_bip.wav";
andrew@48 209 kickfilename = "/Volumes/Supersaurus/TractorsAlbum/TractorsMotorcade/Motorcade/Bounces/MotorcadeMulittracks/Motorcade_Take_57/Kick re20_bip.wav";
andrew@48 210 snarefilename = "/Volumes/Supersaurus/TractorsAlbum/TractorsMotorcade/Motorcade/Bounces/MotorcadeMulittracks/Motorcade_Take_57/Snare sm578_bip.wav";
andrew@48 211 guitarfilename = "/Volumes/Supersaurus/TractorsAlbum/TractorsMotorcade/Motorcade/Bounces/MotorcadeMulittracks/Motorcade_Take_57/guitar DI_bip.wav";
andrew@48 212 break;
andrew@48 213
andrew@50 214 case 24:
andrew@50 215 bassfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/Festival_Multitracks/TakeThree_23/bass D.I.wav";
andrew@50 216 kickfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/Festival_Multitracks/TakeThree_23/Kick_bip.wav";
andrew@50 217 snarefilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/Festival_Multitracks/TakeThree_23/Snare_bip.wav";
andrew@50 218 guitarfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/Festival_Multitracks/TakeThree_23/Elec SM57_bip.wav";
andrew@50 219 break;
andrew@52 220
andrew@50 221 case 25:
andrew@50 222 bassfilename = "/Volumes/G-FORCE X/WorkBackup/Truck/Stones 1.0/Bounces/Stones_Multitracks/TakeThree_21/Bass DI_bip.wav";
andrew@50 223 kickfilename = "/Volumes/G-FORCE X/WorkBackup/Truck/Stones 1.0/Bounces/Stones_Multitracks/TakeThree_21/BD_bip.wav";
andrew@50 224 snarefilename = "/Volumes/G-FORCE X/WorkBackup/Truck/Stones 1.0/Bounces/Stones_Multitracks/TakeThree_21/Snr T_bip.wav";
andrew@50 225 guitarfilename = "/Volumes/G-FORCE X/WorkBackup/Truck/Stones 1.0/Bounces/Stones_Multitracks/TakeThree_21/Guit 57_bip.wav";
andrew@50 226 break;
andrew@50 227
andrew@50 228 case 26:
andrew@50 229 bassfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDemo/Bounces/PennyArcade_Multitracks/TakeTwo_5/bass di_bip.wav";
andrew@50 230 kickfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDemo/Bounces/PennyArcade_Multitracks/TakeTwo_5/kick_bip.wav";
andrew@50 231 snarefilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDemo/Bounces/PennyArcade_Multitracks/TakeTwo_5/snare_bip.wav";
andrew@50 232 guitarfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDemo/Bounces/PennyArcade_Multitracks/TakeTwo_5/guitar_bip.wav";
andrew@50 233 break;
andrew@52 234
andrew@52 235 //TRACTORS _ Studio Versions
andrew@53 236 //LEWES STUDIO
andrew@50 237 case 27:
andrew@50 238 bassfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDemo/Bounces/LewesStudioFinal/bass_DI_bip.wav";
andrew@50 239 kickfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDemo/Bounces/LewesStudioFinal/kick_bip.wav";
andrew@50 240 snarefilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDemo/Bounces/LewesStudioFinal/snare_bip.wav";
andrew@50 241 guitarfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDemo/Bounces/LewesStudioFinal/guitar sm57_bip.wav";
andrew@52 242 break;
andrew@36 243
andrew@53 244 //PENNY ARCADE STUDIO
andrew@52 245 case 28:
andrew@52 246 bassfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDemo/Bounces/PennyArcadeStudio14aMultitrack/bass_DI.wav";
andrew@52 247 kickfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDemo/Bounces/PennyArcadeStudio14aMultitrack/kick.wav";
andrew@52 248 snarefilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDemo/Bounces/PennyArcadeStudio14aMultitrack/snare.wav";
andrew@52 249 guitarfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDemo/Bounces/PennyArcadeStudio14aMultitrack/elec_sm57.wav";
andrew@52 250 break;
andrew@53 251 //D>W> STUDIO
andrew@52 252 case 29:
andrew@52 253 bassfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDiamondWhite/tractorsDiamondWhite/Bounces/DiamondWhite21aBounces/bass_di.wav";
andrew@52 254 kickfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDiamondWhite/tractorsDiamondWhite/Bounces/DiamondWhite21aBounces/kick_d112.wav";
andrew@52 255 snarefilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDiamondWhite/tractorsDiamondWhite/Bounces/DiamondWhite21aBounces/fake_snare.wav";
andrew@52 256 guitarfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDiamondWhite/tractorsDiamondWhite/Bounces/DiamondWhite21aBounces/tele_sm57.wav";
andrew@52 257 break;
andrew@53 258
andrew@53 259 //IDIOTS STUDIO
andrew@52 260 case 30:
andrew@52 261 bassfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsIdiotDance/tractorsSetToRecord2/Bounces/IdiotsDanceStudioMultitrack/bass_di.wav";
andrew@52 262 kickfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsIdiotDance/tractorsSetToRecord2/Bounces/IdiotsDanceStudioMultitrack/kick_d112.wav";
andrew@52 263 snarefilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsIdiotDance/tractorsSetToRecord2/Bounces/IdiotsDanceStudioMultitrack/snare_bottom.wav";
andrew@52 264 guitarfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsIdiotDance/tractorsSetToRecord2/Bounces/IdiotsDanceStudioMultitrack/gretschMatch.wav";
andrew@52 265 break;
andrew@52 266
andrew@53 267
andrew@52 268 case 31:
andrew@52 269 bassfilename = "/Volumes/Supersaurus/End2011BackupNewMacBook/Music/Logic/NewYearsResolution/NewYearsRes_v1/Bounces/Multitracks/Take11Studio/bass d.i.wav";
andrew@52 270 kickfilename = "/Volumes/Supersaurus/End2011BackupNewMacBook/Music/Logic/NewYearsResolution/NewYearsRes_v1/Bounces/Multitracks/Take11Studio/kick_bip.wav";
andrew@52 271 snarefilename = "/Volumes/Supersaurus/End2011BackupNewMacBook/Music/Logic/NewYearsResolution/NewYearsRes_v1/Bounces/Multitracks/Take11Studio/snare_bip.wav";
andrew@52 272 guitarfilename = "/Volumes/Supersaurus/End2011BackupNewMacBook/Music/Logic/NewYearsResolution/NewYearsRes_v1/Bounces/Multitracks/Take11Studio/electric_bip.wav";
andrew@52 273 // guitarfilename = "/Volumes/Supersaurus/End2011BackupNewMacBook/Music/Logic/NewYearsResolution/NewYearsRes_v1/Bounces/Multitracks/Take11Studio/acoustic_bip.wav";
andrew@52 274 break;
andrew@29 275
andrew@23 276 }
andrew@39 277 if (kickfilename != NULL)
andrew@23 278 loadAudioTrack(kickfilename, 0);
andrew@39 279
andrew@50 280 if (bassfilename != NULL){
andrew@39 281 printf("BASSfilename: %s\n", bassfilename);
andrew@39 282 loadAudioTrack(bassfilename, 1);
andrew@39 283 }
andrew@39 284
andrew@39 285 if (snarefilename != NULL)
andrew@23 286 loadAudioTrack(snarefilename, 2);
andrew@31 287
andrew@31 288 if (guitarfilename != NULL)
andrew@31 289 loadAudioTrack(guitarfilename, 3);
andrew@23 290
andrew@23 291 }
andrew@23 292
andrew@23 293 void RecordedMultitrackAudio::loadAudioTrack(std::string name, const int& channel){
andrew@23 294 //kick - track type 0
andrew@23 295 //bass - type 1
andrew@23 296 //snare type 2
andrew@52 297 //guitar type 3
andrew@52 298 if (channel >= 0 && channel <= numberOfAudioTracks){
andrew@23 299 loadedAudioPtr = new LoadedAudioHolder;
andrew@38 300 //set tracktype before we do analysis
andrew@38 301 //so we dont do unnecessary chroma and pitch calculations
andrew@38 302 loadedAudioPtr->setTrackType(channel);
andrew@23 303 loadedAudioPtr->loadAudioFile(name);
andrew@38 304
andrew@23 305 loadedAudioFiles[channel] = *loadedAudioPtr;
andrew@23 306 loadedAudioFiles[channel].fileLoader.onsetDetect.window.setToRelativeSize(0, trackScreenHeight*channel, 1, trackScreenHeight);
andrew@38 307 //loadedAudioFiles[channel].setTrackType(channel);
andrew@23 308 }
andrew@23 309 }
andrew@23 310
andrew@1 311
andrew@1 312
andrew@1 313 void RecordedMultitrackAudio::drawTracks(){
andrew@1 314
andrew@1 315 for (int i = 0;i < numberOfAudioTracks;i++){
andrew@1 316 loadedAudioFiles[i].draw();
andrew@1 317 }
andrew@1 318 }
andrew@1 319
andrew@50 320 #pragma mark -update
andrew@1 321 void RecordedMultitrackAudio::updatePosition(){
andrew@1 322 for (int i = 0;i < numberOfAudioTracks;i++)
andrew@1 323 loadedAudioFiles[i].updateToPlayPosition();
andrew@1 324 }
andrew@1 325
andrew@9 326 void RecordedMultitrackAudio::updatePositionToMillis(const double& millis){
andrew@9 327 for (int i = 0;i < numberOfAudioTracks;i++)
andrew@9 328 loadedAudioFiles[i].updateToMillisPosition(millis);
andrew@9 329 }
andrew@2 330
andrew@50 331 void RecordedMultitrackAudio::updatePlaybackPositionToMillis(const double& millis){
andrew@50 332 for (int i = 0;i < numberOfAudioTracks;i++)
andrew@50 333 loadedAudioFiles[i].updatePlaybackPositionToMillis(millis);
andrew@50 334 }
andrew@50 335
andrew@1 336 void RecordedMultitrackAudio::switchScreens(){
andrew@1 337 for (int i = 0;i < numberOfAudioTracks;i++)
andrew@1 338 loadedAudioFiles[i].switchScreens();
andrew@1 339 }
andrew@1 340
andrew@1 341
andrew@1 342 void RecordedMultitrackAudio::togglePlay(){
andrew@1 343 for (int i = 0;i < numberOfAudioTracks;i++)
andrew@1 344 loadedAudioFiles[i].togglePlay();
andrew@1 345 }
andrew@1 346
andrew@1 347 void RecordedMultitrackAudio::stop(){
andrew@1 348 for (int i = 0;i < numberOfAudioTracks;i++)
andrew@1 349 loadedAudioFiles[i].stop();
andrew@1 350 }
andrew@1 351
andrew@1 352
andrew@1 353 void RecordedMultitrackAudio::printInfo(){
andrew@1 354 loadedAudioFiles[0].fileLoader.onsetDetect.printChromaInfo();
andrew@1 355 loadedAudioFiles[0].printEvents();
andrew@1 356 }
andrew@1 357
andrew@1 358 void RecordedMultitrackAudio::windowResized(const int& w, const int& h){
andrew@1 359 for (int i = 0;i < numberOfAudioTracks;i++)
andrew@1 360 loadedAudioFiles[i].windowResized(w, h);
andrew@1 361 }
andrew@1 362
andrew@1 363 void RecordedMultitrackAudio::zoomIn(){
andrew@50 364 printf("zoom in\n");
andrew@1 365 for (int i = 0;i < numberOfAudioTracks;i++)
andrew@1 366 loadedAudioFiles[i].fileLoader.zoomIn();
andrew@1 367 }
andrew@1 368
andrew@1 369 void RecordedMultitrackAudio::zoomOut(){
andrew@50 370 printf("zoom out\n");
andrew@1 371 for (int i = 0;i < numberOfAudioTracks;i++)
andrew@1 372 loadedAudioFiles[i].fileLoader.zoomOut();
andrew@1 373 }
andrew@1 374
andrew@1 375