|
|
@@ -8,6 +8,178 @@ include_once("includes/header.php"); |
|
|
|
|
|
|
|
<p><b>THIS IS A FAKE PAGE, KXSTUDIO NEWS USES A DYNAMIC MODULE NOW</b></p> |
|
|
|
|
|
|
|
<p> |
|
|
|
<span style="font-size: 20px">> KXStudio Monthly Report (May 2021)</span><br/> |
|
|
|
On <i>2021-05-31</i> by<i> falkTX</i> |
|
|
|
</p> |
|
|
|
<p> |
|
|
|
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="https://kx.studio/News/?action=view&url=carla-plugin-host-v23-is-here" target="_blank"> |
|
|
|
Carla v2.3</a> |
|
|
|
and |
|
|
|
<a href="https://jackaudio.org/news/2021/04/15/jack2-v1918-release.html" 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! |
|
|
|
</p> |
|
|
|
<h3>DPF updates</h3> |
|
|
|
<p> |
|
|
|
The main thing to report today is all the work that I've been putting in |
|
|
|
<a href="https://github.com/DISTRHO/DPF" target="_blank">DPF</a> |
|
|
|
recently.<br/> |
|
|
|
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="https://gitlab.com/lv2/pugl" target="_blank">pugl</a>. |
|
|
|
</p> |
|
|
|
<p> |
|
|
|
One major task to do was updating to |
|
|
|
<a href="https://drobilla.net/files/pugl_docs/overview.html" 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="https://github.com/DISTRHO/DPF/pull/272" 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="https://github.com/DISTRHO/DPF/issues/68" target="_blank">proved confusing</a> |
|
|
|
to |
|
|
|
<a href="https://github.com/DISTRHO/DPF/issues/136" target="_blank">other developers</a>.<br/> |
|
|
|
Also added in |
|
|
|
<a href="https://github.com/DISTRHO/DPF/tree/develop/tests" 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/> |
|
|
|
<br/> |
|
|
|
<img src="/screenshots/news/dpf-demo-2021-05.png" alt="dpf-demo"/> |
|
|
|
</p> |
|
|
|
<p> |
|
|
|
Continuing with the rework, |
|
|
|
<a href="https://github.com/DISTRHO/DPF/pull/281" 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="https://github.com/lv2/pugl/issues/42" target="_blank">we do not need this at all</a>!<br/> |
|
|
|
So the next version of DPF will |
|
|
|
<a href="https://github.com/DISTRHO/DPF/commit/0d6f63e9b284207efe27e798ccdfbb307ee56302" target="_blank">no longer make use</a> |
|
|
|
of |
|
|
|
<a href="https://github.com/DISTRHO/DPF/commit/d2b96431b2a5790e9d281f97e09e42ab2f90a927" 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="https://github.com/falkTX/Carla/commit/75ea9f5b2d184151c696f1dc648dfb700959c876" target="_blank">did this for Carla</a>. |
|
|
|
Likely will do similar things to |
|
|
|
<a href="http://drobilla.net/software/suil" target="_blank">suil</a> |
|
|
|
if no one else does. |
|
|
|
</p> |
|
|
|
<p> |
|
|
|
On even more DPF news, I created a new |
|
|
|
<a href="https://github.com/DISTRHO/DPF-Widgets" 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="https://github.com/DISTRHO/DPF-Plugins/" 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="https://github.com/DISTRHO/DPF-Widgets/blob/main/generic/ResizeHandle.hpp" 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="https://github.com/IceDragon200/oui-blendish" 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/> |
|
|
|
<br/> |
|
|
|
<img src="/screenshots/news/dpf-widgets-blendish-2021-05.png" alt="dpf-widgets-blendish"/> |
|
|
|
</p> |
|
|
|
<p> |
|
|
|
Finally on DPF side, as contributions by Jean Pierre Cimalando, |
|
|
|
<a href="https://github.com/DISTRHO/DPF/pull/269" 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="https://github.com/DISTRHO/DPF/pull/278" 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/> |
|
|
|
<br/> |
|
|
|
<img src="/screenshots/news/dpf-msvc-2021-05.png" alt="dpf-msvc"/> |
|
|
|
</p> |
|
|
|
<p> |
|
|
|
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..) |
|
|
|
</p> |
|
|
|
<p> |
|
|
|
Work on DPF will continue, you can grab all these changes from its |
|
|
|
<a href="https://github.com/DISTRHO/DPF/tree/develop" target="_blank">develop branch</a>.<br/> |
|
|
|
Expect more news about it next month. |
|
|
|
</p> |
|
|
|
|
|
|
|
<h3>Other updates</h3> |
|
|
|
<p> |
|
|
|
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="https://github.com/DISTRHO/PawPaw/blob/master/bootstrap-audacity.sh" target="_blank">build required dependencies</a> |
|
|
|
and then |
|
|
|
<a href="https://github.com/DISTRHO/PawPaw/blob/master/build-audacity.sh" 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/> |
|
|
|
<br/> |
|
|
|
<img src="/screenshots/news/audacity-win32-build-2021-05.png" alt="audacity-win32-build"/> |
|
|
|
<br/> |
|
|
|
Most mingw needed fixes were |
|
|
|
<a href="https://github.com/audacity/audacity/pull/881" 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="https://github.com/audacity/audacity/discussions/877" 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. |
|
|
|
</p> |
|
|
|
<p> |
|
|
|
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="https://github.com/jackaudio/jack2/commit/23b9fb71b943595db90eb6e8dd48294600cfb0bb" 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. |
|
|
|
</p> |
|
|
|
<p> |
|
|
|
Carla has also seen some |
|
|
|
<a href="https://github.com/falkTX/Carla/commit/c777cd02d92ba8a61adb29d61fd39f84e3d1bc55" target="_blank">pipewire-related</a> |
|
|
|
<a href="https://github.com/falkTX/Carla/commit/62a6410171c4b88b0b5a76cd0681d16152f9c9d1" 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. |
|
|
|
</p> |
|
|
|
<p> |
|
|
|
Finally I added support for |
|
|
|
<a href="https://github.com/falkTX/FFmpeg/commits/n4.4-jackoutdev" 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. |
|
|
|
</p> |
|
|
|
<p> |
|
|
|
Regarding packages in the KXStudio repositories, there are some small updates. Those are: |
|
|
|
</p> |
|
|
|
<ul> |
|
|
|
<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> |
|
|
|
</ul> |
|
|
|
<p> </p> |
|
|
|
<p> |
|
|
|
That is all for now.<br/> |
|
|
|
If you appreciate the kind of work I do, please |
|
|
|
<a href="https://kx.studio/Donations">consider a donation</a>.<br/> |
|
|
|
Thank you in advance for your support, and stay safe out there!<br/> |
|
|
|
</p> |
|
|
|
|
|
|
|
<hr/> |
|
|
|
|
|
|
|
<p> |
|
|
|
<span style="font-size: 20px">> Carla Plugin Host v2.3 is here</span><br/> |
|
|
|
On <i>2021-04-15</i> by<i> falkTX</i> |
|
|
|