musescore / musescore/MuseScore

Enhancement: Automatic Hairpin Positioning with Graphical Selection

Open
#31,265 3 comments 0 reactions 2 assignees View on GitHub

Nobody has claimed this yet.

needs review
Dominant language
C++
Stars
15.1k
Forks
3.3k
Avg merge
2d 2h
Merged PRs (30d)
91

Description

Your idea

MuseScore currently offers two primary methods for inserting hairpins (crescendo/decrescendo) between two dynamic markings:

Method 1: Selecting the two relevant notes (or the range) and clicking the hairpin icon in the palette.

Method 2 (Functional): Using the dynamics popover (Ctrl/Cmd + D) to input Start Dynamic -> Hairpin -> End Dynamic.

I suggest that, when using Method 1 (Graphical Selection) where a dynamic is already present on both the starting note and the ending note, the hairpin inserted from the palette automatically adjust its end handle to terminate precisely on the ending note (the second selected dynamic).

This enhancement would make the graphical selection method consistent with the musical intention (transition between two dynamics) and significantly improve user ergonomics and workflow.

Problem to be solved

Problem and Description of the Enhancement

Method 1 (Graphical Selection) currently requires unnecessary manual intervention:

Select the starting note (e.g., ppp) up to the ending note (e.g., pp).

Click the decrescendo symbol in the palette.

Current Result: The hairpin is inserted, but its end handle does not automatically snap to the ending note (pp), as illustrated in Decrescendo.jpg and crescendo.jpg.

The user is then forced to manually adjust the end handle to achieve the musically correct result (DecrescendoOK.jpg).

Image
Image
Image

Prior art

No response

Additional context

No response

Checklist
  • This request follows the guidelines for reporting issues
  • I have verified that this feature request has not been logged before, by searching the issue tracker for similar requests

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.