comparison src/CannamMidiFileLoader.cpp @ 17:d75d16c57eac

Fixed the ordering of the note matrix when loaded so it has a double check feature that they are ordered min to max. Prevents draw problems down the line
author Andrew N Robertson <andrew.robertson@eecs.qmul.ac.uk>
date Tue, 15 Nov 2011 20:06:55 +0000
parents f0abb0e414ec
children
comparison
equal deleted inserted replaced
16:f0abb0e414ec 17:d75d16c57eac
9 9
10 #include "MIDIFileReader.h" 10 #include "MIDIFileReader.h"
11 #include "CannamMidiFileLoader.h" 11 #include "CannamMidiFileLoader.h"
12 12
13 CannamMidiFileLoader::CannamMidiFileLoader(){ 13 CannamMidiFileLoader::CannamMidiFileLoader(){
14 chopBeginning = false; 14 chopBeginning = true;
15 } 15 }
16 16
17 int CannamMidiFileLoader::loadFile(std::string& filename, midiEventHolder& myMidiEvents){ 17 int CannamMidiFileLoader::loadFile(std::string& filename, midiEventHolder& myMidiEvents){
18 18
19 noteOnIndex = 0; 19 noteOnIndex = 0;
242 } 242 }
243 243
244 244
245 } 245 }
246 246
247 myMidiEvents.printRecordedEvents(); 247 myMidiEvents.printRecordedEvents();
248 printf("|||||||||||||||||||||| \n\n\n\n\n\n\n"); 248 printf("|||||||||||||||||||||| \n\n\n\n\n\n\n");
249 myMidiEvents.reorderMatrixFromNoteTimes(myMidiEvents.recordedNoteOnMatrix); 249 myMidiEvents.reorderMatrixFromNoteTimes(myMidiEvents.recordedNoteOnMatrix);
250 myMidiEvents.correctTiming(myMidiEvents.recordedNoteOnMatrix); 250 myMidiEvents.correctTiming(myMidiEvents.recordedNoteOnMatrix);
251 251 myMidiEvents.doublecheckOrder(myMidiEvents.recordedNoteOnMatrix);
252
253 createEventTiming(myMidiEvents);
254
255 myMidiEvents.printRecordedEvents();
256
257 }//end cannam midi main
258
259
260 void CannamMidiFileLoader::createEventTiming( midiEventHolder& myMidiEvents){
252 261
253 long t; 262 long t;
254 t = myMidiEvents.recordedNoteOnMatrix[0][0]; 263 t = myMidiEvents.recordedNoteOnMatrix[0][0];
255 firstNoteTime = myMidiEvents.getEventTimeMillis(t); 264 firstNoteTime = myMidiEvents.getEventTimeMillis(t);
256 265
259 268
260 if (!chopBeginning) 269 if (!chopBeginning)
261 myMidiEvents.recordedEventTimes.push_back(myMidiEvents.getEventTimeMillis(t)); 270 myMidiEvents.recordedEventTimes.push_back(myMidiEvents.getEventTimeMillis(t));
262 else { 271 else {
263 myMidiEvents.recordedEventTimes.push_back(myMidiEvents.getEventTimeMillis(t) - firstNoteTime); 272 myMidiEvents.recordedEventTimes.push_back(myMidiEvents.getEventTimeMillis(t) - firstNoteTime);
264 273
265 } 274 }
266 } 275 }
267 myMidiEvents.printRecordedEvents(); 276
268 277 }
269 }//end cannam midi main 278
270 279
271 280
272
273