void TimeSigMap::normalize() { int z = 4; int n = 4; int tick = 0; int bar = 0; int tm = ticks_measure(Fraction(z, n)); for (iSigEvent i = begin(); i != end(); ++i) { SigEvent& e = i->second; e.setBar(bar + (i->first - tick) / tm); bar = e.bar(); tick = i->first; tm = ticks_measure(e.timesig()); } }
void TimeSigMap::normalize() { int z = 4; int n = 4; int tick = 0; TimeSigFrac bar; int tm = ticks_measure(TimeSigFrac(z, n)); for (auto i = begin(); i != end(); ++i) { SigEvent& e = i->second; bar += TimeSigFrac(i->first - tick, tm).reduced(); e.setBar(bar.numerator() / bar.denominator()); tick = i->first; tm = ticks_measure(e.timesig()); } }