LMMS Progress Report: April 2026
Welcome back to our monthly series of LMMS Progress Reports!
If you missed last month's report, you can find it here.
Nightly News
April was a slow month for development with just 7 PRs merged.
Remove the FIFO thread (#7568)
sakertooth reworked how rendered audio is sent from the audio engine to audio output devices. The result of this work is cleaner, more efficient code and better real-time safety. It also fixed a nasty bug where LMMS could hang when exporting a song.Oscilloscope plugin (#7937)
regulus79 added an Oscilloscope plugin for waveform visualizations. Like Spectrum Analyzer and Vectorscope, this is an effect plugin which does not affect the audio passing through it, so it can be safely placed anywhere in an effect chain. It's easy to use and offers several controls for panning, scaling, zooming, slowing, and pausing the visualization. The left and right audio channels can be viewed separately or averaged together, and the window is both resizable and detachable.Lb302 improvements (#8132)
rubiefawn refactored and improved the Lb302 plugin, cleaning up the code, improving performance, improving real-time safety, and adding support for per-note volume and panning. In addition, flush-to-zero mode was enabled on ARM for floating-point denormals, which may improve performance across the board on that platform.
Other changes:
- Save Scale/Key Highlighting, and Many More Editor Options (#7854)
- Add a zero note check for MIDI recording (#8328)
- Remove unused default volume model in
SamplePlayHandle(#8349) - Fix SlewDistortion's tanh mode (#8363)
In progress
In April, 11 new PRs were opened, of which 2 have already been merged. The following is a list of both new and old PRs which were worked on in the past month.
Nearing completion
Add Doxygen docs to Github Pages (#8329)
For years, our coding style guide has required the use of Doxygen-style comments, but until now we have not had any publicly available documentation generated for the LMMS codebase. That changes with this new PR by yohannd1 which adds a Doxygen workflow to automatically generate documentation and host it on GitHub Pages. All those years writing Doxygen-style comments is paying off. Check out the current state of the documentation here.Fix tooltip regressions (#8359)
messmerd fixed a few regressions in how knob and fader tooltips function.
In the works
- Fix VST sync when playback is paused (#8352)
This PR by dyshin-uin fixes some regressions in VST sync, correcting some of the timeline position data provided to VST plugins. However, the beat/bar info still needs to be fixed before the PR is ready.
Other PRs
These PRs were also created or worked on during April.
- Use vcpkg for Linux dependencies (#7316)
- Sample Track Recording Stage One (by Reflexe, LMMS/lmms continuation) (#7786)
- Removed the first recording button from SongEditor as it has no use (#7899)
- Change Freeboy's tooltips (#8045)
- Improved action system (#8272)
- Implemented effects presets (#8273)
- Fix Sf2 Player's reverb and chorus effects (#8274)
- Sf2Player: search across all banks + refactoring (#8310)
- Add the ability to zoom and scroll horizontally in the pattern editor (#8335)
- Scroll mixer horizontally when moving channel out of view with arrow keys (#8346)
- Allocate metronome sounds only once (#8350)
- Fix: Escape HTML in effect author names to show email addresses (#8351)
- Fix beat clips being created with a length of 0 in the pattern editor (#8355)
- VolumeKnob: adjust via scroll/keys in dB increments like Fader (#8360)
- Resolve all Doxygen warnings & docs cleanup (#8361)
- Fix AudioResampler crash on empty buffer input (#8364)
Goals for May
On May 1, following a unanimous vote from over a dozen active developers, we instituted a feature freeze which will remain in effect until the next alpha release.
During the feature freeze, only bug fixes, performance improvements, and 1.3-alpha.2 milestone issues are allowed to be merged. Exceptions can be made, but only after a vote. We hope this will encourage us to focus on the upcoming release and avoid introducing new regressions.
There are a number of open PRs which could be merged during the feature freeze (see here), and we will be revisiting these this month.
New contributors
- camerondruyor fixed a Piano Roll bug in #8328.
Closing thoughts
Thanks for reading! We have a lot of work ahead of us, but if you'd like to contribute to LMMS's development, it could go faster. Whether you're a developer or a tester, it all helps!
If you have any questions or suggestions, please let us know below or on our Discord.
Have a great May!