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