Strange behavior of Mute and Solo buttons when connected to MIDI CC
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 10.4k
- Forks
- 1.3k
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 7
Description
The Mute and Solo buttons of the tracks behave very sick if controlled via MIDI input.
Steps to reproduce:
- Connect any of the Mute or Solo buttons to a MIDI toggle button.
- Toggle the value between 0 and 127.
Expected behavior:
The buttons should function normally without any glitches.
Actual behavior:
See the video below:
[solomutemidi.mkv.zip](https://github.com/LMMS/lmms/files/4908795/solomutemidi.mkv.zip)
The funny thing is that the sound itself behaves almost like it should be, just inverted. So 0 is unmuted or solo, 127 is muted or non-solo. This seems to be just a GUI problem.
They seem to handle 0 and 1 values correctly, but most of the controllers send 127 for ON, and most of the software threats 0-63 as OFF and 64-127 as ON. I think LMMS should do this too.
Edit:
I also found a little problem with LCD numbers:
[lcdmidi.zip](https://github.com/LMMS/lmms/files/4913456/lcdmidi.zip)
As you can see, the displayed number changes one step later than the actual value, which is shown by midisnoop. This can be the reason why the toggle buttons get inverted.
Tested: 1.2.2 AppImage
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
No file or test is named. Reproduce with a MIDI toggle sending 0 and 127, comparing the Mute/Solo display, sound behavior, and LCD number timing; then trace the MIDI-control and GUI update paths. Done means the buttons and displayed values respond consistently across the reported MIDI range.
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
- 35/100