|
|
|
@ -1220,11 +1220,12 @@ This is not unlike multiway merging used for tape sorting algoritms in the 50's! |
|
|
|
|
|
|
|
|
|
delta_time = earliest_time - timenow; |
|
|
|
|
if (delta_time) { |
|
|
|
|
gen_stopnotes(); /* first check if any tone generators have "stop note" commands pending */ |
|
|
|
|
/* Convert ticks to milliseconds based on the current tempo */ |
|
|
|
|
unsigned long long temp; |
|
|
|
|
temp = ((unsigned long long) delta_time * tempo) / ticks_per_beat; |
|
|
|
|
delta_msec = temp / 1000; // get around LCC compiler bug
|
|
|
|
|
if (delta_msec) { |
|
|
|
|
gen_stopnotes(); /* first check if any tone generators have "stop note" commands pending */ |
|
|
|
|
if (loggen) |
|
|
|
|
fprintf (logfile, "->Delay %ld msec (%ld ticks)\n", delta_msec, delta_time); |
|
|
|
|
if (delta_msec > 0x7fff) |
|
|
|
@ -1239,6 +1240,7 @@ This is not unlike multiway merging used for tape sorting algoritms in the 50's! |
|
|
|
|
outfile_items (2); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
timenow = earliest_time; |
|
|
|
|
|
|
|
|
|
/* If this track event is "set tempo", just change the global tempo.
|
|
|
|
|