Weil Tick gleicht GetTickCount und TempoWait das aktuell eingestellte Tempo ist mit welchen der Song abspielt.
Delphi-Quellcode:
Tick := GetTickCount;
// Starte den Song
while PlayingSong do
begin
//Weiterlaufen bis die 16.tel Note (Pause) abgelaufen ist
while GetTickCount < Tick + TempoWait do
Winprocessmessages;
Tick := GetTickCount;
PlayNotes;
DrawGraphics(WinHandle);
hsi.nPos := StartX + XSizeMid;
SetScrollInfo(WinHandle, SB_HORZ, hsi, True);
end;
Delphi-Quellcode:
ID_TRACK_TEMPO:
begin
MidiTracker.Tempo := SKAERO_GetTrackValue(SKAERO_GetMainItem(MainHandle, ID_TRACK_TEMPO));
TempoWait := 1000 div round((MidiTracker.Tempo / 15));
end;
gruss