musescore / musescore/MuseScore

Flexible note entry position

Open
#25,370 3 comments 5 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Your idea

Flexible note entry (similar to the dynamics anchor position introduced in v4.4) could facilitate faster workflows. Currently in v4.4.3, we need to input multiple rests (with various durations) to enter notes later in the bar. With flexible note entry, we could place notes directly at the desired location and MSS could calculate pre/post rests automatically.

flexible dynamic placement mockup
Problem to be solved

Entering notes at positions in the bar other than the beginning of beat 1 requires additional rests to get to the desired beat/sub-division in the bar. This UX can be improved allowing the user to focus on the primary task (entering notes).

Prior art

Dorico's caret allows for various placement during note entry.

Dorico-Input-caret-2

Additional context

Flexible behavior could be activated via a modifier key (shift or alt/opt) during note entry, or could facilitate dragging notes to other positions in the bar or other bars.

It should be aware of the bar's time signature, existing elements in the bar, and the selected note duration for entry. For example, in an empty bar of 4/4 with quarter notes set for entry, the bar should divide into 4 shaded columns. If eighth notes were selected, the bar should divide into 8 shaded columns.

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 names no files, tests, or entry points. Start by locating the existing note-entry and dynamics-anchor implementations, then identify related tests; done should cover direct placement with automatic rests while respecting time signatures, existing elements, and the selected note duration.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop, frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.