LMMS / LMMS/lmms

LMMS doesn't update MIDI input/output port dropdowns after external connection changes

Open
#6,057 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

### Bug Summary

I'm experiencing this issue using the ALSA sequencer interface under Linux. When I'm changing MIDI connections from/to LMMS instruments using external tools (MIDI patch bays, `aconnect`, etc.) LMMS doesn't update its GUI to reflect these connection changes.

#### Steps to reproduce

1. Grab some MIDI controller.
2. Add a new instrument track in LMMS.
3. Enable MIDI input, **do not** set the input port.
4. Open your favorite MIDI patch bay, connect your MIDI controller to the LMMS instrument in it. `aconnect` can also be used.
5. Play on your MIDI controller to confirm that it's connected to the LMMS instrument.
6. Check the MIDI input port dropdown in LMMS. It did not update, it incorrectly shows that there's no connection between the MIDI controller and the instrument track.

#### Expected behavior

I would expect LMMS to listen to the port subscription/unsubscription announcements and update its MIDI port dropdowns accordingly. At least when using the ALSA sequencer interface. I have zero idea how the other interfaces could handle this, or even if they're affected by this issue.

#### Actual behavior

MIDI input/output port dropdowns not getting updated after changing MIDI connections with external tools.

#### Screenshot

https://user-images.githubusercontent.com/1627292/122227765-7b6cd880-ceb7-11eb-9c92-e53172aca833.mp4

#### Affected LMMS versions

AppImage, Version 1.2.2 (Linux/x86_64, Qt 5.9.7, GCC 5.4.0 20160609)
Git, fadf8c611ef37cf51fa0dd5c0d188a314c51004b

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 reproducing the issue with an ALSA sequencer connection made through a MIDI patch bay or `aconnect`, then trace how LMMS handles port subscription and unsubscription announcements. The relevant behavior is the MIDI input/output port dropdown refresh; done means those dropdowns reflect external connection changes, at least for the ALSA sequencer interface.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux
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.