musescore / musescore/MuseScore

Augmentation dot and accidental buttons do not activate with "previous note entered" option even outside Note Input mode, impacting paste special

Open
#34,679 8 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

community P3 regression MS3 UX/interaction
Dominant language
C++
Stars
15.1k
Forks
3.3k
Avg merge
2d 2h
Merged PRs (30d)
91

Description

Issue type

UX/Interaction bug (incorrect behaviour)

Description with steps to reproduce

Update: See this comment for the culprit of this bug.

The obscure feature "Paste special" (available as a shortcut in Preferences, with no default shortcut) is supposed to allow pasting while scaling duration more flexibly than the half/double buttons do: https://musescore.org/en/node/314674

The multiplier, as I call it, is a note duration. It is actually the duration that all 1/4 notes will be changed to when you use paste special. All other notes will be lengthened or shortened proportionately. Briefly, if you press 6 a 1/4 note will become a 1/2 note and all durations will be doubled. This is the same as Paste double duration. If you press 4, a 1/4 note will become an 8th note all durations will be halved. This is the same as Paste Half Duration.

You can use dotted notes to multiply by fractions as well. So you can select 4. and the durations will all be multiplied by 1.5 (1 1/2) making all 1/4 notes dotted 1/4 notes, 8th notes dotted 8th notes and so forth.

Note: To set the multiplier, either press the numbers and dots to set the duration or use the note input toolbar.

I can't quite how these instructions intend you to indicate the dot (whether by adding a dot to an existing note, or somehow getting the dot indicator to remain selected in the toolbar), but either way it does not work: the dot is ignored.

I cannot find any way to get Paste Special to scale duration by anything other than factors of 2, which means that currently it has no benefits over the "Paste half duration" and "Paste double duration" commands.

Supporting files, videos and screenshots

https://github.com/user-attachments/assets/a2fb2251-4734-45a6-a87b-8e495fb5d1d5

In which versions of MuseScore Studio is this issue present?

OS: macOS Sequoia (15.7.7), Arch.: arm64, MuseScore Studio version (64-bit): 4.7.4-260706075, revision: github-musescore-musescore-7688c00

Regression

Yes, this used to work in MuseScore 3.x and now is broken

Operating system

macOS

Additional context

I'm assuming that this feature worked as documented in that page, which refers to "As of December 2020", at which time the current version was 3.5, I believe.

Checklist
  • This report follows the guidelines for reporting bugs and issues
  • I have verified that this issue has not been logged before, by searching the issue tracker for similar issues
  • I have attached all requested files and information to this report
  • I have attempted to identify the root problem as concisely as possible, and have used minimal reproducible examples where possible

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.

Research direction

Start by reproducing Paste special in MuseScore 4.7.4, following the issue’s steps and attached video. Read the linked comment identified as the culprit, then trace the handling of the dot and accidental buttons when outside Note Input mode. Done means dotted durations and accidental buttons activate correctly for Paste special as documented, with regression coverage where the relevant tests are found.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
56/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.