Browse Source

Preparing Carla release

Signed-off-by: falkTX <falktx@falktx.com>
pull/16/head
falkTX 4 years ago
parent
commit
533111a4bd
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
4 changed files with 162 additions and 355 deletions
  1. +9
    -8
      Applications:Carla-Control.php
  2. +9
    -8
      Applications:Carla.php
  3. +17
    -16
      Downloads.php
  4. +127
    -323
      News.php

+ 9
- 8
Applications:Carla-Control.php View File

@@ -4,6 +4,7 @@ $PAGE_TYPE = "APPLICATION_NU";
$PAGE_SOURCE_1 = ARRAY("/Applications", "/Applications:Carla-Control");
$PAGE_SOURCE_2 = ARRAY("Applications", "Carla-Control");
include_once("includes/header.php");
include_once("includes/versions.php");
?>

<!-- intro -->
@@ -30,27 +31,27 @@ include_once("includes/header.php");
Carla-Control is available in the KXStudio repositories, Fedora and ArchLinux (all with 'carla' package name).
</p>
<p>
Pre-compiled binaries are available for Linux and macOS (version 2.1.1).<br/>
Pre-compiled binaries are available for Linux and macOS (version <?php echo $VERSION_CARLA; ?>).<br/>
<img src="images/ico_linux.png" alt="" class="img_text_align_spaced"/>
<a href="https://github.com/falkTX/Carla/releases/download/v2.1.1/Carla_2.1.1-linux32.tar.xz" class="external text a_bigger_text" rel="nofollow" target="_blank">
<a href="https://github.com/falkTX/Carla/releases/download/v<?php echo $VERSION_CARLA; ?>/Carla_<?php echo $VERSION_CARLA; ?>-linux32.tar.xz" class="external text a_bigger_text" rel="nofollow" target="_blank">
Linux 32bit</a> (requires Qt 5.9 or higher)<br/>
<img src="images/ico_linux.png" alt="" class="img_text_align_spaced"/>
<a href="https://github.com/falkTX/Carla/releases/download/v2.1.1/Carla_2.1.1-linux64.tar.xz" class="external text a_bigger_text" rel="nofollow" target="_blank">
<a href="https://github.com/falkTX/Carla/releases/download/v<?php echo $VERSION_CARLA; ?>/Carla_<?php echo $VERSION_CARLA; ?>-linux64.tar.xz" class="external text a_bigger_text" rel="nofollow" target="_blank">
Linux 64bit</a> (requires Qt 5.9 or higher)<br/>
<img src="images/ico_mac.png" alt="" class="img_text_align_spaced"/>
<a href="https://github.com/falkTX/Carla/releases/download/v2.1.1/Carla_2.1.1-macos.dmg" class="external text a_bigger_text" rel="nofollow" target="_blank">
<a href="https://github.com/falkTX/Carla/releases/download/v<?php echo $VERSION_CARLA; ?>/Carla_<?php echo $VERSION_CARLA; ?>-macos.dmg" class="external text a_bigger_text" rel="nofollow" target="_blank">
MacOS compatible build</a> (requires macOS 10.8 or higher)<br/>
<img src="images/ico_mac.png" alt="" class="img_text_align_spaced"/>
<a href="https://github.com/falkTX/Carla/releases/download/v2.1.1/Carla_2.1.1-macos-10.12.dmg" class="external text a_bigger_text" rel="nofollow" target="_blank">
<a href="https://github.com/falkTX/Carla/releases/download/v<?php echo $VERSION_CARLA; ?>/Carla_<?php echo $VERSION_CARLA; ?>-macos-10.12.dmg" class="external text a_bigger_text" rel="nofollow" target="_blank">
MacOS newer build</a> (requires macOS 10.12 or higher)<br/>
<img src="images/ico_windows.png" alt="" class="img_text_align_spaced"/>
<a href="https://github.com/falkTX/Carla/releases/download/v2.1.1/Carla_2.1.1-win32-nosse.zip" class="external text a_bigger_text" rel="nofollow" target="_blank">
<a href="https://github.com/falkTX/Carla/releases/download/v<?php echo $VERSION_CARLA; ?>/Carla_<?php echo $VERSION_CARLA; ?>-win32-nosse.zip" class="external text a_bigger_text" rel="nofollow" target="_blank">
Windows 32bit (No SSE, for old PCs)</a><br/>
<img src="images/ico_windows.png" alt="" class="img_text_align_spaced"/>
<a href="https://github.com/falkTX/Carla/releases/download/v2.1.1/Carla_2.1.1-win32.zip" class="external text a_bigger_text" rel="nofollow" target="_blank">
<a href="https://github.com/falkTX/Carla/releases/download/v<?php echo $VERSION_CARLA; ?>/Carla_<?php echo $VERSION_CARLA; ?>-win32.zip" class="external text a_bigger_text" rel="nofollow" target="_blank">
Windows 32bit</a><br/>
<img src="images/ico_windows.png" alt="" class="img_text_align_spaced"/>
<a href="https://github.com/falkTX/Carla/releases/download/v2.1.1/Carla_2.1.1-win64.zip" class="external text a_bigger_text" rel="nofollow" target="_blank">
<a href="https://github.com/falkTX/Carla/releases/download/v<?php echo $VERSION_CARLA; ?>/Carla_<?php echo $VERSION_CARLA; ?>-win64.zip" class="external text a_bigger_text" rel="nofollow" target="_blank">
Windows 64bit</a><br/>
</p>
<p>


