LMMS / LMMS/lmms

Piano roll: save/load full toolbar state and loop marker positions in project files

Open
#6,931 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
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

  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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.