Home KXStudio > News
RSS

KXStudio : News

> KXStudio Monthly Report (January 2021)
On 2021-01-31 by falkTX

Hello all, another monthly report about the KXStudio project is here.
Last month I completely forgot to write a report, with the end of year and preparations for all the releases.
Speaking of releases...

A few things were released just 2 weeks ago.
From a quick update to DISTRHO/DPF-related plugins, to announcing PawPaw for cross-platform LV2 plugin builds.
I had an idea to release Carla v2.3 also at the same time, but a few things are still not ready.

And speaking of Carla now, good progress has been made to setup automated builds, at least for macOS and Windows (as those are the more annoying to build for, compared to Linux or BSD).
The dreadful issue of DLL hell causing Carla not to start on Windows seems to be fixed with this new updated build setup.
There are a few things in progress that I plan to finish before calling it final:

  • macOS arm64 build loading Intel 64bit plugins (already working for VST2, but not VST3)
  • revised and rechecked LV2 patch/parameter support (seems good to me, just needs more testing)
  • expose/export the internal audio and midi file players as lv2 plugins (almost there, some bugs still present)
  • allow to use desktop theme icons (mostly finished, just a few dialogs need to be adjusted)
  • translations (but as other things take priority for me, this might skip v2.3)

I am not mentioning here things that are already completed, it is just to give you an overview of what is left.
Plan was to have it finished by the end of January, but obviously didn't happen, so we can say "coming soon", again. :P

Once more Carla stuff is finished and mostly only testing is left, I will begin some very much needed work and attention for DPF.
DPF is using a very old pugl version, modified along the way but mostly matching the version used in x42-plugins.
pugl API got revised and improved so much that feels worth the update.
I started this already, but had to dedicate my attention to other things in the mean time.
Target is to not only update pugl, but an overall cleanup and minor reworks of the API where suitable/needed.
By end of next month I will try to give a summarized report of the update status.

Regarding packages in the KXStudio repositories, finally there has been some updates. Those are:

  • die-plugins added
  • adlplug updated to 1.0.2
  • dpf-plugins updated to 1.4
  • distrho-ports updated to 2021-01-14
  • drumgizmo updated to 0.9.19
  • lsp-plugins updated to 1.1.28
  • new-session-manager updated to 1.5.0
  • x42-plugins updated to 20210114
  • zam-plugins updated to 3.14
  • cmt fixed (symbol visibility issue)
  • setbfree small fix (removed unused b_conv vst)
  • whysynth fixed for newer distros

That is all for now, stay safe out there.


> Announcing PawPaw: cross-platform LV2 ports for macOS and Windows
On 2021-01-15 by falkTX

PawPaw is an open-source project that builds and packages cross-platform LV2 audio plugins (among other things, but let's focus on this now).

It was created out of the need of many open-source developers to easily build their stuff for macOS and Windows, where usually dependencies are involved which need to be built manually.
In order to make audio plugins self-contained, these dependencies/libraries need to be built statically, which most packaging projects do not do.
Also, most open-source audio plugin projects do not have binaries for macOS or Windows, making it very difficult for users in these platforms to enjoy them.

That last part is crucial.
While on Linux LV2 is king, with so many plugins released as LV2, the same is not true for other platforms.
I want to change that, so that the usual excuse "but there are no plugins, we won't bother with LV2" of audio developers can no longer be used.
It is the typical circular-dependency problem. There are no hosts because there are no plugins and vice-versa.
Hopefully with a big set of plugins, the situation will change.

For the first release of PawPaw we have the following LV2 plugins: (note some of these are big collections of many plugins themselves)

  • abgate
  • artyfx
  • blop
  • caps
  • die-plugins
  • distrho-ports (arctican, dexed, drowaudio, klangfalter, luftikus, obxd, pitched-delay, refine, tal, temper, vex, wolpertinger)
  • dpf-plugins (glBars, kars, max-gen, mini-series, mverb, ndc-plugs, nekobi)
  • fomp
  • mda

Every single plugin has automated meta-data validation and runtime testing to make sure they work correctly.
The quality of the plugins depends on the respective developer and project of course, but they should be safe from crashes.

A big question now is "how can I use them?".
At this moment, from what I am aware, only Ardour/ Mixbus and Carla support LV2 plugins on these platforms.
Some applications like Audacity, Kushview Element and Mixxx support LV2, but usually only in Linux builds.
Carla works as a VST2 plugin, so you can use it as a way to bridge these to regular hosts, but obviously not ideal.
But hey, one step at a time. We have a few more LV2 plugins now on these platforms, and moving forward the list is only going to grow.

Screenshots

Ardour + Windows

pawpaw-1.0-win

Mixxx + macOS, loading ArtyFX plugins

pawpaw-1.0-mixxx

Downloads

You can find the macOS and Windows installers at https://github.com/DISTRHO/PawPaw/releases.
For macOS, 10.12 is required. These are universal builds that already support x64 and arm64 combined.
For Windows, Windows 7 or superior is recommended, and a CPU capable of doing SSE2 operations is required.

Future plans

For the future, I plan to rework the DISTRHO website so it contains all these details.
Mainly so that it is a better overall presentation.
And of course more plugins, though pull-requests are also very welcome for those.
Carla is slowly in the process of using PawPaw for automated release builds, more on that at a later time.


> A small set of plugin updates
On 2021-01-15 by falkTX

Hello hello, it is release day again!
Keeping up with the cool people, here is a set of plugin updates for the Quarterly Release Pact.
Do note that these are all source-only releases. For binaries, use your Linux distribution packages or the PawPaw project.
With that said, let's begin...

DISTRHO-Ports 2021-01-14

DISTRHO-Ports is a set of GNU/Linux and LV2 ports, imported into the codebase for easy packaging, maintaince and all that.
This is a bug-fix release, getting the project ready for cross-platform builds and automated validation/testing.
Changelog:

  • Fix out of bounds buffer write in drowaudio-reverb (leading to memory corruption and/or crashes)
  • Fix lv2 export preset meta-data validation
  • Fix lv2 ttl generation when cross-compiling (e.g. using mingw and wine within linux)
  • Fix exported symbols
  • Fix build/compatibility with macOS 11 / arm64

DIE-Plugins v1.1

DIE-Plugins is a collection of plugins imported into the DISTRHO project for easy packaging.
Currently has only Ardour (Community Effect) plugins, mainly so you no longer need to build the entire Ardour codebase to get these plugins.
Changelog:

  • Fix a-fluidsynth port names
  • Sync with upstream, now features are listed in ttl thus passing plugin checks/validation
  • Use -fopenmp for building internal fluidsynth (where possible)

DPF-Plugins v1.4

DPF-Plugins is a collection of DPF-based plugins, including Kars, MVerb and Nekobi.
This is yet another bug-fix release, tagging a release before a big DPF overhaul planned for next month.
Changelog:

DPF:

  • Auto-detect compiler target, fixing as-is build with ARM systems
  • Allow to use EXE_WRAPPER as makefile option, to help cross-compilation
  • Fix build with headers in custom path
  • Fix "make install" for macOS and Windows
  • Fix exported LV2 metadata to pass checks/validation
  • Make mouse-wheel delta independent of window size

Kars:

  • Fix audio buffer reuse, causing bad audio in some hosts

Nekobi:

  • Set default MIDI CC for all parameters

More releases coming soon, stay tuned!


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

distrho-ports-lv2-macos

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.


← PreviousNext →