Skip to content

Update progress bars for layout/save/render midi + other fixes - #211

Merged
worldwideweary merged 30 commits into
3.x-worldwidewearyfrom
3.x-www-0131-ProgressBarUpdatesAndOtherFixes
Aug 3, 2026
Merged

Update progress bars for layout/save/render midi + other fixes#211
worldwideweary merged 30 commits into
3.x-worldwidewearyfrom
3.x-www-0131-ProgressBarUpdatesAndOtherFixes

Conversation

@worldwideweary

@worldwideweary worldwideweary commented Jun 28, 2026

Copy link
Copy Markdown
Owner

Haven't been really sticking with the idea of single concepts for Pull Requests, but it is what it is. This will probably this kind of large PR, and it's mainly about the previous progress dialogues, but then it became another big collection of changes in the process of having to update things.

Update Progress Bars

  • Score loading, saving, layout, and also MIDI rendering will have progress bars in the status bar. No pop-ups for rendering midi like shown in the video below (outdated). Score loading and MIDI rendering will allow user to press ESC to prematurely quit the process, both within the main program and during Restore Session with the splash screen: during loading phase, if the user presses ESC, it will cancel loading the score and not open a tab for it.

  • Continuous View is one system. It's different than Single Page, and I can't calculate a smooth percentage because it occurs in different "sporadic" phases of layout rather than an accumulation of pages, but I've found a compromise at least to give some sort of percentage (here's a large score loading, choppily compared to the smoothness of page/single page view):

continuous.mp4
  • Splash Screen retained when clicking on it or if changing window focus. This is in order to allow user to press escape if needing to cancel the Restore Session phase. Originally, it would just hide as default QSplashScreen behavior.

After getting #210 working, I had the unfortunate occurrence of auto-save pop-up while looking through style settings or something, and then when the pop-up was done, focus went back to the main app rather than the preference settings dialog. And layout occurs after changes, so it was constantly losing focus. This motivated me to get something more subtle, so I decided to go with using a QProgressBar shown in the Status Bar located at the bottom of the screen. Problem there is that there's one instance of needing to be able to cancel during the progression: Rendering MIDI on during load of score or restoring previous session if the property is enabled to allow pre-loading the midi.

Instead of having all these progress options to show or not, this is what'll happen: There's only one option, and that's loading MIDI events on loading a score. Everything else will be automatic:

Outdated:

  1. Restoring Session + Shows Rendering MIDI which can and is skipped: (pop-up is out of date)
splash2.mp4

Saving shown on status bar:

saveStatusBar.mp4

Automatic Curly Quotes

For now, in order to get regular vertical slabs, user will have to use CTRL+' or CTRL+". There's no undo-stack like with 4.x version to get the vertical ones. Curly comes automatically:

curlyquotes

Beginning Text Editing will update the view to try to include the system's entire top and bottom skyline.

textEditAdjust

Fixes

Things that should've been in the first place

Splash Screen

Looks different than usual with a blue-grey gradient and a cute sub-version: 3.7.1

It's nice to see when the score is autosaving. If the user has a huge score loaded, it's awkward to not know why there's a seemingly arbitrary hangup, and often times it's due to timed autosaves. I wouldn't not want to have these progress bars!

List Selection

With a list-selection of all same types, information regarding the first element of the list will display. So like a key signature on a grandstaff for instance will show the information instead of merely "List Selection". Mouse hovering worked anyway for this stuff on this version, so whatever, but still. And if the types are different, the statement says so:

image

Oh boy:
image

And if hovering over an item, there now is a text saying "Hovering over" to re-affirm that's what it is instead of a selection

image
  • Note-entry now has a distinct look which I'm not necessarily all in about, but for now... If I remember, it might be slightly taller, but is aligned to the left as a "pre-cursor" instead of highlighter (The color's a little funny in my 3.6.2 right now)
image

instead of 3.6.2:
image

Efficiency: Speed up text editing. 3.6.2 originally does a full layout for each keystroke of the musical system surrounding it, which can be slow on a large score if you type fairly quickly. I'm one of those people who absolutely hate the feeling of "slow down" when doing something like typing. I've ripped that out and the final layout gets registered when exiting edit mode. Way snappier, but at the cost of maybe having the y-offset slightly off during edit until finalizing edit, which is fine by me.

Experiment:

  • Set ui/score/elements/override/color/inactiveMeasure to have a distinct color override for every element not found within the current measure (note entry cursor or playback cursor).
  • Either 1) keep it black + changed alpha to honor the elements' distinct colors but override their alpha transparency, or 2) change the color entirely for everything. Kind of a gimmick, but whatever:
image

Float Mode

  • There's a hidden mode called "Float" that is a page view but doesn't vertically space the systems. It's like a "Minimal spacing" Vertically continuous page, like Single Page, but again without extra spacing and omits the line breaks/page breaks. It's impractical

