re1san's blog

GSoC 2024 - Work Product - Dynamics Popup

2 months ago • 1 comment

Hello everyone,

This will be my final blog post as GSoC 2024 comes to an end. It was a very rewarding and fun experience, not only in terms of coding but also in learning more about music. In this blog post, I'll summarize the work I've accomplished over the past 12 weeks and share the pull requests I've made.

Project description

The primary goal of this project was to introduce a new popup that would allow users to enter dynamic

Read more

GSoC 2024 - Dynamics Popup - Week 12

3 months ago • 0 comments

Hello everyone,

Last week, I fixed some bugs related to the automatic switching of hairpins, where the hairpin didn’t switch its type when dragged over an existing dynamic. I’ve also added the sff dynamic to the popup as per the design specifications and cleaned up the code. I received feedback on the code, so I’ve started working on it and making the necessary changes.

Additionally, the 4.4 branch has now been cut off from the master branch, and the project

Read more

GSoC 2024 - Dynamics Popup - Week 11

3 months ago • 0 comments

Hello all,

Last week, I fixed an issue where the popup wasn’t displaying the correct dynamic markings on macOS and Linux. Also, now the popup follows the Musical symbols font selected in Format > Score settings.

Additionally, I have implemented the functionality that automatically switches the hairpin type based on whether the end dynamic after dragging the right grip (or the start dynamic, in the case of dragging the left grip) is louder or softer.

You can find all the

Read more

GSoC 2024 - Dynamics Popup - Week 10

3 months ago • 3 comments

Hello everyone,

Last week, I continued working on the shortcut functionality and made some refinements to the box sizing and positioning. Now, when a dynamic is hovered over in an empty popup (activated by pressing the shortcut Ctrl+D/Cmd+D), a preview of the dynamic is also shown.

The popup also appears when the hairpin ends on a note or rest as the mouse press is released (Shift key can be pressed to change the hairpin type while dragging).

If there is

Read more

GSoC 2024 - Dynamics Popup - Week 9

3 months ago • 0 comments

Hello everyone,

Last week, I continued implementing the shortcut functionality. Now, if a note or rest is selected, we can press the shortcut Ctrl+D on Windows and Linux, or Cmd+D on macOS to open the popup. This is how it looks right now, although a little bit of tweaking is required for the box sizing to match the designs shared by the design team.

[inline:Screenshot 2024-07-29 223924.png]

You can find the details of my implementation in my latest PR: https://github.com/musescore/MuseScore/pull/23038

Read more

GSoC 2024 - Dynamics Popup - Week 8

3 months ago • 0 comments

Hello everyone,

Last week, I continued fixing the issues in the popup caused by some changes in the latest master branch. The two main issues were the mispositioning of the popup on opening for the first time and the grips of the previous dynamic not disappearing after changing it, as you can see below.

With the help of my mentor, I was able to resolve these issues.

Additionally, I made progress on the shortcut functionality. I was able to add

Read more

GSoC 2024 - Dynamics Popup - Week 7

4 months ago • 0 comments

Hi everyone,

Last week, I implemented the Shift key functionality to change the hairpin type. Now, while dragging, we can press the Shift key to toggle between crescendo or decrescendo hairpin, as shown below.

Additionally, I forgot to mention earlier that we can now add hairpins from the popup.

You can find the details of my implementation in my latest PR: https://github.com/musescore/MuseScore/pull/23038

Next Steps

This week, I plan to add the 'Add Dynamic' shortcut key (which by default will be

Read more

GSoC 2024 - Dynamics Popup - Week 6

4 months ago • 2 comments

Hello everyone,

Last week, I continued working on the grip functionality to add hairpins. I made some changes to the positioning of the hairpin. Earlier, if we had a whole note, the drawn hairpin's length would take up the entire measure, but now it will be set according to the cursor position (which doesn't appear to be buggy as earlier), as you can see below.

I have added the functionality to the left grip as well, which can be used

Read more

GSoC 2024 - Dynamics Popup - Week 5

4 months ago • 4 comments

Hey everyone,

Welcome back! Last week, I continued working on adding hairpins when dragging the grips. I was able to implement the functionality for the grip on the right side. Now, when it's dragged, a crescendo hairpin can be drawn, as you can see in the gif below.

You can find the details of the implementation in my latest PR (it's still a work in progress): https://github.com/musescore/MuseScore/pull/23038

Next Steps

Currently, the grips still exist on the dynamic (both the starting

Read more

GSoC 2024 - Dynamics Popup - Week 4

4 months ago • 0 comments

Hey all,

This will be a quick update on my progress from last week. I mostly spent time understanding the codebase around grips (the small rectangles) and how they are drawn onto the score. I was able to add them to dynamics, which will be used as drag handles for drawing the crescendo and decrescendo hairpins by dragging them, as described in my first blog.

[inline:Handle.png]

You can checkout the details of my implementation in the updated PR: https://github.com/musescore/MuseScore/pull/23038

Read more