musescore / musescore/MuseScore

Palette search cannot find sharp or flat key signatures typed as "F#" or "Bb"

Open
#34,394 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Your idea

Let palette search accept the accidentals that are actually on a keyboard: # for ♯ and b for ♭, plus the spelled out words "sharp" and "flat".

Searching for F#, F sharp, Bb or B flat should find the corresponding key signatures, in addition to the existing behaviour of matching F♯ and B♭ literally.

Problem to be solved

Palette item names contain the real accidental signs — ♯ (U+266F) and ♭ (U+266D) — for example F♯ major / D♯ minor and B♭ major / G minor. Palette search does a plain substring match against those names, so none of the ways a user can actually type an accidental match anything:

  • Searching F# → no results
  • Searching F sharp → no results
  • Searching Bb → no results
  • Searching B flat → no results

The only search that works is a bare F, which returns every palette item containing the letter F, leaving the user to pick the right key signature out of the results by eye.

Neither ♯ nor ♭ is available on a standard keyboard layout, so at the moment there is no practical way to search for a specific sharp or flat key signature.

This affects every palette item whose name contains an accidental sign, most visibly the 14 sharp and flat key signatures.

Prior art

Nothing specific; this is the convention musicians already use when typing key and chord names in plain text (F#, Bb), and MuseScore itself accepts # and b when typing chord symbols.

Additional context

I have a fix for this and will open a PR referencing this issue.

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

No file or test is named in the issue. Locate the palette search substring matching and the palette item name construction, then check how accidental signs are represented. Done means searches for F#, F sharp, Bb, and B flat find the same key signatures as F♯ and B♭ without removing the existing literal matching.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop, search
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.