Skip to content

Conversation

SilverGreen93
Copy link
Contributor

@SilverGreen93 SilverGreen93 commented Oct 14, 2025

Partially resolves: #30167 (Part 4)

Add an option in Preferences dialog, under Note input to enable people that are accustomed with Scientific Pitch Notation to always display pitches like in DAWs, instead of localised, traditional names. For example, with the option unchecked, in Romanian, the middle C will be displayed as do1, but with the option checked, it will be displayed as C4. Default will be language locale.

Setting is called pitchNotationSPN, with the key Settings::Key PITCH_NOTATION_SPN("engraving", "score/pitchNotationSPN"); and is part of mu::engraving::IEngravingConfiguration, as this is easier to include and use in all the required locations.

This display preference applies to:

  • Select note dialog (EditPitchUI)
  • Edit Staff dialog
  • Edit String Data dialog
  • Piano keyboard
  • Status bar

Screenshot from the Preferences dialog with the new option under Note input group:

image
  • I signed the CLA
  • The title of the PR describes the problem it addresses
  • Each commit's message describes its purpose and effects, and references the issue it resolves
  • If changes are extensive, there is a sequence of easily reviewable commits
  • The code in the PR follows the coding rules
  • There are no unnecessary changes
  • The code compiles and runs on my machine, preferably after each commit individually
  • I created a unit test or vtest to verify the changes I made (if applicable)

Simplify logic by removing the spaces from the original pitch names.
@cbjeukendrup
Copy link
Member

In a discussion with the design team, we decided to put this PR on hold for this moment, because we want to do some research about how necessary a preference like this would be. If it turns out that many users would benefit from this setting, we might want to make it more discoverable, for example by including it in the "onboarding flow". Or if it turns out it would serve very few people, it might not be worth the complication.

Anyway, until the design team makes a decision about this, I would recommend not investing more effort in this PR. Thanks for your work on this topic though!

@SilverGreen93
Copy link
Contributor Author

SilverGreen93 commented Oct 17, 2025

If it turns out that many users would benefit from this setting, we might want to make it more discoverable, for example by including it in the "onboarding flow".

Yeah, this would be a great initial question in the onboarding flow if we think users will see value in it.

Regarding the benefit of this, surely we must do reasearch somehow (don't really know how exactly myself) on non-English speaking users, as they will be the only ones that might need this option, and might come more in handy for them when importing or working with MIDI files.

On the other side, maybe some non-English speaking users with no musical background might find that the pitch names in their local language does not make sense for them, and just change the localization to English to match what they found in their favourite DAW/other software that they are accustomed to without even letting us know what bothers them, so we might miss some feedback on this.

I personally think this option would allow people with non-musical background to have an international notation and use their native laguange in the interface, or make the interface very familiar to those that have musical background and know the local pitch names, so to benefit both sides.

Anyway, until the next decision, I will rebase with the latest changes and keep it as draft. I will be happy to help in other areas as well until then :)

@JLWALTENER
Copy link

Bonjour,

Some thoughts about this draft PR after have tested with OS: Windows 11 Version 24H2 or later, Arch.: x86_64, MuseScore Studio version (64-bit): 4.7.0-252932043, revision: github-musescore-musescore-4765606 and have lupdated musescore_fr.ts

  • The switch between SPN and translated in the Preference dialog is immediate, MuseScore Studio does not need to be restarted
  • With that, we can switch SPN or translated during editing a score
  • This is a must have for French users especially guitarists that like to have the two notation systems, I am also pretty sure other countries will like it
  • As this switch is immediate, a toogle command in a menu, such the view menu, assorted with a shortcut, would be really apreciated

In any case thanks to @SilverGreen93 , and all others, this is a long awaiting improvement since v1.x and even before.
Kind regards

bool wantSPN = engravingConfiguration()->pitchNotationSPN();

// Populate table with localized pitch names and center them in cells
static constexpr const char* noteName[] = {"C", "C♯", "D", "D♯", "E", "F", "F♯", "G", "G♯", "A", "A♯", "B", "C"};
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

uncrustify seems inhappe you this line, too long I guess

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I split it on 2 lines, but still cannot figure out what it complains about.

Copy link
Contributor

@Jojo-Schmitz Jojo-Schmitz Oct 21, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, that output from GitHub CI is real crap and leaves us guessing, I've complained about it time and time again. It use to be much better

@Jojo-Schmitz
Copy link
Contributor

Jojo-Schmitz commented Oct 21, 2025

Better rebase using git pull --rebase upstream master; git push -f, to not get these nasty merge commits

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Display pitch notation in language locale (Helmholtz or SPN)

4 participants