KXStudio : News
>
Changes in KXStudio repositories
On 2022-04-24 by falkTX
For the impatient ones, the too-long-didn't-read short summary is:
- Minimum required version to use the KXStudio repositories is now 20.04 / Focal or Debian 11 / Bullseye
- i386 / 32bit systems are no longer supported
- "Extras" repository has been marked as deprecated and should no longer be used
Updating base version to 20.04 / focal
As Ubuntu 22.04 was just announced, I began to do work on the KXStudio repositories once again.
They were using Ubuntu 18.04 as base for all builds, which is getting old now and only has 1 more year of support.
That last part is important - when 18.04 goes end-of-line, no new
Launchpad PPA
builds are possible.
And since the KXStudio project relies on those for its packages, I need to update the base version from time to time in order to be able to keep building things.
If you need to ask why using PPAs and not something else, there just isn't another service that can do all that is required (that I know of).
OpenSUSE's Open Build System
is similar, but it cannot handle the inter-dependency of the different sub-repositories.
For example, a "toolchain" repo is used on all builds but not exported to the user, so it is safe to update things like cmake and meson only for the repository builds without breaking the user's system/packages.
The extreme alternative would be to move to ArchLinux and their new
Unofficial Pro-Audio Package Repository,
and while tempting, I think a lot of users would be disappointed and sad with that call.
And hosting the entire build setup myself is not going to happen, I do not have the capacity or funds for such a thing.
But back to the topic at hand, moving up on the base version for KXStudio package builds means the user-facing minimum version also goes up.
So as of today the minimum required version to use the KXStudio repositories is 20.04 / Focal or Debian 11 / Bullseye.
Newly installed systems can no longer use the old variant of the KXStudio repositories.
The old 18.04-base packages are not going to be updated anymore.
Issues with i386 builds
On 20.04 onwards, Ubuntu has disabled i386 PPA builds for all packages except those that are part of 20.04 release.
The move to 20.04 as repository base is already taking place and I did quite a few tests to try and workaround the build limitation, but from what I can tell it is just not possible.
This means the KXStudio repositories will no longer provide i386 packages.
Everything else will keep working, including armhf and arm64 packages.
Hopefully there are ways to still build a few 32bit things like wineasio and carla wine bridges, but those will be 64bit packages just with 32bit libraries.
I did not actually test for this yet, more news on it soon.
Deprecated repositories
The lack of i386 package builds makes it impossible to build system libraries as was the case for the
"Extras" repository.
Without such packages it becomes pointless, so the "Extras" repository has been marked as deprecated and should no longer be used.
Somewhat related, the KXStudio "Music" sub-repository served no real use in the end.
And since now seems to be the time for cleanup and breakage, this one was marked as deprecated too.
Such deprecations make apt very unhappy, and it will begin complaining something like this:
E: Repository 'http://ppa.launchpad.net/kxstudio-debian/music/ubuntu bionic InRelease' changed its 'Label' value from 'Music' to 'Deprecated' N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.
Just cleanup the apt list cache and the errors go away, like this:
sudo rm -f /var/lib/apt/lists/*
If you were using the "Extras" repository and now have issues because JACK can not be installed or updated,
you will need to revert it to the version from your official distribution repositories.
Run this to fix it, replacing "focal" by the linux distribution version label that applies to your case:
sudo apt-get update
sudo apt-get install libjack-jackd2-0/focal libjack-jackd2-0:i386/focal jackd2/focal
Final notes
I realize this will make a few people sad, if the i386 builds were something you were relying on.
It pains me too, as this kinda encourages throwing away old usable hardware that cannot do 64bit.
Moving away from Debian base is not something I want to do at this point, but keeping 18.04 as base is not sustainable, as builds for it will soon stop working.
And doing full custom repositories is a massive endeavour, something I don't have the time and resources (or patience) for.
In the end, I am grateful to still be able to push new builds.
Speaking of new builds, those will still take a bit to appear, as I have decided to do things a bit better this time.
Using Ubuntu 20.04 as base allows to update the "debian format" to 13 which simplifies the builds, all packages are being converted one by one.
Also, I am uploading all
debian source details on a public git repo,
as a backup/precaution measure and also to more easily allow others to see how packages in the KXStudio repositories are done.
I do not really expect contributions that way, but more transparency is always nice.
Based on previous work done for
continous-testing in Carla and DPF,
I want to setup similar runtime tests for all plugins before they get pushed into the repositories.
Compared to just a few years ago, testing plugins is now much easier,
with Carla having a dedicated command-line test mode,
LV2 validation tools
becoming better and even
lv2lint
that performs runtime tests.
I still want to finalize a few things in
Cardinal
before going full-force on the repositories, but that side is almost done now, so very soon my attention can go back to packaging.
Good times ahead!
>
Carla 2.4.3 has been released
On 2022-04-15 by falkTX
This is a small bugfix release for the Carla v2.4 series.
Carla
is an audio plugin host, with support for many audio drivers and plugin formats.
It has some nice features like automation of parameters via MIDI CC (and send output back as MIDI too) and full OSC control.
Fixes
- Fix build for Alpine Linux and BSD
- Fix integration with internal Qt toolbar visibility state
- Fix plugin search (regression from 2.4.2)
- Fix several Windows UTF-16 issues
Build related changes
- Add -fno-gnu-unique to default build flags
- Implement VERBOSE make flag
- Make build compatible with LTO, now enabled on official macOS/Windows binaries
- Replace CARLA_EXPORT macro with separate API / PLUGIN export options
- Set new X-NSM-Exec desktop file property
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".
Bug reports and feature requests are welcome! Jump on over to the Carla's Github project page for those.
Notes for users
This was already the case for v2.2 and v2.3 but it is worth reiterating:
When using JACK2, the canvas - plugin integrations requires at least JACK2 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.
Also there are still no official Linux binary builds for v2.4.3.
Carla v2.4.3 is provided in the KXStudio repositories and in many official Linux distribution repositories anyway.
>
Cardinal 22.04 released
On 2022-04-05 by falkTX
Hello everyone, yet another release of Cardinal is here,
this time focused on bugfixes.
Cardinal
is a free and open-source virtual modular synthesizer plugin.
It is based on the popular VCV Rack
but with a focus on being a fully self-contained plugin version.
Changelog:
- Add Interverb demo patch (in source code)
- Add retrigger to Host-MIDI
- Do not show resize handle on JACK Standalone
- Fix and enable ChowDSP Credit module
- Fix potential noise burts on load with ihtsyn MVerb-based modules
- Fix messed up graphics on Windows with High-DPI screens
- Fix resources not found on some Windows systems (by not relying on environment variables)
- Fix several Windows UTF-16 issues
- Fix X11 file dialogs not appearing on some systems (auto-activate needed DBus portal)
- Fix VST3 state under some hosts
- Make JACK Standalone more useful on Windows (log to console when possible, show error dialog if JACK not running)
- Optimizations to core modules and headless build
- Refresh default template, add FX and Synth specific template variants
- Tweak Host-MIDI default parameters
Downloads
The source code plus Linux, macOS and Windows binaries can be downloaded at
https://github.com/DISTRHO/Cardinal/releases/tag/22.04.
Cardinal is released as LV2, VST2 and VST3 plugin, plus AudioUnit and JACK standalone for certain systems.
The VST3 version is still considered experimental, prefer to use LV2 or VST2 if possible at this time.
>
Cardinal 22.03 released
On 2022-03-21 by falkTX
Hello everyone, a new release of Cardinal is here.
This brings quite a few new extra modules, updates the existing ones and adds a few nice features as requested by users.
This is what changed compared to the (initial) 22.02 release:
- Add Windows installer, shipping with optional Carla Plugin Host integration and JACK Standalone
- Add AudioUnit plugin format for macOS
- Fix build for HaikuOS (only headless possible for now)
- Fix crash in headless build when loading certain modules
- Fix GUI resize in high-dpi systems
- Fix Host MIDI-CC channel pressure and pitchbend interfering with CCs
- Fix repaints in macOS, allow to set update rate limit (only works in some hosts)
- Fix VST2 keyboard input always in uppercase in some hosts
- Force 32bit alignment for vectorized operations, fixes 32bit build
- Initial bypass implementation, MIDI only for now
- Make host audio meters independent from each other
- Merge CardinalFX and CardinalSynth VST2 folders as single Cardinal.vst
- Update VCV Rack base to v2.1
New modules
There's quite a few modules in this release, below follows a link to each project.
Same as in the previous release, all modules were checked for compatibility with GPLv3+ license.
More details here.
- 8Mode
- Aaron Static
- AlgoritmArte
- Animated Circuits
- Arable Instruments
- Axioma
- Befaco
- Catro/Modulo
- GoodSheperd
- Hampton Harmonics
- kocmoc
- Lilac Loop
- ML Modules
- Mockba Modular
- MSM
- Nonlinear Circuits
- Orbits
- Parable Instruments
- Path Set
- stocaudio
- Voxglitch
Downloads
The source code plus Linux, macOS and Windows binaries can be downloaded at
https://github.com/DISTRHO/Cardinal/releases/tag/22.03.
Cardinal is released as LV2, VST2 and VST3 plugin, plus AudioUnit and JACK standalone for certain systems.
The VST3 version is still considered experimental, prefer to use LV2 or VST2 if possible at this time.
>
Ildaeil v1.0 released
On 2022-02-21 by falkTX
Hello everyone, another release is here, this time it is
Ildaeil.
Something that was initially done as a test for
Carla
and
ImGui
usage within
DPF,
but turns out to be actually quite useful!
To those that are not up to date on KXStudio developments, let's recap this little new project...
Ildaeil
is mini-plugin host working as a plugin allowing one-to-one plugin format reusage.
The idea is to load it as a plugin inside your DAW and then the other "real" plugin inside Ildaeil.
This allows, for example, a VST3 host to load LV2 plugins.
For the more technically-minded people, this is basically a combination of
Carla,
DPF
and
DPF-Widgets.
There is some small code of its own for handling the drawing of the plugin list, generic GUI and offset the embed GUIs,
but everything else is done by these other projects.
Nothing that Ildaeil does is special, that Carla can't do, but using Carla means always having to deal with an extra window.
When wanting to load a single LV2 plugin on a non-LV2 supported host for example, this becomes quite cumbersome.
With a little bit of glue code to tie up Carla, DPF and a little GUI, this project becomes possible.
Example
Here is an example, loading the LV2-specific plugin Aether inside Renoise, which does not support LV2 plugins.
You can see more of these screenshots here.
Details
The Ildaeil name comes from the korean 일대일, which means "one to one".
It is one plugin exposed to the host (Ildaeil itself) and one plugin loaded inside Ildaeil.
When open, Ildaeil will show a list of plugins to pick from or the plugin editor if one is already selected.
If the plugin provides an embedable UI, Ildaeil show will that by default, otherwise it shows a generic parameter list.
Toggling between generic vs custom/embed view is possible.
In the case of a plugin providing a custom UI that is not embedable, Ildaeil will show the generic view by default.
You can press "Show Custom GUI" to open the plugin UI in an external window.
For version 1.0, this is what we have:
- Available as JACK/Standalone, LV2, VST2 and VST3 (with VST3 being experimental)
- Can load internal (from Carla) and LV2 plugins
- Comes in Synth, FX and MIDI variants
- LV2 plugins can run in-process or bridged
- Works on macOS, Windows and Linux/X11 systems
And these are the current limitations:
- Plugin parameters are not exposed to the host
- UI is not resizable by the host
Later on, in theory, it should be able to load the other plugin formats supported by Carla
(that being LADSPA, DSSI, VST2, VST3 and AU).
There are some technical limitations that prevent this from happening right now,
Carla will need some backend changes before this can happen.
Note that exposing the parameters to the host is not in the immediate plans.
Downloads
There are pre-compiled binaries for Linux, macOS and Windows which can downloaded at
https://github.com/DISTRHO/Ildaeil/releases/tag/v1.0.
You can also find it in the KXStudio repositories as ildaeil package.
Have fun!
← PreviousNext →