andrew@1: /* andrew@1: * RecordedMultitrackAudio.cpp andrew@1: * MultipleAudioMathcher andrew@1: * andrew@1: * Created by Andrew on 31/01/2012. andrew@1: * Copyright 2012 QMUL. All rights reserved. andrew@1: * andrew@1: */ andrew@1: andrew@1: #include "RecordedMultitrackAudio.h" andrew@1: andrew@55: static bool printOnsetInfo = false; andrew@1: andrew@1: void RecordedMultitrackAudio::loadTestAudio(){ andrew@26: andrew@7: trackScreenHeight = 0.15; andrew@52: andrew@52: numberOfAudioTracks = 4; andrew@52: andrew@55: andrew@56: int multitrackToLoad = 0; andrew@36: setDifferentMultitracks(multitrackToLoad);//command to load this set of audio files - see below andrew@26: andrew@31: //number 7 is problematic with memory andrew@26: andrew@55: if (printOnsetInfo){ andrew@55: printf("loaded max val is %f\n", loadedAudioFiles[0].fileLoader.onsetDetect.onsetDetector.maximumDetectionValue); andrew@55: printf("AFTER LOADING: \n"); andrew@55: printInfo(); andrew@55: } andrew@7: andrew@1: andrew@26: andrew@1: andrew@1: } andrew@50: #pragma mark -loadingPrerecordedTracks andrew@23: void RecordedMultitrackAudio::setDifferentMultitracks(const int& setToLoad){ andrew@23: const char *kickfilename ;//= "../../../data/sound/LiveDues/kick_liveDues.wav"; andrew@23: const char *bassfilename ;//"../../../data/sound/LiveDues/bass_upsideLive.wav"; andrew@23: const char *snarefilename ; andrew@31: const char *guitarfilename ; andrew@23: andrew@23: switch (setToLoad) { andrew@23: case 0: andrew@23: kickfilename = "../../../data/sound/LiveDues/kick_liveDues.wav"; andrew@23: bassfilename = "../../../data/sound/LiveDues/bass_upsideLive.wav"; andrew@23: snarefilename = "../../../data/sound/LiveDues/snare_liveDues.wav"; andrew@43: guitarfilename = "../../../data/sound/LiveDues/elec_upsideLive.wav"; andrew@23: break; andrew@23: case 1: andrew@43: //USE THE 18 AT BOTTOM andrew@56: //numberOfAudioTracks = 3; andrew@23: kickfilename = "../../../data/sound/DiamondMatch1/kick_bip.wav"; andrew@23: bassfilename = "../../../data/sound/DiamondMatch1/bass_bip.wav"; andrew@23: snarefilename = "../../../data/sound/DiamondMatch1/snare_bip.wav"; andrew@56: guitarfilename = ""; andrew@26: break; andrew@23: case 2: andrew@56: //numberOfAudioTracks = 3; andrew@23: kickfilename = "../../../data/sound/LiveIdiot2/02kick_bip.wav"; andrew@23: bassfilename = "../../../data/sound/LiveIdiot2/01bass_bip.wav"; andrew@23: snarefilename = "../../../data/sound/LiveIdiot2/03snare_bip.wav"; andrew@56: guitarfilename = ""; andrew@23: break; andrew@23: case 3: andrew@56: //numberOfAudioTracks = 3; andrew@23: kickfilename = "../../../data/sound/UistLive1/02kick_bip.wav"; andrew@23: bassfilename = "../../../data/sound/UistLive1/01bass_bip.wav"; andrew@23: snarefilename = "../../../data/sound/UistLive1/03snare_bip.wav"; andrew@56: guitarfilename = ""; andrew@56: break; andrew@28: andrew@28: case 4: andrew@39: kickfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsIdiotDance/tractorsSetToRecord2/Bounces/TakeTwo/02kick_bip.wav"; andrew@39: bassfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsIdiotDance/tractorsSetToRecord2/Bounces/TakeTwo/01bass_bip.wav"; andrew@39: snarefilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsIdiotDance/tractorsSetToRecord2/Bounces/TakeTwo/03snare_bip.wav"; andrew@39: guitarfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsIdiotDance/tractorsSetToRecord2/Bounces/TakeTwo/04guitar di_bip.wav"; andrew@28: break; andrew@50: andrew@50: //LEWES multitracks? andrew@50: /* case 5: andrew@31: kickfilename = "/Users/andrew/Documents/work/Alignment/MultitrackMatch/tractorsAlign/Take12/02kick_bip.wav"; andrew@31: bassfilename = "/Users/andrew/Documents/work/Alignment/MultitrackMatch/tractorsAlign/Take12/01bass_bip.wav"; andrew@31: snarefilename = "/Users/andrew/Documents/work/Alignment/MultitrackMatch/tractorsAlign/Take12/03snare_bip.wav"; andrew@32: guitarfilename ="/Users/andrew/Documents/work/Alignment/MultitrackMatch/tractorsAlign/Take12/04elec_bip.wav"; andrew@29: break; andrew@31: case 6: andrew@31: kickfilename = "/Users/andrew/Documents/work/Alignment/MultitrackMatch/tractorsAlign/Take13/02kick_bip.wav"; andrew@31: bassfilename = "/Users/andrew/Documents/work/Alignment/MultitrackMatch/tractorsAlign/Take13/01bass_bip.wav"; andrew@31: snarefilename = "/Users/andrew/Documents/work/Alignment/MultitrackMatch/tractorsAlign/Take13/03snare_bip.wav"; andrew@32: guitarfilename ="/Users/andrew/Documents/work/Alignment/MultitrackMatch/tractorsAlign/Take13/04elec_bip.wav"; andrew@31: break; andrew@31: andrew@31: case 7: andrew@31: kickfilename = "/Users/andrew/Documents/work/Alignment/MultitrackMatch/tractorsAlign/Take14/02kick_bip.wav"; andrew@31: bassfilename = "/Users/andrew/Documents/work/Alignment/MultitrackMatch/tractorsAlign/Take14/01bass_bip.wav"; andrew@31: snarefilename ="/Users/andrew/Documents/work/Alignment/MultitrackMatch/tractorsAlign/Take14/03snare_bip.wav"; andrew@31: guitarfilename ="/Users/andrew/Documents/work/Alignment/MultitrackMatch/tractorsAlign/Take14/04elec_bip.wav"; andrew@31: break; andrew@31: andrew@31: case 8: andrew@31: kickfilename = "/Users/andrew/Documents/work/Alignment/MultitrackMatch/tractorsAlign/DownLine4/02kick_bip.wav"; andrew@31: bassfilename = "/Users/andrew/Documents/work/Alignment/MultitrackMatch/tractorsAlign/DownLine4/01bass_bip.wav"; andrew@31: snarefilename = "/Users/andrew/Documents/work/Alignment/MultitrackMatch/tractorsAlign/DownLine4/03snare_bip.wav"; andrew@31: break; andrew@31: andrew@31: case 9: andrew@31: kickfilename = "/Users/andrew/Documents/work/Alignment/MultitrackMatch/tractorsAlign/DownLine5/02kick.wav"; andrew@31: bassfilename = "/Users/andrew/Documents/work/Alignment/MultitrackMatch/tractorsAlign/DownLine5/01bass.wav"; andrew@31: snarefilename = "/Users/andrew/Documents/work/Alignment/MultitrackMatch/tractorsAlign/DownLine5/03snare.wav"; andrew@31: break; andrew@50: */ andrew@33: case 10: andrew@33: kickfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/MarbleArchMultitracks/Take2/02Kick_bip.wav"; andrew@33: bassfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/MarbleArchMultitracks/Take2/01Bass.wav"; andrew@33: snarefilename ="/Volumes/Supersaurus/Gronk/Gronkn/Bounces/MarbleArchMultitracks/Take2/03Snare_bip.wav"; andrew@33: guitarfilename ="/Volumes/Supersaurus/Gronk/Gronkn/Bounces/MarbleArchMultitracks/Take2/04Elec_SM57_bip.wav"; andrew@33: break; andrew@29: andrew@33: case 11: andrew@33: kickfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/MarbleArchMultitracks/Take3/02Kick_bip.wav"; andrew@33: bassfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/MarbleArchMultitracks/Take3/01Bass.wav"; andrew@33: snarefilename ="/Volumes/Supersaurus/Gronk/Gronkn/Bounces/MarbleArchMultitracks/Take3/03Snare_bip.wav"; andrew@33: guitarfilename ="/Volumes/Supersaurus/Gronk/Gronkn/Bounces/MarbleArchMultitracks/Take3/04Elec_SM57_bip.wav"; andrew@33: break; andrew@33: andrew@33: case 12: andrew@33: kickfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/MarbleArchMultitracks/Take4/02Kick_bip.wav"; andrew@33: bassfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/MarbleArchMultitracks/Take4/01Bass.wav"; andrew@33: snarefilename ="/Volumes/Supersaurus/Gronk/Gronkn/Bounces/MarbleArchMultitracks/Take4/03Snare_bip.wav"; andrew@33: guitarfilename ="/Volumes/Supersaurus/Gronk/Gronkn/Bounces/MarbleArchMultitracks/Take4/04Elec_SM57_bip.wav"; andrew@33: break; andrew@33: andrew@33: case 13: andrew@33: kickfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/MarbleArchMultitracks/Take6/02Kick_bip.wav"; andrew@33: bassfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/MarbleArchMultitracks/Take6/01Bass.wav"; andrew@33: snarefilename ="/Volumes/Supersaurus/Gronk/Gronkn/Bounces/MarbleArchMultitracks/Take6/03Snare_bip.wav"; andrew@36: guitarfilename ="/Volumes/Supersaurus/Gronk/Gronkn/Bounces/MarbleArchMultitracks/Take6/04Elec_SM57_bip.wav"; andrew@33: break; andrew@34: andrew@34: andrew@50: /*case 14: andrew@35: kickfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/StationGateMultitracks/TakeOneShorter/02Kick_bip.wav"; andrew@35: bassfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/StationGateMultitracks/TakeOneShorter/01Bass.wav"; andrew@35: snarefilename ="/Volumes/Supersaurus/Gronk/Gronkn/Bounces/StationGateMultitracks/TakeOneShorter/03Snare_bip.wav"; andrew@35: guitarfilename ="/Volumes/Supersaurus/Gronk/Gronkn/Bounces/StationGateMultitracks/TakeOneShorter/04Elec_SM57_bip.wav"; andrew@50: break; andrew@50: */ andrew@50: case 14: andrew@52: kickfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/StationGateMultitracks/FinalEdits/takeTwoEdited/02Kick_bip_1.wav"; andrew@52: bassfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/StationGateMultitracks/FinalEdits/takeTwoEdited/01Bass_bip_1.wav"; andrew@52: snarefilename ="/Volumes/Supersaurus/Gronk/Gronkn/Bounces/StationGateMultitracks/FinalEdits/takeTwoEdited/03Snare_bip_1.wav"; andrew@52: guitarfilename ="/Volumes/Supersaurus/Gronk/Gronkn/Bounces/StationGateMultitracks/FinalEdits/takeTwoEdited/Ac D_1_bip.wav"; andrew@50: break; andrew@50: andrew@34: andrew@34: case 15: andrew@35: kickfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/StationGateMultitracks/TakeTwoShorter/02Kick_bip.wav"; andrew@35: bassfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/StationGateMultitracks/TakeTwoShorter/01Bass.wav"; andrew@35: snarefilename ="/Volumes/Supersaurus/Gronk/Gronkn/Bounces/StationGateMultitracks/TakeTwoShorter/03Snare_bip.wav"; andrew@52: guitarfilename ="/Volumes/Supersaurus/Gronk/Gronkn/Bounces/StationGateMultitracks/TakeTwoShorter/Ac D.I.wav";//04Elec_SM57_bip.wav"; andrew@36: break; andrew@36: andrew@36: case 16: andrew@36: kickfilename = "/Volumes/Supersaurus/SonOfMan/FollowYourLeaders/FollowYourLeaders/Bounces/FollowMultitracks/Follow_023_D/02Kick_D112_bip.wav"; andrew@39: // bassfilename = "/Volumes/Supersaurus/SonOfMan/FollowYourLeaders/FollowYourLeaders/Bounces/FollowMultitracks/Follow_023_D/01Bass.wav"; andrew@39: snarefilename = "/Volumes/Supersaurus/SonOfMan/FollowYourLeaders/FollowYourLeaders/Bounces/FollowMultitracks/Follow_023_D/03Snare_Top_bip.wav"; andrew@39: guitarfilename = "/Volumes/Supersaurus/SonOfMan/FollowYourLeaders/FollowYourLeaders/Bounces/FollowMultitracks/Follow_023_D/04Elec_SM57_bip.wav"; andrew@39: andrew@36: break; andrew@36: andrew@39: case 17: andrew@39: kickfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsIdiotDance/tractorsSetToRecord2/Bounces/TakeThree/02kick_bip.wav"; andrew@39: bassfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsIdiotDance/tractorsSetToRecord2/Bounces/TakeThree/01bass_bip.wav"; andrew@39: snarefilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsIdiotDance/tractorsSetToRecord2/Bounces/TakeThree/03snare_bip.wav"; andrew@39: guitarfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsIdiotDance/tractorsSetToRecord2/Bounces/TakeThree/04guitar di_bip.wav"; andrew@39: break; andrew@36: andrew@41: case 18: andrew@42: bassfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDiamondWhite/tractorsDiamondWhite/Bounces/diamondWhiteMultiTakeTwo/01bass di_bip.wav"; andrew@42: kickfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDiamondWhite/tractorsDiamondWhite/Bounces/diamondWhiteMultiTakeTwo/02kick_bip.wav"; andrew@42: snarefilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDiamondWhite/tractorsDiamondWhite/Bounces/diamondWhiteMultiTakeTwo/03snare bottom_bip.wav"; andrew@41: guitarfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDiamondWhite/tractorsDiamondWhite/Bounces/diamondWhiteMultiTakeTwo/04guitar di_bip.wav"; andrew@42: break; andrew@42: andrew@43: case 19: andrew@47: bassfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDemo/Bounces/LewesMultitracks/LewesTake13_ProperStructure/bass di_bip_1.wav"; andrew@47: kickfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDemo/Bounces/LewesMultitracks/LewesTake13_ProperStructure/kick_bip_1.wav"; andrew@47: snarefilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDemo/Bounces/LewesMultitracks/LewesTake13_ProperStructure/snare_bip_1.wav"; andrew@47: guitarfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDemo/Bounces/LewesMultitracks/LewesTake13_ProperStructure/guitar di_bip_1.wav"; andrew@43: break; andrew@43: andrew@43: case 20: andrew@43: bassfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/WanderlustMulitracks/Wanderlust_Take16/Bass D.I.wav"; andrew@43: kickfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/WanderlustMulitracks/Wanderlust_Take16/Kick_bip.wav"; andrew@43: snarefilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/WanderlustMulitracks/Wanderlust_Take16/Snare_bip.wav"; andrew@43: guitarfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/WanderlustMulitracks/Wanderlust_Take16/Elec SM57_bip.wav"; andrew@43: break; andrew@43: andrew@43: andrew@43: case 21: andrew@43: bassfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/Windowsill_Multitracks/Windowsill_Take12/Bass D.I.wav"; andrew@43: kickfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/Windowsill_Multitracks/Windowsill_Take12/Kick_bip.wav"; andrew@43: snarefilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/Windowsill_Multitracks/Windowsill_Take12/Snare_bip.wav"; andrew@43: guitarfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/Windowsill_Multitracks/Windowsill_Take12/Elec SM57_bip.wav"; andrew@43: break; andrew@43: andrew@43: case 22: andrew@43: bassfilename = "/Users/andrew/Music/Logic/SonOfMan/SonOfManMultitracks/SonOfMan_TakeThree/Bass_bip.wav"; andrew@43: kickfilename = "/Users/andrew/Music/Logic/SonOfMan/SonOfManMultitracks/SonOfMan_TakeThree/Kik RE20_bip.wav"; andrew@43: snarefilename = "/Users/andrew/Music/Logic/SonOfMan/SonOfManMultitracks/SonOfMan_TakeThree/Snare Top_bip.wav"; andrew@43: guitarfilename = "/Users/andrew/Music/Logic/SonOfMan/SonOfManMultitracks/SonOfMan_TakeThree/Electric di_bip.wav"; andrew@43: break; andrew@43: andrew@53: //MOTORCADE andrew@48: case 23: andrew@48: bassfilename = "/Volumes/Supersaurus/TractorsAlbum/TractorsMotorcade/Motorcade/Bounces/MotorcadeMulittracks/Motorcade_Take_57/bass DI_bip.wav"; andrew@48: kickfilename = "/Volumes/Supersaurus/TractorsAlbum/TractorsMotorcade/Motorcade/Bounces/MotorcadeMulittracks/Motorcade_Take_57/Kick re20_bip.wav"; andrew@48: snarefilename = "/Volumes/Supersaurus/TractorsAlbum/TractorsMotorcade/Motorcade/Bounces/MotorcadeMulittracks/Motorcade_Take_57/Snare sm578_bip.wav"; andrew@48: guitarfilename = "/Volumes/Supersaurus/TractorsAlbum/TractorsMotorcade/Motorcade/Bounces/MotorcadeMulittracks/Motorcade_Take_57/guitar DI_bip.wav"; andrew@48: break; andrew@48: andrew@50: case 24: andrew@50: bassfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/Festival_Multitracks/TakeThree_23/bass D.I.wav"; andrew@50: kickfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/Festival_Multitracks/TakeThree_23/Kick_bip.wav"; andrew@50: snarefilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/Festival_Multitracks/TakeThree_23/Snare_bip.wav"; andrew@50: guitarfilename = "/Volumes/Supersaurus/Gronk/Gronkn/Bounces/Festival_Multitracks/TakeThree_23/Elec SM57_bip.wav"; andrew@50: break; andrew@52: andrew@50: case 25: andrew@50: bassfilename = "/Volumes/G-FORCE X/WorkBackup/Truck/Stones 1.0/Bounces/Stones_Multitracks/TakeThree_21/Bass DI_bip.wav"; andrew@50: kickfilename = "/Volumes/G-FORCE X/WorkBackup/Truck/Stones 1.0/Bounces/Stones_Multitracks/TakeThree_21/BD_bip.wav"; andrew@50: snarefilename = "/Volumes/G-FORCE X/WorkBackup/Truck/Stones 1.0/Bounces/Stones_Multitracks/TakeThree_21/Snr T_bip.wav"; andrew@50: guitarfilename = "/Volumes/G-FORCE X/WorkBackup/Truck/Stones 1.0/Bounces/Stones_Multitracks/TakeThree_21/Guit 57_bip.wav"; andrew@50: break; andrew@50: andrew@50: case 26: andrew@50: bassfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDemo/Bounces/PennyArcade_Multitracks/TakeTwo_5/bass di_bip.wav"; andrew@50: kickfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDemo/Bounces/PennyArcade_Multitracks/TakeTwo_5/kick_bip.wav"; andrew@50: snarefilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDemo/Bounces/PennyArcade_Multitracks/TakeTwo_5/snare_bip.wav"; andrew@50: guitarfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDemo/Bounces/PennyArcade_Multitracks/TakeTwo_5/guitar_bip.wav"; andrew@50: break; andrew@52: andrew@52: //TRACTORS _ Studio Versions andrew@53: //LEWES STUDIO andrew@50: case 27: andrew@50: bassfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDemo/Bounces/LewesStudioFinal/bass_DI_bip.wav"; andrew@50: kickfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDemo/Bounces/LewesStudioFinal/kick_bip.wav"; andrew@50: snarefilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDemo/Bounces/LewesStudioFinal/snare_bip.wav"; andrew@50: guitarfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDemo/Bounces/LewesStudioFinal/guitar sm57_bip.wav"; andrew@52: break; andrew@36: andrew@53: //PENNY ARCADE STUDIO andrew@52: case 28: andrew@52: bassfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDemo/Bounces/PennyArcadeStudio14aMultitrack/bass_DI.wav"; andrew@52: kickfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDemo/Bounces/PennyArcadeStudio14aMultitrack/kick.wav"; andrew@52: snarefilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDemo/Bounces/PennyArcadeStudio14aMultitrack/snare.wav"; andrew@52: guitarfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDemo/Bounces/PennyArcadeStudio14aMultitrack/elec_sm57.wav"; andrew@52: break; andrew@53: //D>W> STUDIO andrew@52: case 29: andrew@52: bassfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDiamondWhite/tractorsDiamondWhite/Bounces/DiamondWhite21aBounces/bass_di.wav"; andrew@52: kickfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDiamondWhite/tractorsDiamondWhite/Bounces/DiamondWhite21aBounces/kick_d112.wav"; andrew@52: snarefilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDiamondWhite/tractorsDiamondWhite/Bounces/DiamondWhite21aBounces/fake_snare.wav"; andrew@52: guitarfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsDiamondWhite/tractorsDiamondWhite/Bounces/DiamondWhite21aBounces/tele_sm57.wav"; andrew@52: break; andrew@53: andrew@53: //IDIOTS STUDIO andrew@52: case 30: andrew@52: bassfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsIdiotDance/tractorsSetToRecord2/Bounces/IdiotsDanceStudioMultitrack/bass_di.wav"; andrew@52: kickfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsIdiotDance/tractorsSetToRecord2/Bounces/IdiotsDanceStudioMultitrack/kick_d112.wav"; andrew@52: snarefilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsIdiotDance/tractorsSetToRecord2/Bounces/IdiotsDanceStudioMultitrack/snare_bottom.wav"; andrew@52: guitarfilename = "/Volumes/Supersaurus/TractorsAlbum/tractorsIdiotDance/tractorsSetToRecord2/Bounces/IdiotsDanceStudioMultitrack/gretschMatch.wav"; andrew@52: break; andrew@52: andrew@53: andrew@52: case 31: andrew@52: bassfilename = "/Volumes/Supersaurus/End2011BackupNewMacBook/Music/Logic/NewYearsResolution/NewYearsRes_v1/Bounces/Multitracks/Take11Studio/bass d.i.wav"; andrew@52: kickfilename = "/Volumes/Supersaurus/End2011BackupNewMacBook/Music/Logic/NewYearsResolution/NewYearsRes_v1/Bounces/Multitracks/Take11Studio/kick_bip.wav"; andrew@52: snarefilename = "/Volumes/Supersaurus/End2011BackupNewMacBook/Music/Logic/NewYearsResolution/NewYearsRes_v1/Bounces/Multitracks/Take11Studio/snare_bip.wav"; andrew@52: guitarfilename = "/Volumes/Supersaurus/End2011BackupNewMacBook/Music/Logic/NewYearsResolution/NewYearsRes_v1/Bounces/Multitracks/Take11Studio/electric_bip.wav"; andrew@52: // guitarfilename = "/Volumes/Supersaurus/End2011BackupNewMacBook/Music/Logic/NewYearsResolution/NewYearsRes_v1/Bounces/Multitracks/Take11Studio/acoustic_bip.wav"; andrew@52: break; andrew@29: andrew@23: } andrew@39: if (kickfilename != NULL) andrew@23: loadAudioTrack(kickfilename, 0); andrew@39: andrew@50: if (bassfilename != NULL){ andrew@39: printf("BASSfilename: %s\n", bassfilename); andrew@39: loadAudioTrack(bassfilename, 1); andrew@39: } andrew@39: andrew@39: if (snarefilename != NULL) andrew@23: loadAudioTrack(snarefilename, 2); andrew@31: andrew@31: if (guitarfilename != NULL) andrew@31: loadAudioTrack(guitarfilename, 3); andrew@23: andrew@23: } andrew@23: andrew@23: void RecordedMultitrackAudio::loadAudioTrack(std::string name, const int& channel){ andrew@23: //kick - track type 0 andrew@23: //bass - type 1 andrew@23: //snare type 2 andrew@52: //guitar type 3 andrew@52: if (channel >= 0 && channel <= numberOfAudioTracks){ andrew@23: loadedAudioPtr = new LoadedAudioHolder; andrew@38: //set tracktype before we do analysis andrew@38: //so we dont do unnecessary chroma and pitch calculations andrew@38: loadedAudioPtr->setTrackType(channel); andrew@23: loadedAudioPtr->loadAudioFile(name); andrew@38: andrew@23: loadedAudioFiles[channel] = *loadedAudioPtr; andrew@23: loadedAudioFiles[channel].fileLoader.onsetDetect.window.setToRelativeSize(0, trackScreenHeight*channel, 1, trackScreenHeight); andrew@38: //loadedAudioFiles[channel].setTrackType(channel); andrew@23: } andrew@23: } andrew@23: andrew@1: andrew@1: andrew@1: void RecordedMultitrackAudio::drawTracks(){ andrew@1: andrew@1: for (int i = 0;i < numberOfAudioTracks;i++){ andrew@1: loadedAudioFiles[i].draw(); andrew@1: } andrew@1: } andrew@1: andrew@50: #pragma mark -update andrew@1: void RecordedMultitrackAudio::updatePosition(){ andrew@1: for (int i = 0;i < numberOfAudioTracks;i++) andrew@1: loadedAudioFiles[i].updateToPlayPosition(); andrew@1: } andrew@1: andrew@9: void RecordedMultitrackAudio::updatePositionToMillis(const double& millis){ andrew@9: for (int i = 0;i < numberOfAudioTracks;i++) andrew@9: loadedAudioFiles[i].updateToMillisPosition(millis); andrew@9: } andrew@2: andrew@50: void RecordedMultitrackAudio::updatePlaybackPositionToMillis(const double& millis){ andrew@50: for (int i = 0;i < numberOfAudioTracks;i++) andrew@50: loadedAudioFiles[i].updatePlaybackPositionToMillis(millis); andrew@50: } andrew@50: andrew@1: void RecordedMultitrackAudio::switchScreens(){ andrew@1: for (int i = 0;i < numberOfAudioTracks;i++) andrew@1: loadedAudioFiles[i].switchScreens(); andrew@1: } andrew@1: andrew@1: andrew@1: void RecordedMultitrackAudio::togglePlay(){ andrew@1: for (int i = 0;i < numberOfAudioTracks;i++) andrew@1: loadedAudioFiles[i].togglePlay(); andrew@1: } andrew@1: andrew@1: void RecordedMultitrackAudio::stop(){ andrew@1: for (int i = 0;i < numberOfAudioTracks;i++) andrew@1: loadedAudioFiles[i].stop(); andrew@1: } andrew@1: andrew@1: andrew@1: void RecordedMultitrackAudio::printInfo(){ andrew@1: loadedAudioFiles[0].fileLoader.onsetDetect.printChromaInfo(); andrew@1: loadedAudioFiles[0].printEvents(); andrew@1: } andrew@1: andrew@1: void RecordedMultitrackAudio::windowResized(const int& w, const int& h){ andrew@1: for (int i = 0;i < numberOfAudioTracks;i++) andrew@1: loadedAudioFiles[i].windowResized(w, h); andrew@1: } andrew@1: andrew@1: void RecordedMultitrackAudio::zoomIn(){ andrew@50: printf("zoom in\n"); andrew@1: for (int i = 0;i < numberOfAudioTracks;i++) andrew@1: loadedAudioFiles[i].fileLoader.zoomIn(); andrew@1: } andrew@1: andrew@1: void RecordedMultitrackAudio::zoomOut(){ andrew@50: printf("zoom out\n"); andrew@1: for (int i = 0;i < numberOfAudioTracks;i++) andrew@1: loadedAudioFiles[i].fileLoader.zoomOut(); andrew@1: } andrew@1: andrew@1: