Regression: display of beam properties for a selected note
Reported version
3.x-dev
Priority
P1 - High
Type
Graphical (UI)
Frequency
Few
Severity
S3 - Major
Reproducibility
Always
Status
closed
Regression
Yes
Workaround
No
Project
In version 2.x, when you selected a note and opened the beam properties palette, the current beam property of the note (e.g. "beam start", "auto beam", etc.) would be highlighted. This does not happen in version 3.
Fix version
3.4.0
Comments
Confirmed
Thanks for filing this - I noticed it too yesterday but forgot to report it.
The fix is supposed to be easy...
https://github.com/musescore/MuseScore/pull/4726
Pull request created.
Fixed in branch master, commit c3d0c12df1
fix #281957 beam property highlighting for selected notes
Fixed in branch master, commit 6d35784325
_Merge pull request #4726 from peterhieuvu/281957-beamproperties
fix #281957 beam property highlighting for selected notes_
Thanks for taking this on! It's somewhat of an improvement, but it only works for selection by clicking, not for any other means of selection (eg, cursor). So it ends up being more misleading than not showing anything, I'm afraid. I'd recommend going back to your original approach of doing it in MuseScore::endCmd(), and then keep the existing call you have only to catch the clickOffElement case.
Sorry I didn't have comments this detailed earlier, was hoping someone who knew this code better would do so.
In reply to Thanks for taking this on! … by Marc Sabatella
You’re right! I actually had code to cover special bases which was why my function had the default parameter value of false, but for some reason when I did my final testing before the PR I ended up removing one of the function calls thinking it was unnecessary. Also by cursor, do you mean like using the left and right arrows? Thank you for the reminder, I will fix it when I get home or when I get the chance.
Great! Yes, I mean left/right arrow keys, there are various other similar commands to that can result in the selectin changing. As long as the selection is a single note or rest (easy to check, ask on telegram if you need help). the beam palette should be updated.
https://github.com/musescore/MuseScore/pull/4766
Alright I fixed the issue and found another issue along the way that I fixed too. Upon deselection of the element where clickOffElement isn't set to true, I never updated the UI so it didn't show that no valid chordRest is selected until you hovered over the cells or changed the selection. I did have to do it in Musescore::endCmd() instead of Musescore::selectionChanged() based on my current knowledge though. I have a bit more explaining why in the pull request. Thank you for your help!
Fixed in branch master, commit d57c4d2140
fix #281957 move highlight update to work for cursor changes and on click of other elements that aren't notes
Fixed in branch master, commit 3472631b31
_Merge pull request #4766 from peterhieuvu/281957-beamproperties
fix #281957 move highlight update to work for cursor changes and on click of elements that aren't notes_
Fixed in branch 3.0.5, commit 00f9997e4e
_Merge pull request #4726 from peterhieuvu/281957-beamproperties
fix #281957 beam property highlighting for selected notes_
Fixed in branch 3.0.5, commit 2ef2bf50f1
_Merge pull request #4766 from peterhieuvu/281957-beamproperties
fix #281957 move highlight update to work for cursor changes and on click of elements that aren't notes_
Automatically closed -- issue fixed for 2 weeks with no activity.
This has stopped working with the new QML palettes.
Hmm, I was looking into the new QML code but it looks like it might be a bit more difficult to implement this time. The painting is a lot more abstracted away and there's no clear way it seems to mark something to be draw for selection based off of something else in the code.
And probably a lot of that code is still in active development. So I figure this will be one for @dmitrio95
This has been fixed with d1f1233, but there is still room for improvement. For one thing, the palette cell is deactivated when the user clicks on the canvas to drag the score, even though the selection does not change if the canvas is moved before the mouse is released. Now that
ScoreView::mouseReleaseEvent()
callsmscore->endCmd()
after modifying the selection (like it should have done all along), it is no longer necessary to (mis)use theclickOffElement
variable to determine whether or not the beam mode palette cells should be deactivated. Also, there is no reason to deactivate all palette cells if the selection contains multiple ChordRests, as long as all of the ChordRests have the same beam mode.Both of the concerns I raised above are addressed in the first commit of https://github.com/musescore/MuseScore/pull/5494.
Fixed in branch master, commit e3dd8fe885
_fix #281957: display of beam properties for a selected note
Do not deactivate the highlighted beam mode palette cell when the user clicks on the canvas to drag the score. Also, highlight the beam mode for multiple selected ChordRests, if they all have the same beam mode._
Fixed in branch master, commit 08cb101e60
_Merge pull request #5494 from mattmcclinch/297425-drag-multiple
fix #281957, fix #297425: Display of beam properties and Dragging multiple selected elements_
Automatically closed -- issue fixed for 2 weeks with no activity.