musescore / musescore/MuseScore
Flexible note entry position
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
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.
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.
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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