+ 9
- 8
Applications:Carla.php View File

@@ -4,6 +4,7 @@ $PAGE_TYPE = "APPLICATION";
$PAGE_SOURCE_1 = ARRAY("/Applications", "/Applications:Carla");
$PAGE_SOURCE_2 = ARRAY("Applications", "Carla");
include_once("includes/header.php");
include_once("includes/versions.php");
?>

<!-- Intro -->
@@ -144,27 +145,27 @@ include_once("includes/header.php");
Carla is available in the KXStudio repositories, Fedora and ArchLinux (all with 'carla' package name).
</p>
<p>
Pre-compiled binaries are available for Linux, macOS and Windows (version 2.1.1).<br/>
Pre-compiled binaries are available for Linux, macOS and Windows (version <?php echo $VERSION_CARLA; ?>).<br/>
<img src="images/ico_linux.png" alt="" class="img_text_align_spaced"/>
<a href="https://github.com/falkTX/Carla/releases/download/v2.1.1/Carla_2.1.1-linux32.tar.xz" class="external text a_bigger_text" rel="nofollow" target="_blank">
<a href="https://github.com/falkTX/Carla/releases/download/v<?php echo $VERSION_CARLA; ?>/Carla_<?php echo $VERSION_CARLA; ?>-linux32.tar.xz" class="external text a_bigger_text" rel="nofollow" target="_blank">
Linux 32bit</a> (requires Qt 5.9 or higher)<br/>
<img src="images/ico_linux.png" alt="" class="img_text_align_spaced"/>
<a href="https://github.com/falkTX/Carla/releases/download/v2.1.1/Carla_2.1.1-linux64.tar.xz" class="external text a_bigger_text" rel="nofollow" target="_blank">
<a href="https://github.com/falkTX/Carla/releases/download/v<?php echo $VERSION_CARLA; ?>/Carla_<?php echo $VERSION_CARLA; ?>-linux64.tar.xz" class="external text a_bigger_text" rel="nofollow" target="_blank">
Linux 64bit</a> (requires Qt 5.9 or higher)<br/>
<img src="images/ico_mac.png" alt="" class="img_text_align_spaced"/>
<a href="https://github.com/falkTX/Carla/releases/download/v2.1.1/Carla_2.1.1-macos.dmg" class="external text a_bigger_text" rel="nofollow" target="_blank">
<a href="https://github.com/falkTX/Carla/releases/download/v<?php echo $VERSION_CARLA; ?>/Carla_<?php echo $VERSION_CARLA; ?>-macos.dmg" class="external text a_bigger_text" rel="nofollow" target="_blank">
MacOS compatible build</a> (requires macOS 10.8 or higher)<br/>
<img src="images/ico_mac.png" alt="" class="img_text_align_spaced"/>
<a href="https://github.com/falkTX/Carla/releases/download/v2.1.1/Carla_2.1.1-macos-10.12.dmg" class="external text a_bigger_text" rel="nofollow" target="_blank">
<a href="https://github.com/falkTX/Carla/releases/download/v<?php echo $VERSION_CARLA; ?>/Carla_<?php echo $VERSION_CARLA; ?>-macos-10.12.dmg" class="external text a_bigger_text" rel="nofollow" target="_blank">
MacOS newer build</a> (requires macOS 10.12 or higher)<br/>
<img src="images/ico_windows.png" alt="" class="img_text_align_spaced"/>
<a href="https://github.com/falkTX/Carla/releases/download/v2.1.1/Carla_2.1.1-win32-nosse.zip" class="external text a_bigger_text" rel="nofollow" target="_blank">
<a href="https://github.com/falkTX/Carla/releases/download/v<?php echo $VERSION_CARLA; ?>/Carla_<?php echo $VERSION_CARLA; ?>-win32-nosse.zip" class="external text a_bigger_text" rel="nofollow" target="_blank">
Windows 32bit (No SSE, for old PCs)</a><br/>
<img src="images/ico_windows.png" alt="" class="img_text_align_spaced"/>
<a href="https://github.com/falkTX/Carla/releases/download/v2.1.1/Carla_2.1.1-win32.zip" class="external text a_bigger_text" rel="nofollow" target="_blank">
<a href="https://github.com/falkTX/Carla/releases/download/v<?php echo $VERSION_CARLA; ?>/Carla_<?php echo $VERSION_CARLA; ?>-win32.zip" class="external text a_bigger_text" rel="nofollow" target="_blank">
Windows 32bit</a><br/>
<img src="images/ico_windows.png" alt="" class="img_text_align_spaced"/>
<a href="https://github.com/falkTX/Carla/releases/download/v2.1.1/Carla_2.1.1-win64.zip" class="external text a_bigger_text" rel="nofollow" target="_blank">
<a href="https://github.com/falkTX/Carla/releases/download/v<?php echo $VERSION_CARLA; ?>/Carla_<?php echo $VERSION_CARLA; ?>-win64.zip" class="external text a_bigger_text" rel="nofollow" target="_blank">
Windows 64bit</a><br/>
</p>
<p>


+ 17
- 16
Downloads.php View File

@@ -4,6 +4,7 @@ $PAGE_TYPE = "DOWNLOADS";
$PAGE_SOURCE_1 = ARRAY("/Downloads");
$PAGE_SOURCE_2 = ARRAY("Downloads");
include_once("includes/header.php");
include_once("includes/versions.php");
?>

