KXStudio : News
>
Carla 2.2 RC1 is here!
On 2020-07-18 by falkTX
Hello again everyone, it is release day! (casually late again, but only 3 days late this time, yay progress!)
This is the announcement of the first release candidate of Carla 2.2.
Carla is a fully-featured cross-platform audio plugin host, which itself can also run as a plugin.
As done with 2.1, there is no beta release for v2.2 and we are going straight into a release candidate.
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.
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
Other notable changes
- 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.
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.
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.
I did my best to fix all issues that I was able to reproduce, but some can still happen.
Please let me know if find any, thanks!