Pull up FractionalBeatTimeTimingModel.

This commit is contained in:
2022-12-12 23:48:15 +08:00
parent a8658856ca
commit 4b4356aaab
4 changed files with 79 additions and 24 deletions

View File

@@ -0,0 +1,20 @@
namespace Cryville.Crtr.Extensions {
public abstract class TimingModel {
public double Time { get; protected set; }
public double BeatTime { get; protected set; }
public BeatTime FractionalBeatTime { get; protected set; }
public double BPM { get; set; }
public TimingModel() {
FractionalBeatTime = new BeatTime(0, 0, 1);
}
}
public class FractionalBeatTimeTimingModel : TimingModel {
public void ForwardTo(BeatTime t) {
if (t == FractionalBeatTime) return;
FractionalBeatTime = t;
var nt = t.Decimal;
Time += (nt - BeatTime) / BPM * 60;
BeatTime = nt;
}
}
}