<ul id="Binaries" name="Binaries">
@@ -17,30 +18,30 @@ include_once("includes/header.php");
<img src="images/ico_cadence.png" alt="" class="img_text_align"/> Cadence </a> (32bit, version 0.8.1)<br/>
&nbsp;<a href="http://sourceforge.net/projects/kxstudio/files/Releases/cadence/Cadence-0.8.1-linux64.tar.xz/download" class="external text a_bigger_text" rel="nofollow" target="_blank">
<img src="images/ico_cadence.png" alt="" class="img_text_align"/> Cadence </a> (64bit, version 0.8.1)<br/>
&nbsp;<a href="https://github.com/falkTX/Carla/releases/download/v2.1.1/Carla_2.1.1-linux32.tar.xz" class="external text a_bigger_text" rel="nofollow" target="_blank">
<img src="images/ico_carla.png" alt="" class="img_text_align"/> Carla2 </a> (32bit, version 2.1.1, requires Qt 5.9 or higher)<br/>
&nbsp;<a href="https://github.com/falkTX/Carla/releases/download/v2.1.1/Carla_2.1.1-linux64.tar.xz" class="external text a_bigger_text" rel="nofollow" target="_blank">
<img src="images/ico_carla.png" alt="" class="img_text_align"/> Carla2 </a> (64bit, version 2.1.1, requires Qt 5.9 or higher)<br/>
&nbsp;<a href="https://github.com/falkTX/Carla/releases/download/v<?php echo $VERSION_CARLA; ?>Carla_<?php echo $VERSION_CARLA; ?>-linux32.tar.xz" class="external text a_bigger_text" rel="nofollow" target="_blank">
<img src="images/ico_carla.png" alt="" class="img_text_align"/> Carla2 </a> (32bit, version <?php echo $VERSION_CARLA; ?>, requires Qt 5.9 or higher)<br/>
&nbsp;<a href="https://github.com/falkTX/Carla/releases/download/v<?php echo $VERSION_CARLA; ?>/Carla_<?php echo $VERSION_CARLA; ?>-linux64.tar.xz" class="external text a_bigger_text" rel="nofollow" target="_blank">
<img src="images/ico_carla.png" alt="" class="img_text_align"/> Carla2 </a> (64bit, version <?php echo $VERSION_CARLA; ?>, requires Qt 5.9 or higher)<br/>
&nbsp;<a href="http://sourceforge.net/projects/kxstudio/files/Releases/festige/festige-1.0.2-x86.tar.gz/download" class="external text a_bigger_text" rel="nofollow" target="_blank">
<img src="images/ico_festige.png" alt="" class="img_text_align"/> FeSTige </a> (32bit, version 1.0.2)<br/>
</p>
<p class="p_extra_spaced">
<b>MacOS Downloads:</b><br/>
&nbsp;<a href="https://github.com/falkTX/Carla/releases/download/v2.1.1/Carla_2.1.1-macos.dmg" class="external text a_bigger_text" rel="nofollow" target="_blank">
<img src="images/ico_carla.png" alt="" class="img_text_align"/> Carla2 </a> (compatible build, version 2.1.1, requires macOS 10.8 or higher)<br/>
&nbsp;<a href="https://github.com/falkTX/Carla/releases/download/v2.1.1/Carla_2.1.1-macos-10.12.dmg" class="external text a_bigger_text" rel="nofollow" target="_blank">
<img src="images/ico_carla.png" alt="" class="img_text_align"/> Carla2 </a> (newer build, version 2.1.1, requires macOS 10.12 or higher)<br/>
&nbsp;<a href="https://github.com/falkTX/Carla/releases/download/v<?php echo $VERSION_CARLA; ?>/Carla_<?php echo $VERSION_CARLA; ?>-macos.dmg" class="external text a_bigger_text" rel="nofollow" target="_blank">
<img src="images/ico_carla.png" alt="" class="img_text_align"/> Carla2 </a> (compatible build, version <?php echo $VERSION_CARLA; ?>, requires macOS 10.8 or higher)<br/>
&nbsp;<a href="https://github.com/falkTX/Carla/releases/download/v<?php echo $VERSION_CARLA; ?>/Carla_<?php echo $VERSION_CARLA; ?>-macos-10.12.dmg" class="external text a_bigger_text" rel="nofollow" target="_blank">
<img src="images/ico_carla.png" alt="" class="img_text_align"/> Carla2 </a> (newer build, version <?php echo $VERSION_CARLA; ?>, requires macOS 10.12 or higher)<br/>
</p>
<p class="p_extra_spaced">
<b>Windows Downloads:</b><br/>
&nbsp;<a href="http://sourceforge.net/projects/kxstudio/files/Releases/cadence/Cadence-0.8.1-win32.zip/download" class="external text a_bigger_text" rel="nofollow" target="_blank">
<img src="images/ico_cadence.png" alt="" class="img_text_align"/> Cadence </a> (32bit, version 0.8.1)<br/>
&nbsp;<a href="https://github.com/falkTX/Carla/releases/download/v2.1.1/Carla_2.1.1-win32-nosse.zip" class="external text a_bigger_text" rel="nofollow" target="_blank">
<img src="images/ico_carla.png" alt="" class="img_text_align"/> Carla2 </a> (32bit version 2.1.1, No-SSE build for old PCS)<br/>
&nbsp;<a href="https://github.com/falkTX/Carla/releases/download/v2.1.1/Carla_2.1.1-win32.zip" class="external text a_bigger_text" rel="nofollow" target="_blank">
<img src="images/ico_carla.png" alt="" class="img_text_align"/> Carla2 </a> (32bit, version 2.1.1)<br/>
&nbsp;<a href="https://github.com/falkTX/Carla/releases/download/v2.1.1/Carla_2.1.1-win64.zip" class="external text a_bigger_text" rel="nofollow" target="_blank">
<img src="images/ico_carla.png" alt="" class="img_text_align"/> Carla2 </a> (64bit, version 2.1.1)<br/>
&nbsp;<a href="https://github.com/falkTX/Carla/releases/download/v<?php echo $VERSION_CARLA; ?>/Carla_<?php echo $VERSION_CARLA; ?>-win32-nosse.zip" class="external text a_bigger_text" rel="nofollow" target="_blank">
<img src="images/ico_carla.png" alt="" class="img_text_align"/> Carla2 </a> (32bit version <?php echo $VERSION_CARLA; ?>, No-SSE build for old PCS)<br/>
&nbsp;<a href="https://github.com/falkTX/Carla/releases/download/v<?php echo $VERSION_CARLA; ?>/Carla_<?php echo $VERSION_CARLA; ?>-win32.zip" class="external text a_bigger_text" rel="nofollow" target="_blank">
<img src="images/ico_carla.png" alt="" class="img_text_align"/> Carla2 </a> (32bit, version <?php echo $VERSION_CARLA; ?>)<br/>
&nbsp;<a href="https://github.com/falkTX/Carla/releases/download/v<?php echo $VERSION_CARLA; ?>/Carla_<?php echo $VERSION_CARLA; ?>-win64.zip" class="external text a_bigger_text" rel="nofollow" target="_blank">
<img src="images/ico_carla.png" alt="" class="img_text_align"/> Carla2 </a> (64bit, version <?php echo $VERSION_CARLA; ?>)<br/>
</p>
</ul>

