LMMS / LMMS/lmms

Pitchbend and modulation from MIDI IN are not transmitted or corrupted when sent to MIDI OUT

Open
#6,907 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
When a master MIDI keyboard sends Pitchbend or Modulation messages to an instrument via MIDI IN, the messages are lost or corrupted when the instrument forwards them to MIDI OUT.

#### Steps to reproduce
Connect a MIDI keyboard to MIDI In
Connect an external synth to MIDI OUT
Choose a track in the project and open the related instrument editor (the bug occurs on all instruments)
Click on the "keyboard" icon in the instrument editor
Activate MIDI Input for the instrument and choose the MIDI IN on which master keyboard is connected
Activate MIDI Output for the instrument and choose the MIDI OUT to which external synth is connected
On master keyboard, move modulation wheel and pitchbend controls : messages generated by the master keybaord are not sent to MIDI OUT or are corrupted

#### Expected behavior
All MIDI Control Change messages and MIDI Pitchbend messages shall be forwarded transparently to MIDI OUT

#### Actual behavior
MIDI Control Change modulation message (CC#1) are not transmitted to MIDI OUT
MIDI Pitchbend messages are corrupted : when the pitchbend value on MIDI IN changes from 0x0000 to 0x3FFF, the values sent to MIDI OUT jump from 0x80 to 0x00 erratically (value of 0x0000 means pitchbend pulled to minimum value, center value being 0x4000)

#### Screenshot

#### Affected LMMS versions
V1.2.2 (Windows 64 bits)
V1.3.0 : can not be tested, V1.3.0 does not start correctly on my Windows machine (only MME layer works, which is useless. WDM-KS does not start on my machine)

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 with a MIDI keyboard connected to MIDI IN, an external synth on MIDI OUT, and MIDI input/output enabled in the instrument editor. Trace the MIDI forwarding path used by the instrument editor; done means modulation CC#1 and pitchbend values are transmitted transparently without loss or corruption.

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
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.