Fix inaccurate beat snapping for Quaver charts.

This commit is contained in:
2023-03-06 08:16:42 +08:00
parent 2f10c79dee
commit 717e77b47e
3 changed files with 4 additions and 3 deletions

View File

@@ -60,7 +60,7 @@ namespace Cryville.Crtr.Extensions.Quaver {
evs.Sort();
var longevs = new Dictionary<EventWrapper, ChartEvent>();
var tm = new TimeTimingModel(src.TimingPoints[0].StartTime / 1e3);
var tm = new TimeTimingModel(src.TimingPoints[0].StartTime / 1e3, 2e-3);
foreach (var ev in evs) {
tm.ForwardTo(ev.StartTime / 1e3);
if (ev is EventWrapper.HitObject) {
@@ -84,6 +84,7 @@ namespace Cryville.Crtr.Extensions.Quaver {
else if (ev is EventWrapper.TimingPoint) {
var tev = (EventWrapper.TimingPoint)ev;
tm.BPM = tev.Event.Bpm;
tm.ForceSnap();
chart.sigs.Add(new Chart.Signature {
time = tm.FractionalBeatTime,
tempo = tev.Event.Bpm,