@@ -58,8 +59,8 @@ include_once("includes/header.php");
<b>Downloads:</b><br/>
&nbsp;<a href="http://sourceforge.net/projects/kxstudio/files/Releases/cadence/Cadence-0.8.1-src.tar.bz2/download" class="external free a_bigger_text" rel="nofollow" target="_blank">
<img src="images/ico_cadence.png" alt="" class="img_text_align"/> Cadence </a> (version 0.8.1)<br/>
&nbsp;<a href="https://github.com/falkTX/Carla/archive/v2.1.1.tar.gz" class="external free a_bigger_text" rel="nofollow" target="_blank">
<img src="images/ico_carla.png" alt="" class="img_text_align"/> Carla2 </a> (version 2.1.1)<br/>
&nbsp;<a href="https://github.com/falkTX/Carla/archive/v<?php echo $VERSION_CARLA; ?>.tar.gz" class="external free a_bigger_text" rel="nofollow" target="_blank">
<img src="images/ico_carla.png" alt="" class="img_text_align"/> Carla2 </a> (version <?php echo $VERSION_CARLA; ?>)<br/>
&nbsp;<a href="http://sourceforge.net/projects/kxstudio/files/Releases/festige/festige-1.0.2-src.tar.gz/download" class="external free a_bigger_text" rel="nofollow" target="_blank">
<img src="images/ico_festige.png" alt="" class="img_text_align"/> FeSTige </a> (version 1.0.2)<br/>
</p>


+ 127
- 323
News.php View File

@@ -13,353 +13,175 @@ include_once("includes/header.php");
On <i>2020-07-16</i> by<i> falkTX</i>
</p>
<p>
Hello again everyone, it is release day! <i>(casually late again, but only 1 day late this time, yay progress!)</i><br/>
Hello again everyone, it is release day! <i>(casually late again, but only 3 days late this time, yay progress!)</i><br/>
</p>
<p>
This is the announcement of the first release candidate of Carla 2.2.<br/>
Carla is a fully-featured cross-platform audio plugin host, which itself can also run as a plugin.<br/>
As done with 2.1, there is no beta release for v2.2 and we are going straight into a release candidate.
</p>
<p>
There are not many graphical changes, but many under the hood.<br/>
Contrary to previous releases, there were not many graphical changes this time, but lots of stuff under the hood.<br/>
One very important note for developers is that the "native" API to access carla as plugin (as used by LMMS)
is still ABI and API-wise backwards compatible with 2.0, but ABI and API of Carla as a library is not.<br/>
All the host functions now have a "handle" prefix, so they can be reused for standalone, plugin and other variants.
is still ABI and API-wise backwards compatible with 2.0, but the ABI and API of Carla as a library is not.<br/>
This is because all host functions now have a "handle" prefix, so they can be reused for standalone, plugin and other variants.
</p>
<p>
With that said, let's go through what's new, first the bigger changes and small stuff for last.
Now with that said, let's go through what's new, first the bigger changes and smaller stuff for last.
</p>


linux vst3 plugin support

patchbay positions
Add 2x and 4x zoom save image actions, compress output
Add action to copy canvas as image to clipboard

