Weird Behaviour of Delay Effects when Input is shorter than Delay Time
- Dominant language
- C++
- Stars
- 10.4k
- Forks
- 1.3k
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 7
Description
When a note (or sequence) ends before the delay starts, it will yield weird results. Most of the time it will simply not be delayed (i.e. the wet signal is silent) or it will play the delayed sound once the effect receives another input.
## Steps to reproduce
Start LMMS, add an delay effect (preferably with feedback option), and play a short note. Or take a look at
[this example project](https://github.com/LMMS/lmms/files/1886525/Bug.zip) showcasing the behaviour for a couple delay effects with delay time set to a quarter note.
## Expected Behaviour
All sounds are delayed/echoed properly.
## Actual Behaviour
In the example project:
- the first pattern is echoed/delayed in none of the instruments
- when the second pattern starts, the delay of the first one plays on top of it (at least in the top 3 instruments)
- the third pattern is played correctly by all effects since it's a quarter note long
- if the sound hasn't gone silent before the fourth pattern starts (that should be on all but Echo Delay Line), it will be played correctly
- because of the gap before the fifth pattern, the sound will become silent again. The pattern will play like the first one
Also, if you hold a piano key after the last pattern, you can hear the proper delay for that pattern.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start LMMS with the linked Bug.zip example project and reproduce the behavior using the delay effects, especially with feedback enabled and delay time set to a quarter note. Verify the short patterns, gaps, and held piano note cases; done means short notes are delayed correctly and do not play late when a later input arrives.
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
- 45/100