Carla Changelog

What's new in Carla 2.5.8

Feb 1, 2024
  • Fix double backslash encoding in pre-included serd
  • Fix a few minor ttl details in carla.lv2 (to make validators happy)
  • Fix potential audio buffer overflow issues due to over-optimization in math utilities
  • Fix winevst for DLL_PROCESS_ATTACH

New in Carla 2.5.7 (Oct 1, 2023)

  • Allow configuration of Carla client name when headless (via CARLA_CLIENT_NAME env var)
  • Fix save missing LV2 files
  • Fix some wine bridge details

New in Carla 2.5.6 (Aug 4, 2023)

  • Fix compatibility of plugin discovery with newer 2.6.x tools
  • Fix crash when using JACK under Linux ARM
  • Fix carla-lv2 pre-run with 0 frames
  • Fix carla-vst GUI for high-dpi screens
  • Fix carla-native-plugin library exported symbols
  • Show custom error message when trying to start JACK driver without JACK
  • Skip special treatment for LADISH (do not set session management hints)

New in Carla 2.5.5 (Aug 1, 2023)

  • Allow IPC during plugin discovery (controlled by external tools)
  • Expose a few extra APIs in carla-utils library
  • Install extra carla-utils related headers during make install
  • Fix invalid/empty LV2 paths for compatibility with lilv
  • Fix LV2 plugin state for plugin bridges
  • Fix showing engine device settings on systems without JACK
  • Fix usage with LMMS on Windows
  • Remove use of REAL_BUILD macro, no longer needed
  • Tweaks for integration in OBS
  • Other minor fixes and cleanup

New in Carla 2.5.4 (Mar 12, 2023)

  • Fix crash/regression when using LV2 plugins without worker extension
  • Fix compat with PyQt >= PyQt 5.15.8
  • Fix macOS build
  • Simplify JACK event handling, now using a single queue on the main thread

New in Carla 2.5.3 (Jan 15, 2023)

  • Always set time frame information for JUCE hosted plugins
  • Fix canvaspreview out-of-bounds panning for patchbay
  • Fix receiving LV2 atoms bigger than 32kB
  • Fix peak metering reading values out of bounds
  • Fix missing </li> code in about information string
  • Support the more verbose LV2 MIDI CC definitions
  • Use SDL driver by default on Haiku

New in Carla 2.5.2 (Oct 14, 2022)

  • Fix includedir/libdir variables in pkg-config files
  • Fix LV2 plugins sending MIDI events out of order when using MIDI mapping for control output ports
  • Fix VST2 all-notes/sound-off events after re-activation
  • Fix "use outer frame for carla-lv2" from v2.5.1
  • Correct jackbridge build flags, prevent LTO from being used in wine stuff

New in Carla 2.5.1 (Oct 1, 2022)

  • Do not set scale factor for LV2 plugin UIs on macOS
  • Fix external MIDI connections for JUCE engine driver
  • Fix a few memory leaks and runtime issues
  • Fix several race conditions
  • Fix logic around engine driver listings
  • Fix position of external patchbay graph nodes not being restored when switching from internal to external
  • Fix RISC-V builds
  • Fix win32 bridge builds on win64 systems (forcing usage of i686-w64-mingw32 if needed)
  • Ignore some compiler warnings from Qt side
  • Use an outer frame for carla-lv2 outgoing events

New in Carla 2.5.0 (Jul 16, 2022)

  • Add JSFX plugin support
  • Add SDL engine driver
  • Adapt engine code to allow single-threaded web-assembly builds
  • Fix macOS installer to run without rosetta2
  • Use full driver settings dialog if opened via menu and engine is not running
  • Update built-in DPF
  • Update to JUCE 7.0.1

New in Carla 2.4.3 (Apr 16, 2022)

  • 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