Set correct Carla-VST UI size based on scale factor
Fully Scalable UI Part 1 (leds, what else?
Fixup icons

Make pixmapkeyboard right-click menu a bit better
Fix creation of a rack when one of the parameters is a NaN
Some attention to inline display ?

Use newlocale methods in CarlaScopedLocale to be thread-safe
Ignore errors from non-native vst3 files
Force discovery to be in "C" (english) so we can parse errors
Fix for vst2 plugins that crash on init
Check for updated program names during audioMasterUpdateDisplay
Change the way plugins are deleted, ensure they are not being used

Add --cnprefix arg, for client name prefix; Set it also when needed

New internal CLI arg "--osc-gui="
Add script used to test carla-plugin as standalone
Add script to test carla-osc usage locally
Start checking python code with pylint, adjust some already

Implement NSM :optional-gui:
libjack: Implement client name uuid stuff, port search requests, integrate with nsm optional-gui, fix under clang and maybe other systems

Allow all MIDI options in jack-apps
Make add-jack interposer work for builds without X11

haiku working build, but no audio yet

Better handle case of JACK server stop (or killed)
Add API to know current project folder
Better handle lv2 map/make path, now based on project dir


More work for LV2 state path, symlinks and move/copy when needed
Check for state:threadSafeRestore on lv2 plugins; More debug paths
Allow to set custom prefix for jack clients, use it under NSM


Allow to change plugin window title dynamically

Fix modguis for carla host changes and new tornado

sfzero: fix crash on multi-line c-style comments

Fix SFZ rescan adding all files again each time



Raise limit of plugins that can be loaded (512 default, 64 in rack)

Tweaks to loading external patchbay data into internal one


carla-plugin: Only export exactly the symbols that we need

Add a few more details to lv2 plugin version, passes lv2lint


Fix SF2 default polyphony

Add a 12400x9600 canvas size


Keep current edit-dialog tab state while reloading parameters


Always use maximum amount of channels for VST2 plugins


Show current mapped type+value directly together with parameter


Initial implementation of MIDI learn (per plugin, not global)


Implement MIDI CC and CV source parameter changes for bridges


Increase lfo max value, so we can get real slow


Add desktop files with hidden status for all carla variants

Show canvas tab in jack-single or multi modes under NSM

Remove X-NSM-capable from main carla desktop file, forcing variants

carla-jack-multi should always show canvas


<br/>

<table><tr><td width="50%">
<a href="/screenshots/news/carla-2.1_high-dpi.png">
<img src="/screenshots/news/carla-2.1_high-dpi.png" style="max-width:100%;height:auto;" alt="settings"/>
<table><tr><td width="40%">
<a href="/screenshots/news/carla-2.2_multi-client.png">
<img src="/screenshots/news/carla-2.2_multi-client.png" style="max-width:100%;height:auto;" alt="settings"/>
</a>
</td><td width="50%">
<h3>High-DPI support (work in progress)</h3>
</td><td width="60%">
<h3>Multi-Client + multi-instance improvements</h3>
<p>
Initial work was done to support high-DPI screens.<br/>
Note that this was not tested very extensively, due to lack of proper hardware, but the requirements in terms of code are all there.<br/>
There are still a few "normal" resolution bitmaps in use, to be replaced in future releases.<br/>
You can click on the screenshot on the left to see Carla rendered at 3x the resolution.<br/>
<br style="line-height:0.75em"/>
So for now, the situation is:
In order to allow multiple instances of Carla to work without conflicts,
proper JACK multi-client multi-instance support was implemented.<br/>
What this means is that you can have a name prefix for all plugins when in JACK multi-client mode,
so that it is easier to understand where a plugin belongs to.<br/>
</p>
<ul>
<li>Most of the icons changed to scalable format</li>
<li>UI will scale with the desktop automatically, as Qt takes care of that for us</li>
<li>Some bitmaps still remain, to be replaced by vector images in a future release</li>
<li>Not extensively tested, feedback is welcome</li>
</ul>
</td></tr></table>

<br/>

<table><tr><td width="50%">
<a href="/screenshots/news/carla-2.1_cv-stuff.png">
<img src="/screenshots/news/carla-2.1_cv-stuff.png" style="max-width:100%;height:auto;" alt="settings"/>
</a>
</td><td width="50%">
<h3>Better CV Support</h3>
<p>
CV ports are now supported in the internal patchbay mode, meaning you do not need to use JACK with Carla in order to use CV plugins.
</p>
<p>
Automable parameters can now be exposed as a CV port, so they can be controlled by regular CV sources or other plugins.<br/>
This is a kinda feature preview, as there are some limitations at the moment:
</p>
<ul>
<li>Parameter changes are not sample accurate<br/>(in a later version, Carla will split buffer up to 32 frames for more fine-grained control changes)</li>
<li>Not all plugin formats and parameter types are allowed to be controlled this way<br/>(to be extended as I test more compatibility)</li>
<li>Only available for parameter inputs, not outputs</li>
</ul>
<p>
In order to make CV more useful by default, a new internal "MIDI to CV" plugin was added, originally created by Bram Giesen.<br/>
More plugins will be added as needed, for now I recommend to use
<a href="https://github.com/blablack/ams-lv2" target="_blank">ams-lv2</a>
and
<a href="https://github.com/moddevices/mod-cv-plugins" target="_blank">mod-cv-plugins</a>
as they already do a lot.<br/>
</p>
<p>
Also, a new variant of Carla as plugin was created that provides audio, MIDI and 5 CV ports (for each side).<br/>
This allows CV signals to flow in and out of Carla as a plugin.
</p>
</td></tr></table>

<br/>

<table><tr><td width="50%">
<a href="/screenshots/news/carla-2.1_windows.png">
<img src="/screenshots/news/carla-2.1_windows.png" style="max-width:100%;height:auto;" alt="settings"/>
</a>
</td><td width="50%">
<h3>Proper theme and Carla-Control for Windows</h3>
<p>
The Windows build stack changed from using official Python and PyQt5 packages to msys ones, allowing us to link against them using mingw (Carla does not support MSVC)<br/>
This makes it possible to use the proper "pro" theme like Linux and macOS already did, and also get Carla-Control finally working on Windows.
Starting with v2.2, extra Carla instances will get a dedicated JACK client name suffix.<br/>
On projects created with v2.2 and above, Carla will know which saved connections belong to which plugins,
making it possible to load a session correctly where multiple Carla instances are involved.
</p>
<p>
Previously, the Carla Windows builds were using Qt's "fusion" theme (which the Carla "pro" theme is based on), which looks very similar but misses all of custom tweaks made for Carla.<br/>
This includes, for example, preventing pop-up menus from taking the entire screen or ugly thick lines being drawn where a small one was expected.
As a way to make this easier to manage and control, a new command-line argument was added, "--cnprefix=...".<br/>
So now you can have a dedicated Carla instance that has its created JACK clients more globally recognisable.
</p>
<p>
A small but important step towards cross-platform feature parity. \o/
Also, when Carla runs under NSM, the JACK client name prefix is set automatically (coming from NSM).<br/>
This is not enabled when loading pre-2.2 projects though, in order to keep backwards compatibility.
</p>
</td></tr></table>

<br/>

<table><tr><td width="50%">
<a href="/screenshots/news/carla-2.1_mac-vst.png">
<img src="/screenshots/news/carla-2.1_mac-vst.png" style="max-width:100%;height:auto;" alt="settings"/>
<table><tr><td width="40%">
<a href="/screenshots/news/carla-2.2_linux-vst3.png">
<img src="/screenshots/news/carla-2.2_linux-vst3.png" style="max-width:100%;height:auto;" alt="settings"/>
</a>
</td><td width="50%">
<h3>VST2 plugin for macOS and Windows, plus exposed parameters</h3>
<p>
This is the final item that was missing for cross-platform feature parity.<br/>
We now have Carla as VST2 plugin running on both macOS and Windows!
</p>
</td><td width="60%">
<h3>Linux VST3 plugin support</h3>
<p>
Embedding of the full GUI on these systems is not possible, so a small "middleware" window is shown as the plugin custom UI.<br/>
Not the best experience, but allows Carla to finally work as VST2.<br/>
As new VST2 plugins can no longer be officially licensed and VST2 is very, very, very slowing being phased out, it is important to have VST3 support.</br>
</p>
<p>
Additionally, 100 parameters are exposed to the host, dynamically used in the order of the plugins loaded.<br/>
So for example, if the first plugin in the rack has 20 parameters, the first 20 parameters of carla-vst will be mapped to that plugin.<br/>
This continues in order for the remaining plugin parameters until we reach 100 of them.
So now you can now scan and load Linux VST3 plugins under Carla.</br>
It is no longer limited to macOS and Windows.</br>
</p>
<p>
When Carla is loaded as an internal plugin, parameters will be dynamically available too.<br/>
This feature is not available in the LV2 version of Carla though, at least not yet.
</p>
<p>
Note: Carla plugins are not "notarized" yet, so they will not run under latest macOS 10.15/Catalina where this is a requirement.
Worth noting is that this is not a custom implementation, but leveraging JUCE VST3 host support on Linux.</br>
It recently got supported as part of their JUCE6 update.</br>
There are no plans for a custom implementation at this point.
</p>
</td></tr></table>

<br/>

<table><tr><td width="50%">
<a href="/repo/screenshots/carla-vst-wine.png">
<img src="/repo/screenshots/carla-vst-wine.png" style="max-width:100%;height:auto;" alt="settings"/>
</a>
</td><td width="50%">
<h3>Wine-native bridge, sorta experimental</h3>
<p>
This is a way to load Linux binaries under Windows applications running with Wine, in case you need that for some reason<br/>
Personally I made it so that I could run the native Carla inside FL Studio, which allows me to use its sequencer but not have to deal with Windows plugins.
</p>
<p>
This is available in the KXStudio repositories as "carla-vst-wine" package, you need to copy /usr/lib/winvst/Carla* into your Wine VST dll folder to make it work.<br/>
It requires Carla to be installed system-wide, so it cannot work if Carla is downloaded manually.
</p>
<p>
Building it is kinda tricky, as it requires building a native-windows dll first, and then a few things with winegcc...<br/>
Packager documentation will be added soon to Carla's source code repository, so other Linux distributions can pick it up.<br/>
</p>
<p>
I demoed this feature at Sonoj last year (2019), you can watch it as the 3rd part of <a href="https://media.ccc.de/v/sonoj2019-1914-carla-magic" target="_blank">this video</a>.
</p>
</td></tr></table>

<table><tr><td width="50%">
<a href="/screenshots/news/carla-2.1_add-plugin.png">
<img src="/screenshots/news/carla-2.1_add-plugin.png" style="max-width:100%;height:auto;" alt="settings"/>
</a>
</td><td width="50%">
<h3>Refreshed add-plugin dialog and favorite plugins</h3>
<p>
The add-plugin dialog had a major overhaul, now looking much better and with more content visible at once.<br/>
Target was to improve the user experience, making clear that there are filters available. (it was not so obvious in previous versions)
</p>
<p>
The star on the most-left section of the table is to mark a plugin as a favorite, which will add it as a shortcut to the right-click menus on empty rack and patchbay areas.
</p>
</td></tr></table>
<h3>Small UI/UX improvements all around</h3>

<table><tr><td width="50%">
<a href="/screenshots/news/carla-2.1_params.png">
<img src="/screenshots/news/carla-2.1_params.png" style="max-width:100%;height:auto;" alt="settings"/>
</a>
</td><td width="50%">
<h3>Single-page and grouped plugin parameters</h3>
<p>
The dialog for the generic plugin parameter view also had an update.<br/>
All parameters are now placed in the same tab (separated only by input and output types), and grouped when supported by the plugin.<br/>
The options for mapping a parameter to a MIDI CC were taken out and replaced by a button that triggers a menu with the relevant options.
</p>
<p>
Note that, at the moment, only a few LV2 plugins support parameter groups.<br/>
This is because most hosts do not support this feature, so plugins do not have many incentives to support such a thing.<br/>
And with not a lot of plugins supporting it, hosts also do not care that much. The usual circular dependency deal...<br/>
But since the feature applies quite nicely to Carla, made sense to add it.
</p>
<p>
The group can be collapsed by clicking on it.
</p>
<p>
A similar feature will be added to the patchbay in a later release, so we can group audio ports too. :)
</p>
</td></tr></table>