@worldwideweary
worldwideweary force-pushed the 3.x-www-0131-ProgressBarUpdatesAndOtherFixes branch from 8fd09b5 to d27d0aa Compare June 28, 2026 08:43
@worldwideweary worldwideweary changed the title 3.x www 0131 progress bar updates and other fixes Update progress bars for layout/save/render midi + other fixes Jun 28, 2026
@worldwideweary
worldwideweary force-pushed the 3.x-www-0131-ProgressBarUpdatesAndOtherFixes branch from 750c7df to ad3b2f2 Compare June 29, 2026 08:53
@worldwideweary
worldwideweary force-pushed the 3.x-www-0131-ProgressBarUpdatesAndOtherFixes branch 5 times, most recently from 4cabdd8 to 86637b1 Compare August 2, 2026 02:21
@worldwideweary
worldwideweary force-pushed the 3.x-www-0131-ProgressBarUpdatesAndOtherFixes branch from 86637b1 to 5a1b8c3 Compare August 2, 2026 03:11
@worldwideweary
worldwideweary force-pushed the 3.x-www-0131-ProgressBarUpdatesAndOtherFixes branch from 5a1b8c3 to d2280ec Compare August 2, 2026 03:35
@worldwideweary
worldwideweary force-pushed the 3.x-www-0131-ProgressBarUpdatesAndOtherFixes branch from d2280ec to 1d5f49e Compare August 2, 2026 03:48
@worldwideweary
worldwideweary force-pushed the 3.x-www-0131-ProgressBarUpdatesAndOtherFixes branch from 1d5f49e to e0deabc Compare August 2, 2026 05:20
@worldwideweary
worldwideweary force-pushed the 3.x-www-0131-ProgressBarUpdatesAndOtherFixes branch from e0deabc to f26dfcf Compare August 2, 2026 06:03
…screen will show load.

Rendering MIDI will show as a pop-up if the preference is enabled,
capable of being
cancelled with cancel button or escape key.
All the other progresses will be "baked" in and not optional
Multiple Qt::connections() were made erroneously, triggering for example selectScore() twice
This reverts commit 9648503.
@worldwideweary
worldwideweary force-pushed the 3.x-www-0131-ProgressBarUpdatesAndOtherFixes branch from f26dfcf to 875d075 Compare August 2, 2026 21:34
…DI rendering both in splash screen and in main application work
4.x uses an undo stack to get back to regular quotes if desired.
Here I allow ' or " with Ctrl + apostrophe or double quote

The flip of start/end was a simple way to make sure that if starting
with a " after a full selection that the cursor would be at the
beginning and register the proper start quote instead of at the end.
MSS4 does this already, but not from this section, so there must be
something else going on that fixes it. For now, this works just fine
though and should have no repercussions
…t or elements of same type

If of the same elemente type, information regarding the first element of
that type will be included
…going from hovering to non-hovering to show the score selection info
…ution) but not between this particular version

Reason: personal builds get confusing if running multiple times, not knowing for sure which state I'm in if it happens accidentally, while developing.
I definitely don't mind having regular 3.7-Evolution running or old 3.6.2 for a quick test here and there, though.
Found this by seeing score layout act funny with the new progress bars
The bug is present in 3.6.2 and 3.7-evolution currently. It may also affect
other texts like staff text when skipping with alt+right etc, but not sure
+ When hover color is opaque so that it triggers drawing behind everything,
make sure that the note-entry cursor, when it is behind also, draws on top
of it so that they both show

+ Omit drawing when in Note Entry Mode
…measures

Outline is contingent upon enabling Lasso Border in adv. pref
The regular selection code was refactored into its own function
Draw behind note-entry when it is drawn behind staff
Now there's a left line similar to Mu4, but the box itself no longer
encompasses but acts as a left sided cursor.
Got rid of range selection indicator, but does drawn after range selection
Works in Note-Entry and Playback. Had in mind the alpha change, so that
whereever the note-entry position's measure is or playback measure, it's
regular, but everything else is faded
Was noticing snags, turns out  the score layout its associated with each
letter press, and you can feel it when typing quickly.
Has something to do with multi calls to the populateToggleOptionsMenu
@worldwideweary
worldwideweary force-pushed the 3.x-www-0131-ProgressBarUpdatesAndOtherFixes branch from 875d075 to 79f7180 Compare August 2, 2026 22:42
@worldwideweary
worldwideweary merged commit 0c87dfa into 3.x-worldwideweary Aug 3, 2026
14 of 15 checks passed
@worldwideweary
worldwideweary deleted the 3.x-www-0131-ProgressBarUpdatesAndOtherFixes branch August 4, 2026 11:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant