Piano roll: save/load full toolbar state and loop marker positions in project files
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 10.4k
- Forks
- 1.3k
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 7
Description
### Enhancement Summary
Currently, the only toolbar state the piano roll appears to save is the playhead stop behavior; I believe the remaining state should be saved as well, including the position of the piano roll loop markers. Bolded items in the list below are those I personally think make most sense to store, but part of the idea behind this request is to avoid assumptions on which state is important (assumptions likely to be false for workflows that are unfamiliar or different to mine).
- Tool selection
- **Auto scroll on/off**
- Personal pet peeve, I loathe having the viewport scrolled away when e.g. playing a loop slightly larger than the viewport
- **Loop marker on/off**
- **Horizontal and vertical zoom**
- Increased zoom accommodates worse vision and less precise input, or allows for finer adjustment
- Decreased zoom is valuable if one tends to work with long clip sizes
- **Quantization level**
- Currently, one needs to use 1/192 for accurate recording
- Certain projects may use 1/3-based quantization levels a lot
- **Last note setting**
- Key and scale
- Chord
- **Snap/nudge configuration**
- The PR that implemented snap mode originally proposed it as a fix/improvement over the current behavior, with no toggle to allow the current default (#4357). This seems like good evidence to me that some users would prefer to default to snap mode.
- **Loop marker positions**
#### Justification
See #6930
Contributor guide
No contributing guide indexed for this repository
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
Start by reviewing the related issues #6930 and #4357, then determine which piano-roll toolbar settings and loop marker positions should be persisted in project files. Done means the agreed state is saved and restored consistently when projects are written and loaded.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100