<h3>More UI changes</h3>
<p>
The rack items will dynamically show as many knobs as possible<br/>
You can now change the "skin" and color of any rack item, making it easy to identify certain plugins<br/>
Added buffer-size, sample-rate and xrun information to the status; clicking on the xrun counter will reset it to zero<br/>
</p>

<h5>Canvas changes</h5>
<p>
Right-clicking on a canvas group will show options for quickly connecting all ports to another group<br/>
Many small tweaks and fixes, plus a few extra actions, as contributed by Nikita Zlobin (to be documented on the user manual)<br/>
Support for Ardour-style inline-displays, marked experimental in this release (sadly cannot be made stable until Carla v3.0)<br/>
</p>
<div style="display:flex;align-content:baseline;text-align:center;flex-wrap:wrap;">
<table style="width:420px;">
<tr><td>
<a href="/screenshots/news/carla-2.2_uiux-keyboard.png">
<img src="/screenshots/news/carla-2.2_uiux-keyboard.png" style="max-width:100%;height:auto;" alt="settings"/>
</a>
</td></tr>
<tr><td>
<p>
The built-in keyboard right-click menu got a bit better.<br/>
Everything is presented in a single menu, no more sub-menus are used.
</p>
</td></tr>
</table>

<table style="width:420px;">
<tr><td>
<a href="/screenshots/news/carla-2.2_uiux-mappedparam.png">
<img src="/screenshots/news/carla-2.2_uiux-mappedparam.png" style="max-width:100%;height:auto;" alt="settings"/>
</a>
</td></tr>
<tr><td>
<p>
The plugin built-in editor dialog now shows the currently mapped parameter type+value directly.<br/>
No more clicking around needed to find out what the parameter is mapped to.
</p>
</td></tr>
</table>

