LMMS / LMMS/lmms

PianoRoll: modify default behaviour for volume change on selections

Open
#6,681 4 comments 0 reactions 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
Modify the default behaviour of "PianoRoll change volume for selections".
Now, when you try to change the volume of a selection (with mouse left-button) all volumes are set to value of the note you want to change, loosing the original values.
The propossed behaviour is to change the volume of each note from its own value, not reseting them; and adding an additional action to reset values (like mouse middle-button) to default value.

#### Justification
This behaviour is useful when the user wants to change the volume of the clip (or some notes) but keeping the relative volume between them, which I think it's the expected behaviour for this action.

#### Mockup
First, moving volume level with mouse left-button. Second, reset values with mouse middle-button.

![PianoRoll-Volume](https://user-images.githubusercontent.com/68785450/228283520-b657afed-b8f4-43d5-a2de-e10dbb8bb004.gif)

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 locating the PianoRoll code that handles volume changes on selections and reproduce the mouse left-button behavior described in the issue. Confirm how selected notes currently receive volume values, then implement the requested relative-volume behavior and middle-button reset, verifying both interactions in the PianoRoll.

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.