habe jetzt mal ein und das gleiche MidiFile geparst und stelle fest das MidiFile2 unterschiede zeigt.
Zitat:
StartTime: 53013 0 > 53014
StartTime: 53218 1 > 53219
StartTime: 53423 2 > 53425
StartTime: 53833 3 > 53836
StartTime: 54038 4 > 54041
StartTime: 54243 5 > 54247
StartTime: 54653 6 > 54658
StartTime: 54755 7 > 54760
StartTime: 56296 8 > 56301
StartTime: 56501 9 > 56507
StartTime: 56706 10 > 56712
StartTime: 56911 11 > 56918
StartTime: 57321 12 > 57329
StartTime: 57526 13 > 57534
StartTime: 57526 14 > 57534
StartTime: 59580 15 > 59589
StartTime: 59785 16 > 59795
StartTime: 59990 17 > 60000
StartTime: 60400 18 > 60411
StartTime: 60605 19 > 60616
StartTime: 60810 20 > 60822
StartTime: 61323 21 > 61336
StartTime: 62658 22 > 62671
StartTime: 63068 23 > 63082
StartTime: 63273 24 > 63288
StartTime: 63546 25 > 63562
StartTime: 63819 26 > 63836
StartTime: 64092 27 > 64110
StartTime: 64400 28 > 64418
StartTime: 64502 29 > 64521
StartTime: 64502 30 > 64521
StartTime: 66145 31 > 66164
Nur ein kleiner ausschnitt.
Die Frage wäre dann woher diese Unterschiede DateiTypen bedingt?
Die position wird berechnet..
Delphi-Quellcode:
result := round(PTempoData(FTempoList[K])^.TimePos
+ ((TickVal - PTempoData(FTempoList[K])^.TickPos) / FTicksPerQuarter)
* (PTempoData(FTempoList[K])^.Tempo / 1000.0));
TTempoData = record
TickPos: LongWord;
TimePos: LongWord;
Tempo: LongWord;
end;
FTicksPerQuarter: Word;
result: LongWord;
was könnte jetzt die Differenz ausmachen?
Wie man sehen kann addiert sich die ungenauigkeit deshalb stehe ich auch nicht
auf der richtigen Cursor position im Text.
gruss
gruss