LMMS / LMMS/lmms

Midi control messages are delayed

Open
#7,646 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug linux performance
Dominant language
C++
Stars
10.4k
Forks
1.3k
Avg merge
2d 13h
Merged PRs (30d)
7

Description

### System Information

OpenSUSE Tumbleweed

### LMMS Version(s)

1.2.2 (flatpak), 1.3.0~git2024.09.21-1.3 (repo-oss)

### Most Recent Working Version

_No response_

### Bug Summary

when using my midi keyboard (AKAI MPK49) LMMS controls do not correctly process control messages, always leaving a single message "queued" and only processing that message when a new message enters that "queue" or some other event triggers processing of midi control messages.
this results in, for example:

- buttons inverting their behaviour
- knobs and sliders sticking to the last value received before the intended value. this is particularly annoying when trying to zero or max a control.

additionally, certain other events will partially trigger processing:

- hovering certain buttons (mute, solo) will cause them to process the message
- other controls depending on that particular control will not be updated (hovering solo will update solo but not the mute buttons it normally toggles)

minor details:

- i have used drumstick midi monitor to verify the proper reception of midi control messages.
- notes do not display this issue. it only affects control messages.

### Expected Behaviour

controls process midi control messages as they arrive.

### Steps To Reproduce

1. use a midi keyboard
2. map a keyboard control to an LMMS control
3. try to use it, it will always display the second-last value received by LMMS

### Logs

Click to expand

  

### 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

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

Reproduce the issue in LMMS with an AKAI MPK49 or another MIDI keyboard, mapping a control and comparing control messages with notes. Trace the MIDI control-message handling from input receipt to LMMS control updates. Done means each arriving control message is processed immediately, without requiring a subsequent message or UI event.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop
Issue type
Bug
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.