Progression Bars for full layout, rendering midi, saving, and autosaving#210
Merged
worldwideweary merged 6 commits intoJun 25, 2026
Merged
Conversation
These occurred after removing an extraneous score update via 68303b6 ("Efficiency (WATCH): Seems score update is not required during readScore since openScore performs full layout afterwards", 2026-06-23)
worldwideweary
force-pushed
the
3.x-www-0130-ProgressBarsForLayoutAndSave
branch
from
June 24, 2026 23:48
10dfd05 to
d4d2d11
Compare
Advanced preferences exist to enable/disable the showing of these progress bars (enabled by default) Progress Bar for Render MIDI was mainly for large scores on load. User can cancel early for that. Progress Bar for partial layout can show with tick-span also if Debug Tools command is enabled via Alternative Options/shortcut
worldwideweary
force-pushed
the
3.x-www-0130-ProgressBarsForLayoutAndSave
branch
from
June 24, 2026 23:56
d4d2d11 to
ee0ed53
Compare
…forcing this without checking necessarily, as it seems miniscule." This reverts commit 7137a35.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Resolves: #205
Not only can the user enable/disable pre-rendering MIDI on loading of score, but though enabled, the user can "pre-cancel" during the rendering via a progress bar window, or see approximately duration time with the progress percentage bar. This can get crazy for really large scores:
This is with a 200 page multi-piano scores file:
Loading:

And then Rendering MIDI:

It's no question as to why MuseScore doesn't normally pre-render scores on load in MuseScore. Takes way too long - it's the same thing that happens when exporting to a MIDI file. Instead, it's done piecewise during playback of the sequencer in chunks depending on the sequencer's location. I was under the false impression that a quick playing of the score updated all the gateTimes and offsets. But no, it's again based on chunks. You can verify this by going to the Piano Roll Editor on a large score, play+stop and see the updates but then go forward and look at the events.
Also, doing a full score layout will show a progress bar (happens on score load but also when style changes take place etc)
Also, doing a save to file operation and an auto-save. It's not really the "saving" that takes a long time but the layout that occurs in the process from what I can tell. These can be enabled to show or not. Usually I'd want them off, but the fact is that on large scores there can be temporary "doing nothings" that can be concerning, and it's nice to see that it's due to a progressing auto-save of a 300 page score or something rather than just feeling glitchy. The point being that it's controllable:
advanced preferences:
Could be useful also if I come across a bug that triggers a full score layout when it shouldn't. Getting visual feedback...
I was even thinking about showing any layout progress with begin/end ticks on the dialog, but that'd definitely be more of a "debugging" attribute. Hell, maybe I should do that and make it based on whether the debug toggle is on or off. OK. Partial layout progress bar is contingent upon skylines showing, which can be selected on/off easily with the Debug Option on the Alternative Options toolbar.