Open infojunkie opened 1 month ago
The unrolling transformation accepts a renumberMeasures
param that loses the original measure numbers.
For a more reliable approach, we can use measure.id
as per https://github.com/infojunkie/musicxml-midi/issues/46.
The core Verovio engine does not support jumps and repeats when converting MusicXML to MIDI.
In order to have our own
VerovioConverter
support jumps and repeats, the trivial solution is to unroll the score at the level ofPlayer
. However, this means that the score now shows unrolled, which is not ideal.To keep the original jumps and repeats in
Player
, we need to fix both the MIDI generator and the timemap generator inVerovioConverter
.The MIDI generator can be already solved today by automatically unrolling the incoming MusicXML before feeding it to the core Verovio MIDI converter.
For the timemap generator, the unrolling approach would not work, because it would be out of sync with the
Player
display. The problem to be solved is to map an incoming timestamp from the unrolled MIDI to the original score. We don't have the benefit of our ownmusicxml-midi
annotations in the MIDI stream, which allow to create the proper timemap. One invariant we can rely on is the measure'snumber
attribute that gets duplicated during unrolling.