LMMS / LMMS/lmms

Instrument track audio correlated to MIDI inputs/outputs from other instrument tracks, present in playback, does not make it into exported files

Open
#7,107 1 comment 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

There are a number of bugs I encountered with MIDI I/O between instrument tracks, and a number of unresolved issues mentioning MIDI I/O, but this one I think is novel (I have not checked resolved issues).

In LMMS 1.2.1, audio can be heard in playback from a Song editor instrument track with a blank midi timeline, as long as it receives MIDI output from another instrument track in the Song editor or in the Beat/Bassline editor. This remains true if the source tracks are muted. However, this audio is missing from exported audio files when exporting, unless said MIDI is recorded as a hard input onto the song editor timeline for the song (e.g. by hitting record-with-backing-track on the song editor instrument track's piano roll; though this also crashes often).

### Steps to reproduce

1. Add two default TripleOscillator instrument tracks, "Muted Source" and "Audible Output," to the Song editor. Mute "Muted Source," and add MIDI in the piano roll.
2. Add a default TripleOscillator instrument track, "B/B Source," into the Beat/Bassline editor. Mute "B/B Source," and add MIDI in the piano roll.
3. Click the gear icon on "B/B Source" and "Muted Source," MIDI > Ouput, and check "Audible Output" for both.
4. Place a segment on the Song editor timeline for the appropriate Beat/Bassline track.
5. Hit play, to confirm that the Song editor instrument track, despite not having any MIDI in its timeline, produces the expected sounds.
6. File > Export project..., or File > Export tracks...
7. Play the exported file, and observe that the appropriate audio is not present.
8. Add a piano roll entry to the timeline for "Audible Output," and hit the Record (with backing track) button. Observe MIDI being input in real time from "Muted Source" and "B/B Source," along with the expected audio. Hopefully get through this without a crash or without LMMS's sound cutting out entirely.
9. Press Play in the Song editor. Observe that the appropriate sound is now "doubly present," extra loud, because two copies of the same MIDI are being played at once.
10. File > Export project..., or File > Export tracks...
11. Play the exported file, and observe that the originally-intended audio is present in the export, but not "doubly present" as it is in playback.

(In order to make instrument tracks appear in the Gear icon menu > MIDI > Output or Gear icon menu > MIDI > Input, I must first select "MIDI through" in any track to make this an option; I'm not sure why. Setting "Audible Output" to take "Muted Source" and "B/B Source" as MIDI inputs does nothing, either in playback or in export.)

#### Expected behavior

Sound present in playback will also be present in export. When export is run, if an instrument track is set up to receive MIDI from another instrument track (whether present in the Song editor timeline or in a Beat/Bassline track programmed to play concurrent in the Song editor; and whether the source instrument tracks are muted or not), it should receive and interpret that MIDI as it would in live playback, recording the appropriate audio into the export file.

#### Actual behavior

MIDI output from other instrument tracks will not be rendered in the exported file. Only hard-input MIDI on the song editor timeline makes it into exports.

#### Affected LMMS versions

LMMS 1.2.1, for certain.

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 Song editor and Beat/Bassline editor instrument tracks, then compare live playback with File > Export project and File > Export tracks. Trace how MIDI output between instrument tracks is handled during playback versus export, including muted sources. Done means exported audio includes the MIDI-driven sound exactly once, matching the intended playback behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
audio-video-rtc, desktop
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.