ReducedFraction findBarStart(const ReducedFraction &time, const TimeSigMap *sigmap) { int barIndex, beat, tick; sigmap->tickValues(time.ticks(), &barIndex, &beat, &tick); return ReducedFraction::fromTicks(sigmap->bar2tick(barIndex, 0)); }
ReducedFraction endOfBarForTick(const ReducedFraction &tick, const TimeSigMap *sigmap) { int bar, beat, tickInBar; sigmap->tickValues(tick.ticks(), &bar, &beat, &tickInBar); return ReducedFraction::fromTicks(sigmap->bar2tick(bar + 1, 0)); }