Problems with mid note events
- Dominant language
- C++
- Stars
- 10.4k
- Forks
- 1.3k
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 7
Description
Edited to consolidate this issue with #3460. Both issues describe problems that are caused by LMMS' handling of mid note events.
This issue was originally reported as:
> **Distorted sound when looping the first bar**
> Steps to reproduce:
> - Start LMMS.
> - Add an A2 note that's three bars long to the Triple Oscillator track.
> - Activate looping in the Song Editor. Keep the default of only looping the first bar.
> - Hit "Play" in the Song Editor.
>
> The sound becomes distorted when the first loop occurs and even more distorted when looping for the second time. When you set the loop length to two bars the distortion disappears in the middle of the loop. When you set the loop length to three bars the problem disappears. This affects all instruments.
As can be read in the later comments the reported problem is caused by LMMS not sending a "Note Off" event when the playhead goes back to the start of the loop. So after going to the start of the loop for the second time three notes will play simultaneously which results in very distorted sound.
Issue #3460 describes a very similar issue:
> **Play a note "mid-note"**
> Hi, I would like to report a problem on the piano roll, when we make a note round or longer and quickly want to go back to any position of the note, it does not play and you have to start from the beginning of the note. The same happens with the example tracks, this is in the current version 1.1.3 but in version 1.2.0 rc2 improved this but only with the example track, but with the midi notes the problem persists. What do you think?. Have a good time
Here the problem is that LMMS does not create a "Note On" event if the playhead happens to be in the mid of a note when the playback is started.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the loop case in the Song Editor with the Triple Oscillator and compare it with the mid-note playback case consolidated from issue #3460. Done means playback sends the appropriate Note Off when looping and Note On when starting mid-note, without distorted or missing sound.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- audio-video-rtc
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100