<table style="width:420px;">
<tr><td>
<a href="/screenshots/news/carla-2.2_uiux-midilearn.png">
<img src="/screenshots/news/carla-2.2_uiux-midilearn.png" style="max-width:100%;height:auto;" alt="settings"/>
</a>
</td></tr>
<tr><td>
<p>
MIDI learn implemented, triggered via parameter mapping menu.<br/>
Note that this is per plugin, not global, due to how Carla handles each plugin individually.
</p>
</td></tr>
</table>

<div style="width:390px;">
<h5>Other "quality of life" improvements:</h5>
<ul style="text-align:left;">
<li>Added a 12400x9600 canvas size</li>
<li>Added a 2x and 4x canvas image export mode</li>
<li>Added a menu action to save current Carla canvas as image in the clipboard</li>
<li>Canvas positions are now always saved and restored, including in the plugin version</li>
<li>Canvas positions are kept in sync across multiple Carla JACK instances and even Carla-Control</li>


<li>Built-in plugin edit dialog tab state is kept when parameters are reloaded</li>
<li>Implemented NSM "optional-gui"</li>
<li>Plugin custom GUI Window title changes dynamically when renamed</li>
</ul>
</div>
</div>

<h5>Carla-control and OSC rework</h5>
<p>
Carla's OSC support has been reworked, now has its own dedicated page in the settings.<br/>
Carla-Control has been extended to support all non-local-dependent features of the main Carla (like patchbay management and transport controls).<br/>
This will be extended even further in future releases.<br/>
</p>
<br/>