New in Carla 2.4.2 (Feb 19, 2022)

  • Fixes:
  • Fix a few crashes with JACK applications inside Carla
  • Fix build on non-supported systems by JUCE
  • Fix crash when LV2 X11 UI has non-mapped child window
  • Fix compatibility with Python 3.10
  • Fix default SF2/3 path
  • Fix LV2 UI resizing on macOS
  • Fix missing VST3 plugins not being searched recursively
  • Disable GraphicsScene indexing method to prevent crashes
  • Ensure custom data state save and restore always match
  • Changes:
  • Add "[carla]" prefix to printed messages
  • Add appdata metadata information
  • Add notice when Carla needs to be restarted after an LV2 rescan
  • Add VST3 Windows common files to the default path (required by the latest VST3 spec)
  • Default to JACK backend if pipewire-jack replacement is installed
  • Implement dry/wet, volume and balance on JUCE hosted plugins
  • Reload audio file if sample rate changes
  • Use temporary files for big custom data values in bridges
  • Changes for using Carla as library:
  • Add 8 CV, 32 IO and 64 IO CarlaPatchbay variants
  • Add audio port hints to backend, starting with lv2 sidechain
  • Add static plugin build target
  • Add WITH_LTO build option, disabled by default
  • Allow setting a custom C++ namespace
  • More work on experimental embed plugin UIs, now also possible on plugin bridges

New in Carla 2.4.1 (Oct 15, 2021)

  • Better handling of VST3 parameters (hide as needed, number of steps, etc)
  • Fix compatibility with Python 3.10
  • Fix getting the proper X11 UIs size for more plugins
  • Fix plugin bridges not automatically closing if main Carla dies on macOS (similar to how it is done on Linux)
  • Fix unused parameters preventing real ones from showing up in the edit plugin dialog
  • Fix CarlaNativePlugin.h and CarlaPluginPtr.hpp header files not installed system-wide
  • Fix XY-Controller GUI missing on "make install" target
  • Fix VST2 plugins under macOS and High-DPI (by not reporting scale factor)
  • Replace -lpthread usage with -pthread, fixing RISC-V builds
  • Send keyboard and focus events as needed/possible to VST2 and VST3 UIs
  • Small tweaks to XY-Controller (make lines 1px thick, close UI with Esc key)
  • Special tweaks for static plugin target build (embeding carla statically in other applications/plugins)
  • Other minor fixes and tweaks

New in Carla 2.4.0 (Aug 21, 2021)

  • Add option to use classic skin by default
  • Add support for lv2 ui gtk bridges on any system
  • Set display scale factor for carla-bridge-*/carla-single standalone usage (on macOS and X11 systems)
  • Fix Linux VST3 plugin GUIs crash on close
  • Fix build under msys2 (will not force static binaries)
  • Fix keyboard focus for bridges on macOS (2nd attempt)
  • Fix canvas icon in settings to be high-dpi compatible

New in Carla 2.3.2 (Aug 8, 2021)

  • Add 32x32 icon
  • Do not show "--gdb" in usage/help when not installed system-wide
  • Fix default SF2 search path
  • Fix keyboard focus for bridges on macOS
  • Fix X11-UIs related regressions in v2.3.1

New in Carla 2.3.0 (Apr 16, 2021)

  • Fix a float vs int usage, which will break in python soon
  • Fix cancelling plugin discovery
  • Fix main client name for multiple carlas inside NSM
  • Fix missing vst3 poly aftertouch
  • Fix patchcanvas use of keyboard modifiers
  • Fix project filename/folder only set after saving once
  • Fix recursive VST2 audioMasterAutomate parameter changes
  • Fix sorting plugins by favorite
  • Do not run 2nd instance of lv2 plugin if it has event output(s)
  • Read lv2 midi:binding on control ports and parameters
  • Use Ctrl+P to open/close side panel
  • Use fixed buffers on standalone bridge mode
  • midipattern: overall fix up
  • midipattern: use Esc key to close UI

