> 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!

> KXStudio Monthly Report (July 2020)

On 2020-07-31 by falkTX Hello all, another monthly report about the KXStudio project is here.

This actually covers June and July, since there was not much to tell during June. So... first, for those that did not notice, there was quite a few linux/opensource-audio releases on July 15, for the Quarterly Release Pact.

The "Quarterly Release Pact" is an informal agreement between developers to do releases of as much software as possible on a common day.

This is a nice way to: Keep the software in the public eye

Increase trust, as people see that the software is in development and is cared for

Increase motivation of the developers, as seeing a group working (by their releases) is a good way to push them to do something too

Engage in a kind of "Swarm Marketing": A small release does not have much impact and won't get featured often by news sites, but a whole group of software releases demands more attention. I can speak for myself that the release day is a great motivator to push releases.

When such date is near, everything that has reached a certain point where a release is perhaps worth doing (but usually would be hold-off due to not being "perfect enough"), just gets released.

Because to be fair, there is no point on holding off a release for long periods of time.

If something really goes wrong, a quick bug-fix can be done, so why not. It is software, these things happen sometimes.. With that in mind, the DISTRHO-Ports and WineASIO projects got new releases.

I worked (with some help) to move the DISTRHO-Ports build system from the super-old premake3 build system to meson.

While irrelevant for users, it is very important for Linux distribution packagers because premake3 is simply no longer maintained (and thus not even installable in some cases).

The other changes were not really that substantial in my view, but why not release anyway?

As someone who has done a few packages myself, I can understand the pain of those that want to package something but have their work made difficult by this kind of problem.

(If all goes well, DISTRHO-Ports provided plugins will be installable as packages in the next Ubuntu version already!) DISTRHO-Ports has been reworked in a way so that we can keep the existing plugins untouched, while adding/supporting new plugins made with JUCE6.

The "legacy" plugins will have LV2 and VST2 formats, while new ones will support LV2, VST2 and VST3.

I plan to write a tutorial on how to add a plugin to this project, so that other people than me can contribute.

This will increase the number of ported plugins drastically, as it does not have to wait on me to to do it. (I have a lot on my plate already..)

Once we have a good number of new plugins, or the next release day comes (in 3 months), you can count on yet another release! :) Regarding The WineASIO, it was ready for release for some time, so I did the release in more of a "why not?" state.

You can read more about this release here, but in short, I am now maintaining the WineASIO project. :)

This is because the previous maintainer wished to step down doing so, and I was already fixing WineASIO for packaging in the KXStudio repositories anyway, which basically involves maintaining it.

It is important to note that it is really only maintaining the code (so that it keeps working on new Wine versions).

So there is not going to be any new features added to it, only bug-fixes. In other news, Carla 2.2 Release Candidate 1 is out.

It was a bit more rushed than I wished for, with a late release because I had to fight with some macOS incompatibility issues.. but that should not happen too much in the future.

I already have in mind what to focus on for version 2.3, but I really hope that with this 2.2 release I can kinda already leave Carla a bit on the side (which was already supposed to have happened in version 2.1 by the way), because other projects really need my attention right now.

The final Carla 2.2 release is just siting on a timer now in a way.

My target is to make it available for Ubuntu 20.10, so I will fix whatever bugs I can until the time arrives for Ubuntu 20.10 package freeze. (So final release in October 2020) Unrelated to the release pact now, I am working on automated builds for a few projects, learning along the way how that is usually handled.

This is not that useful for Linux users, because distributions can build and package up stuff quickly; it is more for macOS and Windows users for whom it is much harder to build stuff.

The automated builds will cover plugins (distrho-ports, dpf-plugins and more), Carla and even JACK.

It is not completely ready yet, but very, very close to done. Expect a few announcements regarding this in the coming weeks! Something I need to mention... I know people have been asking about an ardour package update (in KXStudio repositories).

I will get to it eventually, yes, sorry for the delay.

Ardour is a different kind of build, so I need to find a nice way of handling it. (I want to repackage the official binary, as authors are ok with it)

Previously it was all very manual work, it is better to avoid that this time around.

My focus in the past few weeks has been on Carla and now the automated build setups, so packaging got put aside for now. And speaking of packages, here is the list of updates and additions in regards to June and July 2020: helio-workstation added

new-session-manager added, replaces non-session-manager

fluajho updated to 1.6.1

lsp-plugins updated to 1.1.24

mod-host updated to latest git

patroneo updated to 1.6.1

sequencer64 updated to 0.96.8

vico updated to 1.2.1

x42-plugins updated to 20200714

zam-plugins updated to 1.13 That is all for now, stay safe and sane out there!

> 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. Multi-Client + multi-instance improvements In order to allow multiple instances of Carla to work without conflicts, proper JACK multi-client multi-instance support was implemented.

What this means is that you can have a name prefix for all plugins when in JACK multi-client mode, so that it is easier to understand where a plugin belongs to.

Starting with v2.2, extra Carla instances will get a dedicated JACK client name suffix.

On projects created with v2.2 and above, Carla will know which saved connections belong to which plugins, making it possible to load a session correctly where multiple Carla instances are involved. As a way to make this easier to manage and control, a new command-line argument was added, "--cnprefix=...".

So now you can have a dedicated Carla instance that has its created JACK clients more globally recognisable. Also, when Carla runs under NSM, the JACK client name prefix is set automatically (coming from NSM).

This is not enabled when loading pre-2.2 projects though, in order to keep backwards compatibility.

Linux VST3 plugin support As new VST2 plugins can no longer be officially licensed and VST2 is very, very, very slowing being phased out, it is important to have VST3 support. So now you can now scan and load Linux VST3 plugins under Carla. It is no longer limited to macOS and Windows. Worth noting is that this is not a custom implementation, but leveraging JUCE VST3 host support on Linux. It recently got supported as part of their JUCE6 update. There are no plans for a custom implementation at this point.

Small UI/UX improvements all around The built-in keyboard right-click menu got a bit better.

Everything is presented in a single menu, no more sub-menus are used. The plugin built-in editor dialog now shows the currently mapped parameter type+value directly.

No more clicking around needed to find out what the parameter is mapped to. MIDI learn implemented, triggered via parameter mapping menu.

Note that this is per plugin, not global, due to how Carla handles each plugin individually. 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.

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!

> A DISTRHO-Ports update

On 2020-07-16 by falkTX Hello again, another release for the Quarterly Release Pact is here.

This one is a "small" update of the DISTRHO-Ports project.

It is a more packager-focused release rather than user-focused, because the (super old) build system was finally updated.

This alone warrants a new release by itself, as it finally becomes possible for the project to be packaged in regular linux distributions. There are a few new plugins and fixes with this release, bigger changes are coming at a later date.

I want to update the DISTRHO-Ports website and have "nightly builds" of the plugin binaries, but this will take time.

For now, at least we have the plugins building and working on modern distributions. Here is a resume of the full changes since last release in 2018: Add HiReSam plugin port

Add ReFine plugin port

Add Temper plugin port

Fix build for ARM NEON target

Fix LV2 UI notifications happening in non-GUI thread

Fix LV2 meta-data to pass lv2lint errors

Update JUCE (current plugins frozen in a known good but slightly old version, with cherry-picked fixes)

Switch build system from premake3 to meson 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-07-14 release at github.com/DISTRHO/DISTRHO-Ports/releases.