<h5>AU and VST3 support is back, by leveraging JUCE</h5>
<p>
Disabled during a previous 2.0 beta release, support for the JUCE library was removed and replaced by a heavily stripped-down version of it. (while it was still GPlv2 licensed)<br/>
The reasons for that decision still remain relevant, but in order to keep in mind with Carla's goals, I decided to add back JUCE support - but now completely optional.<br/>
It will always be possible to build Carla without JUCE, it is only used for extra hardware and plugin format support.<br/>
In fact, Linux builds by default do not use it, as there is no need for it.
</p>
<h3>Other notable changes</h3>
<ul>
<li>Added a "carla-osc-gui" script that starts a Carla instance in the background and connects to it using OSC.<br/>
Closing the GUI does not close the engine, and it can be run again to reconnect later on.
</li>
<li>Always use maximum amount of channels for VST2 plugins</li>
<li>Better handle the case of JACK server stop (or killed)</li>
<li>Better implementation of LV2 state path, now saving files in the same directory as the Carla project</li>
<li>Changed the way plugins are deleted, so they are now safely deleted only when no longer in use</li>
<li>Implement MIDI CC and CV source parameter changes for bridges</li>
<li>Improve the (still experimental) JACK-apps-as-plugins implementation,
now mapping show/hide gui to NSM commands, sending arbitrary MIDI events and making it work on more systems</li>
<li>Increase max value of the internal LFO plugin, so we can get reeeeeeeal slow</li>
<li>Raise limit of plugins that can be loaded (512 default, 64 in rack)</li>
<li>Tweaks for automatically converting internal Patchbay mode projects in JACK multi-client mode and vice-versa</li>
<li>Working HaikuOS build, but no audio support yet</li>
</ul>
<p>
Anyway, the published macOS and Windows Carla builds do use JUCE, which means Carla supports VST3 under macOS and Windows, and AU under macOS.<br/>
As a bonus, it is now possible to show the custom control panel of ASIO devices. :)
</p>
<p>
Worth noting is that JUCE does not support VST3 under Linux at this point, so neither does Carla even if you build it yourself with JUCE enabled.
Many other bug-fixes and small under-the-hood improvements (too many to list here).<br/>
See the
<a href="https://github.com/falkTX/Carla/commits/master?after=783352477fec5f135f2040afd09257d68211ca73+8" target="_blank">
git log</a>
for the full list of changes.
</p>

<h3>Other changes</h3>
<h3>Notes for users</h3>
<p>
Within a bunch of small fixes and new implementations, here are some changes that deserve to be mentioned:<br/>
When using JACK, the newly added features around the canvas require at least JACK v1.9.13.<br/>
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.<br/>
Alternatively, you can use JACK1 instead of JACK2, which has meta-data support since a long time.
</p>
<ul>
<li>Carla now requires Qt5, can no longer work with Qt4; but can still use LV2 Qt4 UIs with its built-in bridges</li>
<li>NSM is now supported for JACK applications</li>
<li>Added a 16 MIDI port mode for JACK applications</li>
<li>Added "Cancelable actions" during project and plugin bridges load, so they will no longer time-out; instead the user has the option to cancel them at anytime</li>
<li>Initial support for LV2 parameter API</li>
<li>Initial support for LV2 file paths, assuming plugin has no custom UI (click on the show-gui button to open a file dialog)</li>
</ul>

<h3>Notes for developers and packagers</h3>
<ul>
<li>Linking against the JACK library directly is now possible by using `make JACKBRIDGE_DIRECT=true`, which allows for building Carla as an internal client</li>
</ul>

<h3>Notes for users</h3>
<p>
The code for scanning plugins had a little rework, again, making some internal data structures change.<br/>
The code for scanning plugins had a little rework yet again, making some internal data structures change.<br/>
Because of this, a full rescan of your plugins is needed after the update.<br/>
This should fix previously missing plugins that happened in v2.1.<br/>
</p>

<h3>Downloads</h3>
@@ -369,29 +191,11 @@ carla-jack-multi should always show canvas
Bug reports and feature requests are welcome! Jump on over to the <a href="https://github.com/falkTX/Carla" class="external free" rel="nofollow" target="_blank">Carla's Github project</a> page for those.
</p>

<h3>Future and final notes</h3>
<p>
I have started a change of the Carla's frontend coding language, from Python to C++ (for performance, reliability and debugging reasons).<br/>
There are a few canvas related things, currently experimental, that can never be made stable or fast due to how Python/PyQt works.<br/>
Also Carla is not scaling very well at the moment, and the addition of CV controlled parameters and inline-displays does not help its case.<br/>
So a move of the entire frontend to C++ makes quite a lot of sense.<br/>
Whenever this is finished a new release will be made.<br/>
But it is going to be something that, even though means a lot behind the scenes, visibly nothing will change. (except performance)<br/>
Because of this, do not expect many UI related changes in Carla for the time being.
</p>
<h3>Final note</h3>
<p>
A user manual for Carla has been started.<br/>
It proved to be quite helpful for development too, as I had to justify why things are the way they are, and explain how they work too.<br/>
Now that Carla UI should not change too much for a while, it is the right time for such thing.<br/>
I personally dislike writing such things, but understand it can be quite useful.<br/>
The work-in-progress manual is at <a href="https://kx.studio/Documentation:Manual:Carla">https://kx.studio/Documentation:Manual:Carla</a>.<br/>
(Not much to see there at the moment though, give me time)
</p>
<p>
That's it.<br/>
Please remember that this is a release candidate, and not the final release.<br/>
Some issues are expected, I will do my best to fix all reports that get to me.<br/>
If I don't know about the issues though, I can't fix them. So please report any issues you find, thanks!
Just a reminder that this is a release candidate, and not the final release yet.<br/>
I did my best to fix all issues that I was able to reproduce, but some can still happen.<br/>
Please let me know if find any, thanks!
</p>

<hr/>


Loading…
Cancel
Save