diff --git a/News.php b/News.php index ac5ed43..3fda1cd 100644 --- a/News.php +++ b/News.php @@ -8,6 +8,178 @@ include_once("includes/header.php");
THIS IS A FAKE PAGE, KXSTUDIO NEWS USES A DYNAMIC MODULE NOW
+
+ > KXStudio Monthly Report (May 2021)
+ On 2021-05-31 by falkTX
+
+ Hello all, another monthly report about the KXStudio project is here.
+ I skipped last month as there was not much to report.
+ Mainly there were new releases, but those had their own announcement (specifically,
+
+ Carla v2.3
+ and
+
+ JACK2 v1.9.18).
+ Afterwards there was a small personal situation (that is still unfolding) that took all my free time, so that was it.
+ There are a few updates related to the month of May though!
+
+ The main thing to report today is all the work that I've been putting in
+ DPF
+ recently.
+ This has been a long-time coming, but better late than never.
+ For those unaware, DPF is a very small C++ framework to create audio plugins with.
+ It has UI support, but it is intentionally not a fully-fledged UI toolkit, same for its DSP side.
+ It can export as LV2, VST2 and other plugin formats, but it does not try to do much more than that.
+ Native OS events is handled behind the scenes via
+ pugl.
+
+ One major task to do was updating to
+ latest pugl,
+ because it supports many more things compared to old versions.
+ pugl had its event system completely reworked though, so we can't just update and use it as-is.
+ In the end, this update work is something that
+ took several weeks.
+ 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
+ proved confusing
+ to
+ other developers.
+ Also added in
+ testing units and demo applications
+ to help test several parts of DPF, though this is still very much work-in-progress.
+ This was specially useful to ensure core parts were working before proceeding with the rework.
+ Related to pugl update and rework, the Cairo backend of DPF is now pretty much on-par with its OpenGL one.
+ The Demo tool (where we test images, events, resizing, etc) has consistent behaviour between the two.
+
+
+
+ Continuing with the rework,
+ special attention was given to resizing.
+ Resizing in LV2 UIs has always been something very painful, which still does not work correctly in many hosts.
+ One culprit of this was the bad initial decision to use an LV2 extension to deal with UI resizing.
+ Turns out,
+ we do not need this at all!
+ So the next version of DPF will
+ no longer make use
+ of
+ LV2 UI resize extensions.
+ We will need to accommodate hosts to this, which is a breaking change.
+ But it is not like LV2 plugin-side resizing was working well in the first place anyway.
+ I already
+ did this for Carla.
+ Likely will do similar things to
+ suil
+ if no one else does.
+
+ On even more DPF news, I created a new
+ open-source code repository meant for reusable DPF UI widgets.
+ It has come to my attention that developers struggle with DPF having very little common widgets they are used to.
+ I have made a few ones based on images for the
+ DPF-Plugins collection,
+ but some developers struggle to create individual widgets from scratch.
+ 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.
+ 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.
+ There is one
+ generic resize handle in the repository now,
+ usable for both Cairo and OpenGL backends.
+ The first real widgets I am contributing to the repository are a port of
+ oui-blendish
+ which provides blender-style looking widgets.
+ I am still setting up the whole thing, but initial impressions are very good. It even works with High-DPI / custom scale factors!
+ (ignore the bitmap icons on the screenshot below, those are only used in testing, I will later either replace them or remove them)
+
+
+
+ Finally on DPF side, as contributions by Jean Pierre Cimalando,
+ CMake is now supported
+ for building DPF and using it in plugins targeting DPF.
+ As a second step on top of CMake, it is now possible to
+ build DPF with MSVC on Windows.
+ I tried this myself and was able to build a DPF VST2 plugin with MSVC and run the output binary inside Carla.
+ 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.
+
+
+
+ One last bit of news regarding DPF is that I started testing the waters for VST3 support.
+ 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.
+ It is something that I have took an interest on lately though, as a potential way to attract commercial developers/vendors to DPF.
+ (and perhaps some well needed funding? who knows..)
+
+ Work on DPF will continue, you can grab all these changes from its
+ develop branch.
+ Expect more news about it next month.
+
+ While most of my time and attention was given to DPF, a few other things happened.
+ There is the whole "Audacity was bought up by Muse Group and added CLA, plus telemetry coming soon" thing...
+ I did some tests with building Audacity with mingw, and succeeded in setting up scripts to
+ build required dependencies
+ and then
+ build audacity itself.
+ From what I tested on Windows everything seems to work.
+ (screenshot below is from Wine, but I also tested on real Windows via Virtual Machine)
+
+
+
+ Most mingw needed fixes were
+ submitted upstream,
+ but them now requiring a CLA means the PR will likely stay open indefinitely.
+ Also did some tests with
+ building Audacity with wxQt
+ 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.
+ 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).
+ 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
+ waits until the requested soundcard is available
+ instead of failing to start.
+ This is very handy when adding it as part of some boot process.
+
+ Carla has also seen some
+ pipewire-related
+ fixes.
+ It is still not working 100%, but already know of a solution for them, just need to put that into code.
+ Expect a v2.3.1 release soon with these fixes, and also the LV2 UI resize handling mentioned above.
+
+ Finally I added support for
+ FFmpeg JACK output.
+ Seems to work well from what I tested, but I no longer have a need for it.
+ 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: +
++
+ That is all for now.
+ If you appreciate the kind of work I do, please
+ consider a donation.
+ Thank you in advance for your support, and stay safe out there!
+
> Carla Plugin Host v2.3 is here
On 2021-04-15 by falkTX
diff --git a/screenshots/news/audacity-win32-build-2021-05.png b/screenshots/news/audacity-win32-build-2021-05.png
index eab2643..1046f8d 100644
Binary files a/screenshots/news/audacity-win32-build-2021-05.png and b/screenshots/news/audacity-win32-build-2021-05.png differ