cuthbertLab / music21j

Javascript port of music21 -- Toolkit for Computational Musicology
Other
142 stars 41 forks source link

Renderer.vexflowNotes() build tuplets incorrectly that begin with division #221

Open vanderstel opened 1 year ago

vanderstel commented 1 year ago

Renderer.vexflowNotes() calculates the length of a tuplet as the Tuplet.totalTupletLength() of the first note in the tuplet. This is a problem when the tuplet starts with a division of the note value, such as when an 8th triplet begins with 16th notes:

Screen Shot 2023-03-30 at 1 12 57 PM
mscuthbert commented 1 year ago

yeah, this is a problem with all triplet generating software (for Finale, I basically have a muscle memory to create a [8844] tuplet by writing 4-8-8-left-left-delete(4)-right-right-4-4).

What absolutely needs to happen is to rewrite tinyNotation.TinyNotation to use a translation of the m21p Converter class, and then be able to make Converter subclasses like m21p allows.