-
Notifications
You must be signed in to change notification settings - Fork 2.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Percussion panel - refinements round 4 #25958
Merged
RomanPudashkin
merged 3 commits into
musescore:master
from
mathesoncalum:percussions_refinements_4
Jan 7, 2025
Merged
Percussion panel - refinements round 4 #25958
RomanPudashkin
merged 3 commits into
musescore:master
from
mathesoncalum:percussions_refinements_4
Jan 7, 2025
Conversation
This file contains 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
mathesoncalum
force-pushed
the
percussions_refinements_4
branch
2 times, most recently
from
January 3, 2025 10:42
5ac593c
to
ce17022
Compare
Cheers @cbjeukendrup - that should be everything addressed now |
cbjeukendrup
reviewed
Jan 3, 2025
cbjeukendrup
reviewed
Jan 3, 2025
cbjeukendrup
reviewed
Jan 3, 2025
Also includes a small refactor to PercussionPanelModel::layoutMenuItems (fixed translatable strings and simplified checkables)
- Fixed notation preview background colour - Fixed alignment of disabled state text - Fixed panel not updating properly after selecting an unpitched stave - Ensured keyboard focus moves to pads when entering/exiting edit layout mode - Fixed clipped navigation outline for add row button - Fixed sounds not previewing properly - Added missing overrides - Make the Drumset argument in ChangeDrumset const
mathesoncalum
force-pushed
the
percussions_refinements_4
branch
from
January 3, 2025 16:53
ce17022
to
16cb93c
Compare
Thanks @cbjeukendrup - pushed those tweaks |
cbjeukendrup
approved these changes
Jan 3, 2025
Tested on MacOS 14, Windows 11, Ubuntu 22.04.3. Approved |
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.
This PR contains an assortment of small fixes for the percussion panel, alongside two more substantial changes.
Small Fixes
The small fixes (ce17022) are as follows:
paintNotationPreview
)PercussionPanel.qml
)finishEditing
)handleMenuItem
)PercussionPanel.qml
)getDrumNoteForPreview
so that the playback controller receives the correct noteheads, etc.)overrides
from recent refinements PR (notationconfiguration.h
)ChangeDrumset
(see comment)Footer Context Menus
One of the "substantial changes" (89156ff) was to implement "footer context menus" for the pads (see image), with associated "duplicate" and "delete" actions. A menu option for assigning keyboard shortcuts to the pads has also been included, but the logic for this action does not exist yet (will be included in a future PR).
This commit also includes a quick refactor to
PercussionPanelModel::layoutMenuItems
. The "checkable" logic has been simplified, and the definition of translatable strings has been corrected (per this comment).Fixing undo, redo, and reset
The other substantial change (7335c37) isn't substantial LOC-wise, but has implications beyond the new percussion panel and requires some explanation. This seeks to resolve a bug where the panel doesn't always update visually on undo, redo, and reset layout.
The underlying cause was that
NotationNoteInput::stateChanged
(the main notification that the percussion panel uses to update) was not being triggered on undo/redo. To my eye, this seems incorrect asNotationInteraction::undo
does eventually lead to aScore::setInputState
call (insideUndoMacro::undo
).The second part of this commit (the changes the
finishEditing
) are mostly academic. The idea is to makePercussionPanelPadListModel::drumset
const so that the drumset can only be modified through the sanctioned setter.