LMMS Progress Report: March 2026 #8353
messmerd
announced in
Announcements
Replies: 1 comment 2 replies
-
|
Are there any plans to make a stable release any time soon? |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
LMMS Progress Report: March 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
In March, 12 PRs were merged. While this is a fairly average number, they brought some important and impactful improvements and fixes.
Tap Tempo improvements (#8098)
sakertooth greatly improved the Tap Tempo tool's BPM calculation algorithm, making it more reliable to use. In addition, the code was refactored for better separation of the frontend and backend.
Search bar for Sf2 Player patches (#8193)
This new quality-of-life feature by yohannd1 makes it easy to search for soundfont patches.
Vcpkg for MinGW dependencies (#8218)
For years, the Windows MinGW builds (the nightly builds simply called "Windows" on the lmms.io downloads page) have relied on a custom Ubuntu PPA containing all our 3rd-party dependencies compiled for MinGW. This worked well, but as time went on, the PPA ceased to be actively maintained and its packages became increasingly out-of-date. But now with the work done by messmerd, most of these dependencies are instead obtained via vcpkg which lets us use the latest versions. For users, this means the Windows MinGW builds now support LV2 plugins, mp3/opus files, per-note panning in Sf2 Player, and the DirectSound and WASAPI audio backends in PortAudio.
Fix VST parameter automation performance (#8253)
messmerd fixed a severe performance issue that occurred when automating or adjusting VST parameter knobs. This was a regression dating back to 2020 and is now fully resolved.
Fix Settings bug that occurs when not using JACK (#8299)
For the past few months, the Nightly version had a regression where the Settings window could take several seconds to open. And even worse, for some users, opening the Settings could break their system's audio. This issue was caused by a mistake in our JACK backend, and is now fixed thanks to messmerd.
Fix OpulenZ level scaling knob (#8308)
Previously, the OpulenZ plugin's Scale knob did not function as intended (or at all), but now this embarrassing mistake has been corrected thanks to zynskeywolf.
Other changes:
fpp_twithf_cnt_t(#8311)In progress
In March, 29 new PRs were opened, of which 5 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 feature to export tracks (#7119)
sakertooth made some minor improvements to the PR recently, and it's ready for testing and review.
Add Oscilloscope Effect (#7937)
This new effect plugin by regulus79 is awaiting code review. The new lock-free SPSC queue implementation in #8280 affects this PR, but we shouldn't need to wait for it to be merged first.
Lb302 cleanup (#8132)
In the past month, rubiefawn added per-note velocity and panning to Lb302 and fixed some regressions. The PR needs more code reviews and testing, but is otherwise mostly done.
In the works
Vcpkg for Linux dependencies (#7316)
Now that MinGW builds use vcpkg (#8218), messmerd is working on adding vcpkg support for the Linux builds as well. Due AppImage restrictions, our Linux builds must use an older build runner with out-of-date system packages to ensure the resulting AppImage is compatible with more than just the most recent distros. Vcpkg would allow us to use the latest 3rd-party dependencies rather than constantly being four years behind.
Grid Abstraction - Vector Graph (#8221)
szeli1 has been working on a new 2D grid model and widget. Its first use case will be in the WaveShaper plugin to greatly improve the ease of use when drawing curves. The PR supersedes earlier attempts in #4367 and #7158.
Effect presets (#8273)
bratpeki added the ability to save effects and effect chains as presets that can be loaded later.
List VSTs as instruments (#8301)
In this work-in-progress PR by sqrvrt, LMMS scans for VST plugins at startup similar to other DAWs. By doing this, it can separate VSTs into instrument and effect categories rather than combining them all together like the Effect Browser currently does. It also lists the VST instruments in a separate section of the instrument plugins sidebar, similar to LV2 plugins.
Decouple tracks from the Mixer (#8317)
sakertooth is continuing the efforts to refactor old code. While this kind of work may not be visible to users, it's important for the maintainability of the codebase and to improve the overall reliability of the application.
Other PRs
These PRs were also created or worked on during March.
MainWindow::restoreWidgetState) (#8204)MainWindowfrom getting stuck (#8282)QMap<QString, std::vector<QPair<QString, QString>>>(#8291)std::formatted_size()instead ofnumDigitsAsInt()(#8321)SampleBufferto use value semantics (#8324)normalizePhase()for normalizing phase (#8327)Goals for April
We're continuing to work towards the goal of releasing a new alpha version.
In order to force ourselves to focus on completing the remaining 1.3-alpha.2 milestone issues and other bug fixes, we will likely institute a feature freeze starting next month and lasting until the new alpha is released. During the feature freeze, only bug fixes and performance improvements will be merged, though if there's a small feature a majority of devs want to merge, we may make an exception.
New contributors
None last month, but this month it could be you!
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 April!
Beta Was this translation helpful? Give feedback.
All reactions