New in Carla 2.3.0 RC1 (Feb 18, 2021)

  • macOS arm64/universal build support:
  • Starting with v2.3, Carla natively supports the new macOS arm64 architecture, used in the new M1 hardware models.
  • The Carla macOS universal build supports x86_64 and arm64 architectures at the same time, and should run on anything 10.12 or newer.
  • As Carla has support for plugin bridges (even across architectures), I took care to make sure that the arm64 version can load x86_64 plugins.
  • When a plugin fails to load in a specific way, Carla will try to load it again but now in x86_64 mode.
  • This is currently working for VST2 and VST3 plugins.
  • Additionally, for something that kept bothering me a lot, Carla will automatically remove plugins from macOS quarentine before loading them.
  • This is not possible to do for AudioUnits as we do not have the full path to the plugin binary, but valid for all other formats.
  • No more security theatre shenanigans here! :)
  • General improvements to AudioFile plugin:
  • The AudioFile internal plugin received some deserved attention this time around.
  • Besides basically reworking how its disk-streaming functionality (more robust and much less CPU usage),
  • it finally can do resampling so it will sound correctly no matter the sample rate.
  • Additionally mp3 support was added via dr_mp3, as libsndfile used by it does not yet officially support it.
  • Both Audio and MIDI file plugins are now exposed as LV2 plugins, allowing to load and use these plugins outside of Carla.
  • It supports file parameter plus patch Get/Set with State mapPath as expected for these kinds of plugins.
  • The experimental "inline-display" of the AudioFile is also exposed as an LV2 feature.
  • Reworked Windows builds:
  • The infrastructure used to build Windows binaries is now through PawPaw, as done with JACK2 already.
  • With this, I have control over the whole toolchain and libraries that are used in Carla Windows binaries (previously msys2 packages were used).
  • For users, this means these binaries are more robust and with less dependencies.
  • (I am building with static libraries as much as possible, so no more ligcc/libstdc++6 mess).
  • The Windows zip file download no longer ships with a single Carla.exe, instead please run Carla.exe inside the Carla folder, should be easy to spot.
  • For developers, a nice side-effect is that we can finally tweak the behaviour of the startup executable, now allowing debug messages to be seen. (though you need to run it in Console/PowerShell for that)
  • The libraries that allow to use and talk to Carla Host API are now provided on these builds.
  • Finally, it should be possible to build Carla under msys2 on Windows now.
  • I can make a quick tutorial if that is something that interests you, let me know if that is the case.
  • Use system/desktop theme icons (non-macOS/Windows only):
  • Due to popular demand, there is now an option in the experimental settings to use system/desktop theme icons.
  • This will remain as experimental feature for 1 release, so we can catch potential issues in the mean time, and fix them.
  • Since I do not mind the default Carla icons (quite like them actually), this is not meant for me.
  • Feel free to use it and report back if you spot something weird or incorrect.
  • Other notable changes:
  • Allow trun CV plugins in rack mode, with CV connected ta dummy port
  • Carla-Control nlonger has return remote url option, nlonger needed after some fixes
  • Clear up situation with nogui and carla-osc-gui script (explanation article tcome later)
  • Disable OSC by default on macos (needs task permission tuse network, which may look suspicious)
  • Dnot build external plugins by default
  • General improvement tLV2 parameter API support
  • Many, many bug-fixes (not listed here, see the git commit history for the raw changes, including bug-fixes)

New in Carla 2.2.0 RC 3 (Sep 22, 2020)

  • Do not allow to capture logs on Windows, even if enabled
  • Do not enable all 64 max buses for AU plugins
  • Do not put plugin UIs "always on top" in Windows
  • Fix macOS 10.12 build, so that it actually runs under 10.12
  • Fix macOS README, mentioning new plugin situation (package vs actual files to manually copy)

New in Carla 2.2.0 RC 2 (Sep 7, 2020)

  • 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

New in Carla 2.1.1 (Jun 11, 2020)

  • Fix carla-control not handling CLI argument for custom address
  • Fix carla-plugin not handling all callbacks
  • Fix carla-plugin LV2 UI not showing up if host supports touch feature
  • Fix for some plugin formats having 0 audio ports
  • Fix occasional crashes due to canvas shadow (Qt bug, shadow is disabled by now)
  • Fix canvas ports text width calculation with new Qt
  • Fix wrong assertion with size 1 MIDI messages
  • Fix errors in the icons
  • Fix incorrect base conversion for MIDI CC assignments
  • Fix rpath specification in pkg-config files
  • Fix build with Qt 5.15
  • Discovery: Force language to be "C" (English) so we can parse errors
  • Discovery: assume midi inputs = 1 if VST plugin is synth
  • Make canvas ports and groups ignore middle mouse clicks
  • Improve performance of canvas "inline display" rendering
  • Other miscellaneous bug fixes

