Home KXStudio > News
RSS

KXStudio : News

> Carla 2.0 RC2 is here!
On 2018-10-28 by falkTX

Hello everyone, this is the announcement for a Carla stable update.
Only 2 blocking issues remain, 1 of which needs testing to see if it still happens or not.

General fixes

  • Fix build against fluidsynth 2.0
  • Fix build on Haiku OS
  • Fix build with external plugins enabled but no OpenGL available
  • Fix detection of old Windows dll plugins
  • Fix dynamic/split process cycle for plugin bridges
  • Fix internal plugins receiving wrong frame position on split buffers
  • Fix program changes coming through as bank changes in MIDI output
  • Fix a possible race condition in plugin code
  • Fix some warnings triggered by gcc-8
  • Fix LV2 plugins with UI feedback ports in bridge mode not receiving feedback events
  • Fix macOS specific note visible in settings when not running macOS
  • libjack: Fix applications that register clients right after being started

Usability fixes

  • Always show keyboard in plugin edit dialog if plugin has midi inputs
  • Always expand user home path (~/) when loading project from CLI
  • Don't try to find binary type of certain plugins when loading project (avoid assertions)
  • Use executable basename on jack apps as name when initial name is empty
  • libjack: Catch window close when possible, and hide it instead closing entire application
  • libjack: Implement basic session management via SIGUSR1 signal

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

Work for KXStudio 18.04 ISO is under way, should only take a few more weeks now.
Next JACK2 release will be quite nice, we have meta-data now (thanks to Rui), but that will be handled after KXStudio 18.04 ISO release.


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


← PreviousNext →