LMMS / LMMS/lmms

Piano base note handle is difficult to grab when global transposition is non-zero

Open
#8,031 0 comments 0 reactions 0 assignees Claimed by @regulus79 View on GitHub
bug
Dominant language
C++
Stars
10.4k
Forks
1.3k
Avg merge
2d 13h
Merged PRs (30d)
7

Description

### System Information

Arch Linux, GNOME

### LMMS Version(s)

master(?)

### Most Recent Working Version

_No response_

### Bug Summary

Normally, of the three widgets above the piano (the left bound, right bound, and base note), whichever one is closest to the mouse is the one which is picked. However, when master transposition is applied, the position of the base note is incorrectly calculated, causing LMMS to think that the mouse is closer to one of the other handles.

https://github.com/user-attachments/assets/26f4f158-5646-4678-b251-8fe8753cdc89

NOTE: The only reason I am opening this issue is because I am planning to fix it as part of my MIDI refactor/MPE support PR. You don't have to do anything, I just saw the issue and thought I might document it, but it's going to be fixed soon anyway.

### Expected Behaviour

The master transposition should not affect which widget the mouse grabs.

### Steps To Reproduce

1. Open an instrument.
2. Slide the left bound and the right bound to be close to the base note.
3. Turn up the global transposition slider.
4. Attempt to drag the base note square.

### Logs

### Screenshots / Minimum Reproducible Project

_No response_

### Please search the issue tracker for existing bug reports before submitting your own.

- [x] I have searched all existing issues and confirmed that this is not a duplicate.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing the piano handle selection problem using the listed steps with global transposition enabled. Review linked pull request #8034 and the piano widget and transposition handling it changes; the issue is done when the base note handle remains the closest selectable widget regardless of transposition.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.