Notice that after the volta the notes are played arco, even though the arco is not encountered during play. This also happens with tempo, swing and I would suspect instrument changes and dynamics. I can't think of any other text that has an impact on playback.
Developer note:
I believe (not verified) this to be related to how the TempoMap is built upon ticks, while perhaps it should be based off of the unwound RepeatList of the score.
Lookup of the effective dynamic has a similar issue as well.
fix #231711: Tempo, staff text and other text honored in skipped volta
Volta stores tempo, velocity and channel at the tick before volta and sets it at the last tick of volta
velosity and channel is set inside Score::renderMidi. But tempo is set inside volta::layoutSystem because we need set tempo here because all tempos of score are set in layout. So fermata in seconda volta works correct because fermata apply itself tempo during layouting
Comments
I pushed the wrong #$^%# button.
Came up in https://musescore.org/en/node/231281
Test attached score.
volta bug.mscz
Notice that after the volta the notes are played arco, even though the arco is not encountered during play. This also happens with tempo, swing and I would suspect instrument changes and dynamics. I can't think of any other text that has an impact on playback.
Relates to #272381: [EPIC] Tempotext issues
Developer note:
I believe (not verified) this to be related to how the TempoMap is built upon ticks, while perhaps it should be based off of the unwound RepeatList of the score.
Lookup of the effective dynamic has a similar issue as well.
see https://github.com/musescore/MuseScore/pull/3980
Fixed in branch master, commit b736b8c8ab
fix #231711: Tempo, staff text and other text honored in skipped volta
Volta stores tempo, velocity and channel at the tick before volta and sets it at the last tick of volta
velosity and channel is set inside Score::renderMidi. But tempo is set inside volta::layoutSystem because we need set tempo here because all tempos of score are set in layout. So fermata in seconda volta works correct because fermata apply itself tempo during layouting
Fixed in branch master, commit ea5d6514dd
Merge pull request #3980 from handrok/#231711-Volta_repeat
fix #231711: Tempo, staff text and other text honored in skipped volta
Automatically closed -- issue fixed for 2 weeks with no activity.