drumset edit not applied to the current notation until relayout
Reported version
3.0
Priority
P1 - High
Type
Graphical (UI)
Frequency
Once
Severity
S3 - Major
Reproducibility
Always
Status
active
Regression
No
Workaround
No
Project
1-Enter some rythm in a drum part
2- Edit drumset
3-Click apply and then OK
Nothing change for the current notation. But changes are made for new notation
Comments
I'm not sure that having the change in existing notes is such a good idea. It at times gets ambiguous if you add or subtract instruments. If I use Edit Drumset to change sounds, I select the previous measures and press up arrow then down arrow to reassign the sounds or voices. Only one arrow is necessary if there is only one instrument assigned to the drum set.
Thanks for the shortcuts with the arrows !
I still think it's more straightforward to have the change made when hitting ok than having to use the shortcuts, and it was what did MsC 2 so I'm not sure it is really done by design in MsC 3 ? :-)
I'm not the most knowledgeable in percussion notation, so maybe someone smarter than me can comment. Perhaps @Daniel. He's the one who's working on MDL and may have a reason for making it work this way.
For me, the notation updates itself on the next layout - eg, as soon as I enter a new note, the old ones are updated. It also updates immediately if I make the change while in note input mode (using the drum palette, as opposed to right-click menu from normal mode). So it's pretty clear the intent is to update the notation, and I do believe this is the correct answer. We just need to be sure to always do it right away.
A brief investigation shows it is easy to add the setLayoutAll() to the popup handler in scoreview.cpp, but then it still won't update properly on undo. I supposed we need to call setLayoutAll() in ChangeDrumset::flip(), but currently we don't have access to the current score at that point from what I can tell. And I am always reluctant to make change to the undo structure. So I'm going to leave this for now.