- Fixed: When playing a MIDI file with EMIDI track designations to turn a

track off, any ticks that had only events on the disabled track would cause
  the delay for that track to be thrown away, and the following notes on
  enabled tracks would play too soon. This could be heard quite clearly in
  xplasma.mid, where track 4 (FMGlass Drone 1) would interfere with the timing
  of tracks 13 and 14 (EP1 Melody and EP1 Echo).

SVN r937 (trunk)
This commit is contained in:
Randy Heit 2008-04-24 23:00:25 +00:00
commit 52f6549aa0
2 changed files with 17 additions and 3 deletions

View file

@ -549,11 +549,18 @@ DWORD *MIDISong2::SendCommand (DWORD *events, TrackInfo *track, DWORD delay)
break;
}
}
if (event != MIDI_META && (!track->Designated || (track->Designation & DesignationMask)))
if (event != MIDI_META)
{
events[0] = delay;
events[1] = 0;
events[2] = event | (data1<<8) | (data2<<16);
if (!track->Designated || (track->Designation & DesignationMask))
{
events[2] = event | (data1<<8) | (data2<<16);
}
else
{
events[2] = MEVT_NOP;
}
events += 3;
}
}