annotate src/RecordedMultitrackAudio.cpp @ 56:4394c9490716 tip

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