Browse Source

Some more news

Signed-off-by: falkTX <falktx@falktx.com>
master
falkTX 1 week ago
parent
commit
f48110719f
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
2 changed files with 172 additions and 0 deletions
  1. +172
    -0
      News.php
  2. BIN
      screenshots/news/audacity-win32-build-2021-05.png

+ 172
- 0
News.php View File

@@ -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">&gt; 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>&nbsp;</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">&gt; Carla Plugin Host v2.3 is here</span><br/>
On <i>2021-04-15</i> by<i> falkTX</i>


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

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

Loading…
Cancel
Save