Browse Source

Some more news

Signed-off-by: falkTX <>
falkTX 1 week ago
Signed by: falkTX <> GPG Key ID: CDBAA37ABC74FBA0
2 changed files with 172 additions and 0 deletions
  1. +172
  2. BIN

+ 172
- 0
News.php View File

@@ -8,6 +8,178 @@ include_once("includes/header.php");


<span style="font-size: 20px">&gt; KXStudio Monthly Report (May 2021)</span><br/>
On <i>2021-05-31</i> by<i> falkTX</i>
Hello all, another monthly report about the KXStudio project is here.<br/>
I skipped last month as there was not much to report.<br/>
Mainly there were new releases, but those had their own announcement (specifically,
<a href="" target="_blank">
Carla v2.3</a>
<a href="" target="_blank">
JACK2 v1.9.18</a>).<br/>
Afterwards there was a small personal situation (that is still unfolding) that took all my free time, so that was it.<br/>
There are a few updates related to the month of May though!
<h3>DPF updates</h3>
The main thing to report today is all the work that I've been putting in
<a href="" target="_blank">DPF</a>
This has been a long-time coming, but better late than never.<br/>
For those unaware, DPF is a very small C++ framework to create audio plugins with.<br/>
It has UI support, but it is intentionally not a fully-fledged UI toolkit, same for its DSP side.<br/>
It can export as LV2, VST2 and other plugin formats, but it does not try to do much more than that.<br/>
Native OS events is handled behind the scenes via
<a href="" target="_blank">pugl</a>.
One major task to do was updating to
<a href="" target="_blank">latest pugl</a>,
because it supports many more things compared to old versions.<br/>
pugl had its event system completely reworked though, so we can't just update and use it as-is.<br/>
In the end, this update work is something that
<a href="" target="_blank">took several weeks</a>.<br/>
I took the chance to rework some core components of DPF UI handling together with this,
as there were a few parts of the code that
<a href="" target="_blank">proved confusing</a>
<a href="" target="_blank">other developers</a>.<br/>
Also added in
<a href="" target="_blank">testing units and demo applications</a>
to help test several parts of DPF, though this is still very much work-in-progress.<br/>
This was specially useful to ensure core parts were working before proceeding with the rework.<br/>
Related to pugl update and rework, the Cairo backend of DPF is now pretty much on-par with its OpenGL one.<br/>
The Demo tool (where we test images, events, resizing, etc) has consistent behaviour between the two.<br/>
<img src="/screenshots/news/dpf-demo-2021-05.png" alt="dpf-demo"/>
Continuing with the rework,
<a href="" target="_blank">special attention was given to resizing</a>.<br/>
Resizing in LV2 UIs has always been something very painful, which still does not work correctly in many hosts.<br/>
One culprit of this was the bad initial decision to use an LV2 extension to deal with UI resizing.<br/>
Turns out,
<a href="" target="_blank">we do not need this at all</a>!<br/>
So the next version of DPF will
<a href="" target="_blank">no longer make use</a>
<a href="" target="_blank">LV2 UI resize extensions</a>.<br/>
We will need to accommodate hosts to this, which is a breaking change.<br/>
But it is not like LV2 plugin-side resizing was working well in the first place anyway.<br/>
I already
<a href="" target="_blank">did this for Carla</a>.
Likely will do similar things to
<a href="" target="_blank">suil</a>
if no one else does.
On even more DPF news, I created a new
<a href="" target="_blank">open-source code repository meant for reusable DPF UI widgets</a>.<br/>
It has come to my attention that developers struggle with DPF having very little common widgets they are used to.<br/>
I have made a few ones based on images for the
<a href="" target="_blank">DPF-Plugins collection</a>,
but some developers struggle to create individual widgets from scratch.<br/>
This code repository will evolve over time, obviously as a new project which is only a few days old there is not much to see.<br/>
One common request has been a resize handle, so that for plugin formats like VST2 which do not allow user-side resizing we still have a way for the user to resize the UI.<br/>
There is one
<a href="" target="_blank">generic resize handle in the repository now</a>,
usable for both Cairo and OpenGL backends.<br/>
The first real widgets I am contributing to the repository are a port of
<a href="" target="_blank">oui-blendish</a>
which provides blender-style looking widgets.<br/>
I am still setting up the whole thing, but initial impressions are very good. It even works with High-DPI / custom scale factors!<br/>
(ignore the bitmap icons on the screenshot below, those are only used in testing, I will later either replace them or remove them)<br/>
<img src="/screenshots/news/dpf-widgets-blendish-2021-05.png" alt="dpf-widgets-blendish"/>
Finally on DPF side, as contributions by Jean Pierre Cimalando,
<a href="" target="_blank">CMake is now supported</a>
for building DPF and using it in plugins targeting DPF.<br/>
As a second step on top of CMake, it is now possible to
<a href="" target="_blank">build DPF with MSVC on Windows</a>.<br/>
I tried this myself and was able to build a DPF VST2 plugin with MSVC and run the output binary inside Carla.<br/>
This is not my development workflow by any means (it was the first time I used MSVC!) but it opens up the process for many more people, which always great.<br/>
<img src="/screenshots/news/dpf-msvc-2021-05.png" alt="dpf-msvc"/>
One last bit of news regarding DPF is that I started testing the waters for VST3 support.<br/>
There is almost nothing to see just yet, as there is enough to do in DPF regarding polishing, fixing bugs and handling requests so that VST3 work is not a priority.<br/>
It is something that I have took an interest on lately though, as a potential way to attract commercial developers/vendors to DPF.<br/>
(and perhaps some well needed funding? who knows..)
Work on DPF will continue, you can grab all these changes from its
<a href="" target="_blank">develop branch</a>.<br/>
Expect more news about it next month.

