rism-digital / verovio

🎵 Music notation engraving library for MEI with MusicXML and Humdrum support and various toolkits (JavaScript, Python)
https://www.verovio.org
GNU Lesser General Public License v3.0
660 stars 181 forks source link

Implement optional repeats expansion on MIDI output #3733

Open fernandoherreradelasheras opened 1 month ago

fernandoherreradelasheras commented 1 month ago

This should take into consideration elements, section level and all supported measure-level repetition elements.

Also, if a group of measures to be repeated contains n verses the repeat should be expanded n-times using the n-th verse on each of those expansions.

Muromi-Rikka commented 1 month ago

This is a requirement that has not been refined for a long time. It is possible that the developers consider it insignificant for rendering, which is why this issue has not been resolved. as #235

lpugin commented 1 month ago

As explained here, you can do this with an <expand> element indicating the succession of repeats. This allows for complex repetitions patterns to be properly represented, both in visually and in MIDI. You need to pass the option --expand for this to be triggered.

If you need only the MIDI repeated but the not visually, you simply need to render it twice, once with --expand for the MIDI and once without for the visual output.