Song editor: save/load full toolbar state 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
The following toolbar items' states should be saved in project files and restored on load:
- Selected tool (pencil, knife, box select)
- **Auto-scroll on/off**
- Zoom amount
- Snap size
- Relative snapping on/off
#### Justification
Personally, I'd very much like to disable auto scroll by default, and don't currently care that tool selection, zoom, and snap settings aren't saved in project files. However, previous discussion on playhead stop behavior (among other things) shows us that:
1. Thanks to workflow differences, **every** configuration is likely to have some proponents
2. If this is true, **any** change to a default will worsen some user's experience
3. These users have no reason to make themselves known until after the change is proposed or implemented
Thankfully, default templates mean that saving state in project files makes it user configurable without cluttering our settings menu. So, rather than playing whack-a-mole by adding state save/load whenever disagreement appears surrounding some default setting, I propose that we save the full state of the song editor toolbar in projects. This should also allow a more objective discussion of which defaults should potentially be changed, as no one will need to feel that their personal workflow is being threatened.
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 tracing the Song editor toolbar and the project-file save/load paths. Use the listed toolbar states as the scope, and verify that each state is restored after reopening a project, including selected tool, auto-scroll, zoom, snap size, and relative snapping.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100