<h3>Other updates</h3>
While most of my time and attention was given to DPF, a few other things happened.<br/>
There is the whole "Audacity was bought up by Muse Group and added CLA, plus telemetry coming soon" thing...<br/>
I did some tests with building Audacity with mingw, and succeeded in setting up scripts to
<a href="" target="_blank">build required dependencies</a>
and then
<a href="" target="_blank">build audacity itself</a>.<br/>
From what I tested on Windows everything seems to work.<br/>
(screenshot below is from Wine, but I also tested on real Windows via Virtual Machine)<br/>
<img src="/screenshots/news/audacity-win32-build-2021-05.png" alt="audacity-win32-build"/>
Most mingw needed fixes were
<a href="" target="_blank">submitted upstream</a>,
but them now requiring a CLA means the PR will likely stay open indefinitely.<br/>
Also did some tests with
<a href="" target="_blank">building Audacity with wxQt</a>
and while it kinda works, still has some obvious issues - the wxWidgets Qt backend is not feature complete so it is normal for those to happen.<br/>
It is very likely I will end up maintaining some custom builds for Audacity once more network features creep in
(analytics is coming to Audacity for sure, it is just a matter of when and how).<br/>
I am not interested on a fork, only in a way for casual users to get similar builds to the official ones without user-data tracking.
There are some other random things too, for example adding a new "-w" argument to the new jack2 zalsa tools so that it
<a href="" target="_blank">waits until the requested soundcard is available</a>
instead of failing to start.<br/>
This is very handy when adding it as part of some boot process.
Carla has also seen some
<a href="" target="_blank">pipewire-related</a>
<a href="" target="_blank">fixes</a>.<br/>
It is still not working 100%, but already know of a solution for them, just need to put that into code.<br/>
Expect a v2.3.1 release soon with these fixes, and also the LV2 UI resize handling mentioned above.
Finally I added support for
<a href="" target="_blank">FFmpeg JACK output</a>.
Seems to work well from what I tested, but I no longer have a need for it.<br/>
Once I am done with DPF and other things, I will try to submit this upstream.
Regarding packages in the KXStudio repositories, there are some small updates. Those are:
<li>Added bjumblr</i>
<li>Added bslizr-uwu (custom skin to bslizr)</i>
<li>bslizr updated to 1.2.14</i>
<li>lsp-plugins updated to 1.1.30</i>
That is all for now.<br/>
If you appreciate the kind of work I do, please
<a href="">consider a donation</a>.<br/>
Thank you in advance for your support, and stay safe out there!<br/>


<span style="font-size: 20px">&gt; Carla Plugin Host v2.3 is here</span><br/>
On <i>2021-04-15</i> by<i> falkTX</i>

screenshots/news/audacity-win32-build-2021-05.png View File

Before After
Width: 1393  |  Height: 851  |  Size: 129KB Width: 1392  |  Height: 850  |  Size: 137KB