KXStudio : News
>
Carla 2.0 RC1 is here!
On 2018-09-16 by falkTX
Hello again everyone, and surprise, the stable 2.0 version of Carla is coming!
This is the announcement of the first release candidate of Carla 2.0.
Very little features were added, focus went on stability instead.
The 'master' branch on Carla's source code is now for stable content, all new stuff will go to 'develop'.
My intention is to really let Carla on the side for now. If I can do it or not remains to be seen...
The list of changes is a little big, so let's split it by parts.
First, the highlights and major changes.
Highlights and major changes
LinuxSampler removed, replaced by SFZero
Basically I removed the code that interacted internally with LinuxSampler, and replaced it by SFZero.
There are a lot of reasons for this change, but we can resume it to 3 points:
- LinuxSampler API being overcomplicated
- SFZ handling not very reliable
- Licensing issues
Removing LinuxSampler means we lose support for GIG files, also SFZero loads the entire kit in RAM.
But, in return, SFZ files now always load without getting muted or having to do dirty workarounds.
Plus, with this, Carla can keep SFZ support while maintaining its GPLv2 license intact.
Note that SFZero does not support some opcodes, so the playback might sound different.
At a later date, a release will be made that will focus on SFZ support.
Big windows fixes
Carla under Windows has always a been a bit behind, compared to its Linux and macOS support.
Not anymore!
Carla can now run as a plugin in Windows, and also the PyQt-based big-meter, midi-pattern and notes plugins.
With this done, Carla as LV2 is now included in the Windows builds.
The export of a single plugin as LV2, though it is an experimental feature, now also works on Windows.
Because Windows does not handle symlinks very well, Carla copies its resources instead.
Scanning plugins will no longer show a console window.
The font engine was changed from native to freetype, which not only fixes the mini-canvas but gives a better presentation too.
Plugin bridges work once again, and now even better as Carla now initializes Windows resources on them (like static pthread and OLE).
UI changes
The piano-keyboard widget got some attention, now has 4 different highlight colors, 3 input layouts (qwerty, qwertz and azerty) and allows to change the offset when using the PC keyboard to send notes.
Just right-click on a piano-keyboard widget to trigger these options.
The rack looks a bit different now, as the possible "skins" for the plugin slots are now exposed and can be changed at any time.
You can change the background color too. Because why not? :)
The knobs and rack buttons are now more white-theme friendly.
This was needed to get white backgrounds working correctly, so for those of you that prefer Carla in a more bright theme, it will behave better now (why would you do that though?)
Other changes
Some changes that make sense or are useful enough, and that deserve to be mentioned.
- Allow control output parameters to go out of bounds, thus displaying the correct value
- Automatically restart plugin bridges when plugin is re-activated, using last saved state
- Don't allow to disable jack transport if running in multi-client mode
- Don't close and re-open VST plugin UIs on show/hide
- Don't change any engine settings if it currently running
- Don't list lv2 plugins that are not supported
- Don't make Windows or macOS plugin UIs resizable for now
- Implement loop-mode for audio-file plugin, turn it on by default
- Implement support for buffer size changes in RtAudio JACK driver, and ignore JACK sample rate mismatch
- Implement SF3 support (SF2 files with OGG audio files instead of raw WAV)
- Force fftw thread-safe mode when starting Carla as standalone
- Plugins with more than 2 audio ports can now be loaded in rack mode (the extra ports are just ignored)
- Save and restore BPM with a project
- Save and restore last used BPM, if not loading a project
Fixes
Besides the ones already mentioned for Windows, we also have:
- Big push to get transport working correctly
- General fixes against dynamic buffer sizes
- Several fixes to UI size and UI bridges under macOS
- Fix all PNGs that triggered libpng warnings
- Fix canvas rubberband being invisible after a canvas refresh
- Fix embedded UI covering window controls under certain hosts (in a Qt5 Linux build)
- Fix switching plugin positions in plugin mode
Notes for developers and packagers
- Base python scripts are no longer installed in dist-packages
- Carla front-end code was moved to its own folder
- FluidSynth version 1.1.7 is now required for soundfont support
- UI bridges can now be started from CLI with just the plugin URI
- New CarlaNativePlugin header and library exported, exposes Carla's Rack and Patchbay internals to 3rd party applications
Currently work-in-progress is a complete REST API of Carla's backend, allowing to have full control of a remote Carla instance.
(and not in a limited fashion like done with Carla-Control / OSC).
Initial code for it is already done, and tested to work.
If this interests you, let me know!
Notes for users
The code for scanning plugins had a little rework, making some internal data structures change.
Because of this, a full rescan of your plugins is needed after the update.
When running Patchbay mode in JACK, changing the buffer size might cause a crash.
This is not a common action to do, so not a priority to fix.
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.
Future
With Carla done, next up is DPF handling and KXStudio 18.04 ISO release, while trying to get a new JACK2 release out too.
Note that after these 3 items are done, I plan to take a well-needed break from open-source project maintenance.
>
Carla 2.0 beta7 is here!
On 2018-07-22 by falkTX
Hello again everyone, I am glad to bring you the 7th beta of the upcoming Carla 2.0 release.
Last time I said beta6 would be the last beta, but let's ignore that for now... ;)
This release focuses on bug-fixes rather than new features.
Most of the new features were added because of contributions, which are very appreciated.
There are no big flashy screenshots this time, sorry.
One breaking change for this release is the removal of most of the plugins bundled in Carla's code.
They were moved into a separate repository, to keep Carla's code-base smaller.
If you are building Carla yourself and you want those extra internal plugins, make sure to enable git submodules.
Here is a list of the most relevant changes and fixes for this release:
- Add confirmation dialog for quitting Carla
- Add confirmation dialog for "Remove All" and "New File" actions
- Add internal MIDI Channel A/B plugin
- Add semitones parameter to internal midi-transpose plugin
- Implement move up/down plugins in rack (right-click menu)
- Implement LV2 UI port notifications to feedback messages to UI
- Implement more libjack stubs, Catia now loads inside Carla :)
- Transport controls are now considered stable and always enabled, no longer in experimental settings
- Disable ableton-link and audio kits search UI elements if not built/enabled
- Do not capture logs if running in nogui mode
- Do not use or check for kVstParameterUsesIntegerMinMax VST property
- Do not lockup on close in case audio driver stops working
- Export LV2 window is now a simple combo-box, making it more usable
- Save plugin author name in exported LV2 plugin
- Increase polling rate for non-gui mode (30 Hz), fixes slow OSC handling
- Fix mouse position offset of Carla-embed mouse events
- Fix processing of internal plugins with multi MIDI inputs
- Fix crash when closing a session containing bridges with Ctrl+C
- Fix patchbay/graph to work with variable buffer sizes
- Fix some issues regarding integer parameter control
- Fix controlling logarithmic parameters with MIDI CC
- Fix "MIDI CC 0x01" not selectable in some systems
- Fix loading of VST plugin parameters and LV2 state for plugin bridges
- Fix carla-single usage under ladish
- Fix file dialog filter of the internal MIDI file plugin
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.
Future
The next Carla release is meant to close the 2.0 features, and focus on feature parity between all OSes.
It might take some time though (unless there is major regression that makes a new release required).
For now I plan to focus on other things that have been on the backlog for some time,
including DPF, KXStudio 18.04 ISO and JACK maintenance.
News on that will be published when something is ready, please be patient.
>
DPF-Plugins and DISTRHO-Ports update
On 2018-05-13 by falkTX
A new release of DISTRHO-Ports after years without one!
A lot of changes happened on the underlying plugin frameworks (DPF and Juce).
I also updated the way updates are handled, so it will be less work for next time
(and thus, hopefully, have updates more often from now on)
The amount of changes in the plugin frameworks is so big (it has been 4 years since last release!),
that I am not going to write about them in detail.
But the major highlights follow below.
The following new Linux ports were added: (LV2 and VST)
- JuceOPL
- ReFine
The DPF-based plugins had some changes too:
- glBars added
- Kars added
- ndc-Plugs added
- A new DPF-Plugins git repo was created, for easy packaging of all our plugins
- MAX gen~ based plugins can be created, see
this link
Since last release, a few projects have appeared that use DPF. Here's a few:
-
FTZ Chiptune - Collection of basic waveform synths
-
Ninjas - Sample Slicing Plugin
-
Wolf-Shaper - Waveshaper with graph editor
-
ZamAudio plugin collection
- ZynAddSubFX,
uses DPF for its plugin support
Other small changes relevant to the project:
- Nekobi moved to plugins (used to be in ports), as original developer is happy with it
(and has RW access to our git repo too)
- The DPF "framework" has evolved with JACK Standalone export, Transport sync among other things
Checkout https://distrho.sourceforge.io/ for binary downloads and screenshots.
The complete source code is available at https://github.com/DISTRHO/.
PS: For those waiting for KXStudio 18.04 ISO release, work is underway, please be patient!
>
Cadence 0.9.0 release and KXStudio 18.04 preparations
On 2018-04-02 by falkTX
Cadence 0.9.0 has just been tagged in its
git repository.
No new features have been added to the code-base.
The release is focused on the Qt5 port, and of course the fixes that have been added over time.
Qt4 is no longer supported; the code was updated to work with Qt5, without having a fallback Qt4 mode (unlike Carla).
Cadence Qt5 port is needed for a proper KXStudio 18.04 release, as we will be using KDE5 Plasma as desktop environment.
The
KXStudio "Welcome" wizard
has also been ported to Qt5.
This finalizes the Qt4 => Qt5 porting process, with all KXStudio tools now running in Qt5.
In other news, the preparations for KXStudio's 18.04 ISO release
have started.
The decision is to use
Neon
as the base distro for the next ISO images, with Breezy-Dark as default theme.
The KXStudio configuration files have been ported from KDE4 to KDE5, with only a few tweaks missing now.
If you're running the KXStudio repositories with Neon 16.04, you can already install the kxstudio-desktop-neon package. :)
Note that Ubuntu 18.04 (and thus Neon 18.04) is not out yet, so a release will of course have to wait for them first.
(Neon does not actually have their 18.04 repositories fully ready at this point)
We will have beta images first, to let users test and give feedback.
When everything seems to run fine, and I am happy with the results, the final image will released.
No estimation on the 'when' just yet though - it will be out when it's ready - so please don't keep asking. ;)
>
Carla 2.0 beta6 is here!
On 2018-01-25 by falkTX
Hello again everyone, I am glad to bring you the 6th beta of the upcoming Carla 2.0 release.
It has been over one year since the last Carla release, it was about time. :)
This should be the last beta for the 2.0 series, as next one is planned to be release candidate 1.
There were quite some changes under the hood, mostly in a good way.
The trade-off for users is that this means losing some features, the biggest ones being VST3 and AU plugin support.
The way audio and MIDI devices are handled on Windows and macOS also changed, no longer having dynamic MIDI ports.
See the previous post about Carla to get more details on the "breaking changes".
But let's move on with the good stuff!
Here are some of the highlights for this release:
![]() |
Transport controls and Ableton Link support (experimental)
Previous releases of Carla had basic time controls already,
but it was quite basic and lacked options for JACK transport and BPM control.
Transport can misbehave when rolling back or forwards, so this feature is still classified as experimental. |
![]() |
FreeBSD and other non-Linux systems
After the removal of the juce library from the code-base (as
discussed before),
Carla was free to support more than just the big 3 OSes. |
Other changes
There are quite a lot of other smaller changes made in Carla since beta5, these include:
- Added artwork and license to about dialog
- Added carla-rack no-midi-out mode as plugin
- Allow drag&drop of plugin binaries into Rack view
- Add "prevent bad plugin behaviour" option (experimental, Linux only)
- Auto-detect wine-prefix for plugin bridges
- Expand usable MIDI keyboard keys a little (Z-M plus Q-P for 2 full octaves and 5 extra keys)
- Implement parameter text for plugin bridges
- Implement "Manage UIs" option for macOS and Windows
- Place more parameters per tab in editor dialog
- Show active peaks and enable keyboard for carla-rack group in canvas
- Knobs are now controlled in a linear way
- Previous experimental plugins removed, and carla-zynaddsubfx no longer exported
- Rack view can handle integeter knobs properly
- Save and restore canvas positions (standalone only for now)
Special Notes
- Carla as plugin and Carla-Control are still not available for Windows, likely won't be done for v2.0.
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.
← PreviousNext →