musescore / musescore/MuseScore

No more hidden and uneditable variables

Open
#33,759 2 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Your idea

Click & drag is fine and all, but what it isn't is precise and consistent. I see no reason to keep these variables locked away from the user:

Lines (basically anything in the lines palette, including hairpins, voltas, etc.):

  • “off2” x and y (end point offset)

Maybe y only if “allow diagonal” is actually enabled (and a valid variable for the line in question in the first place).

Slurs & ties:

  • “o1” x and y (start point offset)
  • “o2” x and y (start vector)
  • “o3” x and y (end vector)
  • “o4” x and y (end point offset)

The variables exist, just let the user actually access them. There's room in Properties.

Problem to be solved

One of:

  • having to locate and edit the numerical values in the .mscx file
  • having to do a final pass with a vector graphics editor
  • that'll-do attitude

Currently it's pretty much impossible or very, very, very tedious to e.g. keep parallel passages consistent, align slanted hairpins with each other, etc., etc. There's so many use cases, all easily satisfied by just including the variables in Properties.

The only readily available workaround right now is editing via arrow keys, but the step of 0.5 is rarely precise enough when precision is actually required.

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.

Research direction

The issue points to the Properties UI, the lines palette, slurs and ties, and .mscx variables; start by tracing how those objects expose editable properties and how their values are serialized. Done means the listed offsets and vectors are available with the stated diagonal-validity behavior and can be edited precisely in Properties.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.