We currently use an Int to measure the length of events with a fixed value of 2048 ticks per quarter note.
While this covers most cases, there are situations where the length of the notes in a tuplet cannot be represented with an integer value of ticks.
For example an eight note triplet is the length of a quarter note = 2048 ticks, and each note of the triplet is 2048/3 ticks = 682.666666.... which is currently rounded down to 682 and leads to an incorrect number of total ticks.
There is a failing test that demonstrates this: testCumulativeTicksBeginningOfTuplet()
We currently use an Int to measure the length of events with a fixed value of 2048 ticks per quarter note. While this covers most cases, there are situations where the length of the notes in a tuplet cannot be represented with an integer value of ticks. For example an eight note triplet is the length of a quarter note = 2048 ticks, and each note of the triplet is 2048/3 ticks = 682.666666.... which is currently rounded down to 682 and leads to an incorrect number of total ticks. There is a failing test that demonstrates this:
testCumulativeTicksBeginningOfTuplet()