diff --git a/News.php b/News.php index 1e622b4..fa605e2 100644 --- a/News.php +++ b/News.php @@ -8,6 +8,239 @@ include_once("includes/header.php");
THIS IS A FAKE PAGE, KXSTUDIO NEWS USES A DYNAMIC MODULE NOW
+
+ > KXStudio Monthly Report (October 2021)
+ On 2021-10-31 by falkTX
+
+ Hello all, another one of those monthly reports about the KXStudio project is here.
+ As you might have seen a few days ago we had
+ v2.4.1 Carla release.
+ I was hoping to do a JACK2 release as well, but was busy with other things and did not have it ready on it. Next time then.
+
+ While VST3 support in DPF has advanced enough to load already in quite a few hosts,
+ I got personally annoyed with it after finding out the way I did the UI/DSP separation is just completely wrong. :(
+ Working with the internals of VST3 has been quite frustrating, so just taking a little break from it.
+ Currently still going with the target of finalizing VST3 support in DPF (at least in beta-like status) by the end of the year.
+
+ I want to say, dealing with VST3 internals has made me appreciate LV2 even more.
+ VST3 has some good design choices and ideas, but parts of it are also just awful and non-sensical.
+ Hopefully after the initial implementation is done we do not have to change it much.
+
+ Last month I reported about
+ Dear ImGui
+ being integrated as a DPF widget, with only some high-dpi rendering issues remaining.
+ Happy to report that this is finalized and tested to work on a couple of different configurations.
+ I might do a quick plugin set from porting existing audio software to DPF, as a way to 100% verify ImGui in DPF.
+ But for now Ildaeil (more on that below) has served as a nice test-case.
+
+ Jean Pierre Cimalando has started work on adding
+ JSFX "plugin" support
+ for Carla.
+ JSFX has nothing to do with JavaScript, but rather it originally comes from REAPER's extended audio processing capabilities.
+ They have defined a format for writing audio plugins that can be written and compiled on the fly.
+ This work from Jean is not yet complete, but great progress has already been made.
+ It is likely to end up on the next Carla release.
+
+ One crucial point for me accepting JSFX support in Carla was that it couldn't be limited to just Carla.
+ But this support being added directly in Carla doesn't help with that.. or does it?
+
+ Announcing Ildaeil! (sorta.. read on)
+ In case you do not know,
+ Zrythm
+ is using Carla as backend to deal with non-LV2 plugins.
+ Some of the things it uses were never properly tested in Carla or any other software, making it hard to fix bugs.
+ This combined with wanting JSFX on more hosts than just Carla and ImGui now fully working in DPF
+ has gave me enough motivation to try out a new project that would just combine everything into one.
+ This project is called "Ildaeil".
+
+ Ildaeil
+ is basically Carla as a minified plugin, where instead of running the full GUI you have a super minimal GUI and set of features.
+ It uses DPF for the plugin-side (ie, to be an LV2, VST2 and VST3 plugin) and then Carla for the plugin hosting side.
+ A bridge between the 2 worlds, basically.
+ For now I made it so that it lists the available LV2 plugins on the system and allows to load 1 from the list, embedding its custom GUI if possible.
+
+ +
+ + +
+ This is not really an announcement because I have not yet decided the full scope of the project.
+ There are a LOT of things it could do, but then it becomes quite the work to maintain.
+ If you want to give it a try, feel free.
+ But reports are welcome, feature requests are not (at this point).
+
+ For a very long time I have been meaning to merge back the changes done in JACK examples and tools from JACK2 back to JACK1.
+ Back in
+ ....
+ _________
+
+ I stated that help on this would be appreciated, but not much has happened since then.
+ Now that PipeWire is slowly becoming a thing, this is becoming crucial.
+
+ For distributions like Arch that do not typically split packages (hypothetically) installing pipewire-jack would remove jack2 and replace it with PipeWire's version.
+ But the tools like jack_connect, jack_wait, etc are part of the jack2 package, not pipewire-jack.
+ Installing pipewire-jack would (hypothetically) remove these tools.
+ There are quite a few set ups out there that rely on them, so a solution is needed here.
+
+ David Runge has started the effort of
+
+ splitting these tools from the JACK repositories
+ _________
+
+ into a new one.
+ The idea is that JACK will no longer ship with them, and they become an extra set of tools to install separately.
+ This allows to switch between JACK versions (JACK1, JACK2 or PipeWire) and keep the same exact set of tools.
+
+ We will need to have new JACK1 and JACK2 versions that remove these tools before the new project can be officially tagged and released.
+ More news on this soon.
+
+ DPF got a lot of attention once again.
+ It is now on a state where I can focus on bugfixes rather than new things,
+ even though I still want to try official SVG support.
+ Everything that was in the previous DPF (that is, the git
+ master branch)
+ should now be in the develop branch.
+ I am confident enough in this that made a new
+ "main" branch
+ to be the default clone target (I will keep the old master branch untouched, as there are a few minor things that can't be made backwards compatible).
+
+ Something that got a fair bit of attention was high-dpi support.
+ Previously DPF read the scale factor from the host (if provided, most do not) but now it can also figure it out on its own as fallback.
+ There was a lot of
+ back and forth
+ until
+ it was verified
+ to
+ work on all major OSes and formats.
+ I also updated the DPF-Plugins project so that all plugins contained within it support this.
+ Even though some being bitmap-based causes their UI to look blurry, at least they will appear in the correct size.
+ You can see them in the screenshot below.
+
+ +
+ +
+ Some care was given to the
+ sofd module
+ used by DPF as fallback X11 file browser dialog.
+ It serves us well enough because it generally works fine, but never looked that great in my opinion..
+ I spent some time to change its colors a bit to follow a more traditional/usual approach, plus a dark theme because yes.
+ And then on top make it work nicely for high-dpi setups too.
+ Not everyone uses dark themes, so there needs to be a light theme option too, not sure yet if it can be chosen automatically.
+ Personally I think it looks much better, but tastes are subjective. Anyway, the differences can be seen below:
+ (will submit the changes upstream after all the DPF file dialog stuff is finalized and stable)
+
+ +
+ +
+ As a final thing to mention for DPF, the last item that needed attention before the rework being in feature-parity with old branch, is external UI support.
+ The idea being that we can reuse DPF APIs and plugin export support but do the UI stuff completely separately - be it separate process or a custom implementation.
+ As long as it is in a way the plugin host expects things (ie, X11 window on Linux) things should just work..
+
+ The old DPF master branch didn't support this fully, but there was some experimental stuff in place.
+ Now it is back again, with a little
+ more documentation
+ and better support - it should eventually be an official DPF feature.
+ You can follow its discussion and progress
+ here
+ and because everyone likes screenshots, here is one as a quick test of mpv running as the external UI:
+
+ +
+ +
+ One little plugin I made quite some years ago but left it aside due to difficulties in packaging was
+ ProM.
+ ProM is basically
+ projectM
+ in plugin form, on top of DPF.
+ It allows you to have old-school milkdrop-like visualizations on your DAW/host, it is an audio plugin after all.
+ After a little fighting over building projectM correctly (directly in ProM source, aka "vendored"),
+ I can now say it builds and runs on at least GNU/Linux, macOS and Windows.
+ Taking from
+ last month's automatic build setup,
+ binaries are
+ automatically generated for these 3 OSes directly from GitHub.
+ To make Linux distribution packagers happy, the option to build against system-provided libprojectM is still present,
+ and should work even better now as it finds the shared data prefix to use via pkg-config.
+
+ +
+ +
+ Worth of a little note, I updated the kx.studio website to better work in smaller screens, or vertical ones, or both like in mobile phones.
+ The content itself is mostly unchanged, still need to tackle that (specially documentation, there is a lot of old stuff there).
+ They typically call this "responsive design" I guess.
+ The news part I didn't update, as otherwise it would break RSS readers, and the top menu needs to become of one those "hamburguer"-style things when width is low. A task for later.
+
+ A final website update worth mentioning is the addition of the
+ board
+ and
+ development
+ pages.
+ As people sometimes wonder what I have been doing lately (specially important for those that give out donations, thanks for that by the way!)
+ the board view is now integrated into the site. I added color descriptions there too.
+ Hopefully that makes everything more clear, and more visible too of course.
+
+ +
+ 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 2.4.1 has been released
On 2021-10-15 by falkTX
diff --git a/screenshots/news/ildaeil-2021-10.png b/screenshots/news/ildaeil-2021-10.png
new file mode 100644
index 0000000..5d714a5
Binary files /dev/null and b/screenshots/news/ildaeil-2021-10.png differ