New in Carla 2.1 (Apr 13, 2020)

  • Add a simple cv2audio plugin
  • Brown color for CV ports, to make them more easily recognizable
  • Fix crash loading LV2 plugin with CV and latency ports
  • Fix mingw/gcc-9 build

New in Carla 2.1 RC2 (Mar 31, 2020)

  • Fix crash on stack unwind for a few operations
  • Fix duplicate data (name, label, uid) used in VST synth/fx Shell plugin
  • Fix JACK metadata usage for multiple carla instances and plugin renames
  • Fix MIDI CC assignment showing wrong selected value (base 16 vs 10)
  • Fixup carla-control (was broken in RC1)
  • Optimize and reduce memory usage of UI bridges
  • Overall fix of postponed RT events
  • Give focus to bridged UIs when first shown
  • Ignore any LV2 patch:writable that is not an lv2:Parameter
  • Rename experimental "prevent bad things" option and give it a tool-tip
  • Support the new LV2 UI requestParameterValue API
  • Support the new LV2 UI background/foreground color API
  • Many other miscellaneous bug fixes, see the git log for details

New in Carla 2.1 Beta (Oct 8, 2019)

  • Trying out the new mingw, and also the new pyqt based on msys2.

New in Carla 2.0.0 (Apr 1, 2019)

  • Fix missing argument in note-on/off osc example
  • Fix word-wrap in add-plugin dialog
  • Fix Windows README.txt line endings
  • Build windows binaries with -mstackrealign
  • Don't show side panel in carla-control
  • Show "Label/URI" instead of just "Label"
  • Keep application signals alive (so Ctrl+C works even while engine is closed)
  • Update copyright year

New in Carla 2.1 Alpha1 (Jan 31, 2019)

  • A release for a Windows VST plugin version for testing.

New in Carla 2.0 RC3 (Jan 14, 2019)

  • Fix bridge-lv2-x11 crash when manually started from CLI
  • LV2: Don't prefer plugin bridges for certain hardcoded plugins (Calf, ir.lv2 and v1 series)
  • VST: Do not call plugin effEditIdle on update display opcode, fixing crashes for a few plugins

New in Carla 2.0 RC2 (Oct 30, 2018)

  • General fixes:
  • Fix build against fludisynth 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

New in Carla 2.0 RC1 (Sep 17, 2018)

  • 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

New in Carla 2.0 Beta 7 (Jul 23, 2018)

  • 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

New in Carla 1.2.4 (Aug 1, 2014)

  • Canvas does not save or restore connections.
  • You need to use external session management for now.
  • LADISH does not support multi-client JACK applications.
  • To prevent any issues Carla will switch to single-client mode automatically.
  • Rack mode is still a bit experimental, specially on non-JACK drivers.
  • LV2 plugin support is incomplete (although already in a good state).
  • Plugins that use CV ports, multiple MIDI ports or Worker extension will not work right now.
  • Carla will not work with non-native LV2 Plugin UIs that require the instance-data extension.
  • This is by design and not a bug.
  • OSC control seems to work well, but has not been tested in great detail.
  • Be sure to report any issues.
  • Carla "PRO" theme, Carla-Control and ZynAddSubFX internal plugin are not available for Windows at this point.

New in Carla 1.0.2 (Aug 1, 2013)

  • Canvas does not save or restore connections.
  • You need to use external session management for now.
  • LADISH does not support multi-client JACK applications.
  • To prevent any issues Carla will switch to single-client mode automatically.
  • Rack mode is still a bit experimental, specially on non-JACK drivers.
  • LV2 plugin support is incomplete (although already in a good state).
  • Plugins that use CV ports or Worker extension will not work right now.
  • Carla will not work with non-native LV2 Plugin UIs that require the instance-data extension.
  • This is by design and not a bug.
  • OSC control seems to work well, but has not been tested in great detail.
  • Be sure to report any issues.
  • Carla "PRO" theme, Carla-Control and ZynAddSubFX internal plugin are not available for Windows at this point.