KXStudio : News
>
Another DISTRHO-Ports update
On 2020-12-28 by falkTX
Hello again, another release of the
DISTRHO-Ports project is here.
DISTRHO is an open-source project with the goal of making cross-platform audio plugins and GNU/Linux + LV2 ports.
This release relates to the GNU/Linux and LV2 ports.
Just like last time, this is yet again a more packager-focused release rather than user-focused.
The biggest changes this time relate to bringing
DISTRHO's JUCE fork
up to date with upstream, together with updating the
LV2 wrapper.
Additionally, macOS and Windows support was fixed and tested to work, at least for LV2 plugins.
(most of these plugins already have VST2 or AU for those 2 platforms, so the focus in on LV2 here)
A new plugin was added,
CHOW,
but mostly only because I required a fresh plugin to test the new JUCE codebase.
Do note that new plugins can now build as LV2, VST2 and VST3 for GNU/Linux, which is nice to see.
I want to create a little article/tutorial explaining how to port existing plugins into this project, but that will come at a later date.
For now, the intention is to have all the ground-work needed for fresh plugins and LV2 ports.
This ties up nicely with the upcoming
PawPaw
project, as we will soon have all these ports working as LV2 in macOS and Windows.
Here is a quick screenshot I just took on macOS, Ardour loading a couple LV2 versions of DISTRHO-Ports.
PS: This is a arm64/M1 build.
Because everyone loves changelogs, here it is for the full changes since last release 5 months ago:
- Add CHOW plugin (used to test updated JUCE)
- Include new and legacy JUCE in source code (legacy JUCE will only receive bug-fixes)
- Rebase DISTRHO-Ports patches against JUCE6 codebase, available in libs/juce-current/patches
- Fix LV2 wrapper to build against latest JUCE
- Fix build for macOS, including universal builds
- Fix build for Windows (using mingw)
- General cleanup to build system
There are no pre-compiled binaries for this release, though the plugins are fully up-to-date in the KXStudio repositories.
You can find this 2020-12-27 release at
github.com/DISTRHO/DISTRHO-Ports/releases.
>
DIE-Plugins v1.0 released
On 2020-12-25 by falkTX
Hello everyone, I would like to announce a new project: DIE-Plugins.
This is a collection of plugins imported into the DISTRHO project for easy packaging.
"DIE" stands for DISTRHO Imported Effect.
It is a play on words from the first imported plugins, "ACE", from the Ardour project.
These are LV2 plugins only. License is the same as the original plugins, so GPLv2+.
They are simply to die for ;)
Now, on a serious note, this project was created when I was looking to package the Ardour built-in plugins (a.k.a. Ardour Community Effect) for
MOD
and the (still to be announced) cross-platform LV2 plugin project
PawPaw.
The biggest difficulty was having to build the entire Ardour codebase to get these plugins.
While it seems possible to force the build of only the plugins, the build system still expects all sort of libraries for the main Ardour codebase.
Since I am quite comfortable setting up custom Makefiles for quick little projects, that is how it started...
Worth noting that all imported plugins have their bundle and URIs renamed, in order to make them compatible with the originals.
The source code fetching and patching is also scripted, so it is easy to keep in sync with upstream.
Downloads
The source code plus issue tracker is hosted at
https://github.com/DISTRHO/DIE-Plugins.
Only glib2.0 and sndfile are required to build.
If you have the KXStudio repositories enabled, you can install these with the package name "die-plugins".
They are not available in binary form anywhere else at the moment, as the project is brand new.
>
KXStudio Monthly Report (November 2020)
On 2020-11-30 by falkTX
Hello all, another "monthly" report about the KXStudio project is here.
There has not been once since July and even though there are not many new details to share, I did not want to let another month pass without one.
The main reason for the delay on writing is that my attention has been mostly focused on getting the
MOD Dwarf
software all ready for release, including new LV2 features on the MOD software stack.
This usually does not affect me working on other open-source stuff, but the race to get everything ready on time drains more energy than usual.
In order to not stress myself out, progress on other fronts has been a bit slower, though stuff like Carla 2.2 final release still happened.
Some of this MOD work involved understanding the LV2 spec better and fixing or making new test plugins, so this will be useful outside the MOD platform too.
(I already learned that the way Carla handles some LV2 features is wrong and started some work towards fixing that)
Last month (October 2020) marks
the first release of JACK2
with me as maintainer that provides
macOS and Windows binaries.
I have been setting up automated builds for a few open-source projects for a bit of time now, and that is now re-used for JACK2.
There is progress to make this usable for cross-platform plugins, which I was hoping to have a release for by now, but the travis-ci is having some issues against homebrew...
Whenever that works again, I will make the official announcement of that
new project.
Later on this will be used for automating the builds of my PyQt projects like Carla and Catia.
On the Cadence project, I began the work for splitting it into smaller, easier to maintain projects.
The idea is to allow Catia (the patchbay-only application) and the small tools to be packaged and maintained separately.
This will allow to have new releases of Catia, Cadence and its tools all separately.
There is only 1 nasty bug to fix in Catia use of JACK2 meta-data before an official release is made, but it is not an easy one, so I am leaving it for later.
Likely no public release on this until next year.
And that is it for now.
Usually I would write about the KXStudio repositories package update list, but there really has not been much happening there at all..
Christmas holidays are not too far off, which will bring some time to try to get a few more things out.
So expect some proper news again after that.
>
Carla Plugin Host v2.2 is finally here!
On 2020-10-12 by falkTX
Hello everyone, this is the announcement of the 2.2 version of the Carla Plugin Host.
If you do not know, Carla is a fully-featured cross-platform audio plugin host, which can also run as a plugin.
This release announcement comes quite a few days after it was initially tagged and builds uploaded.
I moved to a different place, everything got a bit delayed with that, and also me getting a small but well-needed break.
Anyway, back to the topic at hand...
Contrary to previous releases, there were not many graphical changes this time, but lots of stuff under the hood.
One very important note for developers is that the "native" API to access carla as plugin (as used by LMMS)
is still ABI and API-wise backwards compatible with 2.0, but the ABI and API of Carla as a library is not.
This is because all host functions now have a "handle" prefix, so they can be reused for standalone, plugin and other variants.
Special thanks to everyone that did testing during the release candidate phase, some with very complex setups! (as seen below)
Now with that said, let's go through what's new, first the bigger changes and smaller stuff for last.
Small UI/UX improvements all around
![]() |
The built-in keyboard right-click menu got a bit better. |
![]() |
The plugin built-in editor dialog now shows the currently mapped parameter type+value directly. |
![]() |
MIDI learn implemented, triggered via parameter mapping menu. |
Other "quality of life" improvements:
- Added a 12400x9600 canvas size
- Added a 2x and 4x canvas image export mode
- Added a menu action to save current Carla canvas as image in the clipboard
- Added "Send MIDI notes" option to plugin built-in editor dialog
- Canvas positions are now always saved and restored, including in the plugin version
- Canvas positions are kept in sync across multiple Carla JACK instances and even Carla-Control
- Built-in plugin edit dialog tab state is kept when parameters are reloaded
- Implemented NSM "optional-gui"
- Plugin custom GUI Window title changes dynamically when renamed
- Package macOS plugin version, making Carla-Plugin usable with macOS 10.15
Other notable changes
- Added new xycontroller plugin
- Added a "carla-osc-gui" script that starts a Carla instance in the background and connects to it using OSC.
Closing the GUI does not close the engine, and it can be run again to reconnect later on. - Always use maximum amount of channels for VST2 plugins
- Better handle the case of JACK server stop (or killed)
- Better implementation of LV2 state path, now saving files in the same directory as the Carla project
- Changed the way plugins are deleted, so they are now safely deleted only when no longer in use
- Implement MIDI CC and CV source parameter changes for bridges
- Improve the (still experimental) JACK-apps-as-plugins implementation, now mapping show/hide gui to NSM commands, sending arbitrary MIDI events and making it work on more systems
- Increase max value of the internal LFO plugin, so we can get reeeeeeeal slow
- Raise limit of plugins that can be loaded (512 default, 64 in rack)
- Tweaks for automatically converting internal Patchbay mode projects in JACK multi-client mode and vice-versa
- Working HaikuOS build, but no audio support yet
Many other bug-fixes and small under-the-hood improvements (too many to list here).
See the
git log
for the full list of changes.
Notes for users
When using JACK, the newly added features around the canvas require at least JACK v1.9.13.
This is because Carla relies on JACK meta-data in order to store information about each plugin/client,
and meta-data was only added to JACK2 in version 1.9.13.
Alternatively, you can use JACK1 instead of JACK2, which has meta-data support since a long time.
Note that the "extras" KXStudio repository (which provides an updated JACK2) now supports Ubuntu 20.04 along-side 18.04.
The code for scanning plugins had a little rework yet again, making some internal data structures change.
Because of this, a full rescan of your plugins is needed after the update.
This should fix previously missing plugins that happened in v2.1.
The official Linux binary build does not provide native Linux-VST3 support.
Packages from regular Linux distributions do not have this issue.
Downloads
To download Carla binaries or source code, jump on over to the KXStudio downloads section.
If you're using the KXStudio repositories, you can simply install "carla-git" (plus "carla-lv2" and "carla-vst" if you're so inclined).
Bug reports and feature requests are welcome! Jump on over to the Carla's Github project page for those.
>
Carla 2.2 RC2 is here!
On 2020-09-07 by falkTX
Hello everyone, this is an announcement for the next release candidate for Carla v2.2.
Comes after a few issues were reported and fixed, and as an exception a new plugin is added.
The new plugin is actually "XY Controller" from the Cadence project.
It works pretty much the same way, except that received MIDI data will not change the UI elements.
This is because this is a plugin now, not a standalone application anymore. But everything else remains.
As a bonus, the X and Y are now plugin parameters, and work as parameter outputs too, so they can control other stuff in Carla.
Why the plugin was added so suddenly will be explained in detail in a future Cadence release.
But in short, I am splitting Cadence into easier to manage sub-projects.
The "Meter" and "XY Controller" tools are now part of Carla, so they can be removed from Cadence.
Besides the new plugin (which again is an exception, due to Carla v2.2 already being in Release-Candidate state) we only have bug-fixes.
The full list of changes is:
- Add xycontroller plugin
- Auto-select text in plugin search entry when focused via shortcut
- Compress canvas clipboard image saving (as PNG)
- Disable OSC by default on macOS
- Fix crash when receiving unexpected VST2 time information
- Fix current project filename persistence after engine stop
- Fix deadlock when using VST3 plugins inside Carla as plugin
- Fix listing LV2 plugins on Windows (2.2 regression)
- Fix oddities with MIDI learn
- Fix potential crashes when opening or hiding plugin UIs
- Fix some plugins not having all their audio ports exposed
- Fix some plugin UIs not in front of Carla when first shown
- Fix wine bridge build against winehq-stable and winehq-stable
- Overall fix to midi pattern plugin
- Package macOS plugin version, making Carla-Plugin usable with macOS 10.15
Downloads
To download Carla binaries or source code, jump on over to the KXStudio downloads section.
If you're using the KXStudio repositories, you can simply install "carla-git" (plus "carla-lv2" and "carla-vst" if you're so inclined).
Bug reports and feature requests are welcome! Jump on over to the Carla's Github project page for those.
Final note
Just a reminder that this is a release candidate, and not the final release yet.
There are still a few known issues, but since they are specific to certain workflows, the amount of users affected is limited.
If you find any more of them, please let me know in the
github issue tracker,
thanks!
← PreviousNext →