Conflicts:
	inc/jasmid/replayer.js
master
Michael Deal 2013-02-19 12:22:28 -08:00
commit b8e0cca45e
1 changed files with 9 additions and 9 deletions

View File

@ -68,15 +68,15 @@ function Replayer(midiFile, timeWarp, eventProcessor) {
var midiEvent; var midiEvent;
var temporal = []; var temporal = [];
// //
function processEvents() { function processEvents() {
function processNext() { function processNext() {
// respect Tempo Event - Mani if ( midiEvent.event.type == "meta" && midiEvent.event.subtype == "setTempo" ) {
if (midiEvent.event.type == "meta" && midiEvent.event.subtype == "setTempo" ) { // tempo change events can occur anywhere in the middle and affect events that follow
beatsPerMinute = 60000000 / midiEvent.event.microsecondsPerBeat; beatsPerMinute = 60000000 / midiEvent.event.microsecondsPerBeat;
} }
if (midiEvent.ticksToEvent > 0) { if (midiEvent.ticksToEvent > 0) {
var beatsToGenerate = midiEvent.ticksToEvent / ticksPerBeat; var beatsToGenerate = midiEvent.ticksToEvent / ticksPerBeat;
var secondsToGenerate = beatsToGenerate / (beatsPerMinute / 60); var secondsToGenerate = beatsToGenerate / (beatsPerMinute / 60);
} }
var time = (secondsToGenerate * 1000 * timeWarp) || 0; var time = (secondsToGenerate * 1000 * timeWarp) || 0;
temporal.push([ midiEvent, time]); temporal.push([ midiEvent, time]);
@ -93,4 +93,4 @@ function Replayer(midiFile, timeWarp, eventProcessor) {
return clone(temporal); return clone(temporal);
} }
}; };
}; };