-
Notifications
You must be signed in to change notification settings - Fork 2.8k
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
GSoC '24 - Dynamics Popup - Part 3 #24152
GSoC '24 - Dynamics Popup - Part 3 #24152
Conversation
5c1cb87
to
71a465a
Compare
Apologies for the time it's taken to start reviewing parts 2-4, but here's some feedback: Issue 1After dragging a hairpin out from a dynamic, I don't see the popup appear. I'm assuming it's supposed to in this PR based on the description? Screen.Recording.2024-10-22.at.5.34.16.PM.movIssue 2 (crash)If a hairpin has a dynamic at either end but NOT both ends, and I click the dynamic and change it via the popup, it crashes.
Screen.Recording.2024-10-22.at.5.38.24.PM.movThe automatic switching of hairpin direction looks good! |
71a465a
to
a8ba9c0
Compare
Note: some code in this PR was made redundant by #25252 (update: solved) |
10a6442
to
b16303e
Compare
9389966
to
f51dbd0
Compare
64bc860
to
2233033
Compare
@avvvvve Ready for retesting! |
It's great @cbjeukendrup! Thank you for all your work on this. Just a couple of things, which I show in this video (excuse the slightly exploratory ramblings):
By the by, I thought we had just opted to use GMT20250212-113620_Clip_Bradley.Kunda.s.Clip.02_12_2025.mp4 |
Strangely, both of the following are working as expected for me in this PR:
Re: hairpin flipping@bkunda See discussion here and in the subsequent three comments about why we went with a command to swap the direction rather than a modifier held while dragging. The big advantage of this is you can swap the direction of a hairpin after it's been created, not only while you're resizing it, plus we avoided conflicting behaviors when Shift is held. Casper thus added a new shortcut I suggested, Flip horizontally, that is a sister-shortcut to the existing Flip direction shortcut (X). They need to be separate because Flip direction can still be used to flip objects (including hairpins) above or below the staff (and it also flips stem direction on notes).
![]() ![]() SuggestionsI think we should rename Flip direction now that there are different shortcuts for flipping in different directions. We could do:
It could also be nice to add an icon to the Flip horizontally shortcut to to indicate what it will flip (since I assume it won't flip anything but hairpins at the moment). Janky mockup: |
Another few things (point 1 is one of @bkunda's mysteries solved) Screen.Recording.2025-02-12.at.11.11.11.AM.mov
|
2233033
to
fa1ca63
Compare
OK, just tested part 3 again for a final check before merge. Issue 1: The shortcut to add a dynamic isn't working anymore. Click on a duration and try it. Nothing happens. |
Issue no.2: When using Shift+Arrow Keys (MacOS) to move dynamics to different beats, they now disconnect from the hairpin, which is a pretty significant regression we'll need to fix. Ignore me saying 'Shift+Command+Mac'. I tested again. Same behaviour with Shift+Arrow NOTE: When dragging, they remain connected. Video: DYNAMIC_MOVE.mp4 |
Re: the shortcut, I've noticed this happen in the Nightly builds too. You can fix it by resetting the 'Add dynamic' shortcut to default in Preferences, but yeah, for some reason it's getting cleared. Re: moving dynamics to different beats, I believe the key command is simply Shift + Arrow keys. Adding command to that doesn't change what happens (in either 4.4 or the new builds) |
Thanks @avvvvve. I've amended my comment. |
In the case of a lasso selection, `interaction->selection()->element()` is (or can be) nullptr.
Now the shortcut is Alt+X
fa1ca63
to
2ad0ba8
Compare
Regarding why the shortcut seems not to be working: in this PR, I changed the action code of the "Add dynamic" command. As a consequence, every time that you switch between a nightly build from before this PR is merged, and a build that does contain the changes from this PR, the shortcut is lost, because of how the shortcuts migration system works (it does not bind the shortcut to the new action code, because it is already bound to another action, except that that other action is the old action code so does not exist anymore). I can fix that in a separate PR, but it won't matter: end users will only ever see the new action code, so there won't be any manual reset needed. The problem only affects nightly/PR builds on computers of people who have used recent nightly/PR builds from before this PR. Regarding Shift+arrow seemingly not working: that only works when the dynamic is at the same segment as the hairpin's start or end. That's not the case in the video: the dynamic So, as far as I can see, both things are not really problems of this PR, so is it okay to merge it? |
It seems like we should probably merge this PR and raise a separate issue to fix the broken dynamics+hairpins connection. @cbjeukendrup @mike-spa does this work for you both? |
Yes, let's do that, as the dyn/hairpin connection issue seems really something separate. |
See #26560 |
This is the third part of the main pull request: #23038, which adds functionality to add dynamic using shortcut, opening of popup when hairpin ends on a note or rest and the automatic switching of hairpin type.
PR for part 1: #24125
PR for part 2: #24147