| @@ -8,6 +8,239 @@ 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 (October 2021)</span><br/> | |||
| On <i>2021-10-31</i> by<i> falkTX</i> | |||
| </p> | |||
| <p> | |||
| Hello all, another one of those monthly reports about the KXStudio project is here.<br/> | |||
| As you might have seen a few days ago we had | |||
| <a href="https://kx.studio/News/?action=view&url=carla-241-has-been-released" target="_blank">v2.4.1 Carla release</a>.<br/> | |||
| 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. | |||
| </p> | |||
| <h3>DPF + VST3 on pause</h3> | |||
| <p> | |||
| 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. :(<br/> | |||
| Working with the internals of VST3 has been quite frustrating, so just taking a little break from it.<br/> | |||
| Currently still going with the target of finalizing VST3 support in DPF (at least in beta-like status) by the end of the year. | |||
| </p> | |||
| <p> | |||
| I want to say, dealing with VST3 internals has made me appreciate LV2 even more.<br/> | |||
| VST3 has some good design choices and ideas, but parts of it are also just awful and non-sensical.<br/> | |||
| Hopefully after the initial implementation is done we do not have to change it much. | |||
| </p> | |||
| <h3>ImGui rendering issues fixed</h3> | |||
| <p> | |||
| Last month I reported about | |||
| <a href="https://github.com/ocornut/imgui" target="_blank">Dear ImGui</a> | |||
| being integrated as a DPF widget, with only some high-dpi rendering issues remaining.<br/> | |||
| Happy to report that this is finalized and tested to work on a couple of different configurations.<br/> | |||
| I might do a quick plugin set from porting existing audio software to DPF, as a way to 100% verify ImGui in DPF.<br/> | |||
| But for now Ildaeil (more on that below) has served as a nice test-case. | |||
| </p> | |||
| <h3>JSFX as plugin type in Carla</h3> | |||
| <p> | |||
| Jean Pierre Cimalando has started work on adding | |||
| <a href="https://www.reaper.fm/sdk/js/js.php" target="_blank">JSFX "plugin"</a> support | |||
| for Carla.<br/> | |||
| JSFX has nothing to do with JavaScript, but rather it originally comes from REAPER's extended audio processing capabilities.<br/> | |||
| They have defined a format for writing audio plugins that can be written and compiled on the fly.<br/> | |||
| This work from Jean is not yet complete, but great progress has already been made.<br/> | |||
| It is likely to end up on the next Carla release. | |||
| </p> | |||
| <h3>A little new test-project: Ildaeil</h3> | |||
| <p> | |||
| One crucial point for me accepting JSFX support in Carla was that it couldn't be limited to just Carla.<br/> | |||
| But this support being added directly in Carla doesn't help with that.. or does it? | |||
| </p> | |||
| <p> | |||
| Announcing <b>Ildaeil</b>! (sorta.. read on)<br/> | |||
| In case you do not know, | |||
| <a href="https://www.zrythm.org/en/" target="_blank">Zrythm</a> | |||
| is using Carla as backend to deal with non-LV2 plugins.<br/> | |||
| Some of the things it uses were never properly tested in Carla or any other software, making it hard to fix bugs.<br/> | |||
| 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.<br/> | |||
| This project is called "Ildaeil". | |||
| </p> | |||
| <p> | |||
| <a href="https://github.com/DISTRHO/Ildaeil" target="_blank">Ildaeil</a> | |||
| is basically Carla as a minified plugin, where instead of running the full GUI you have a super minimal GUI and set of features.<br/> | |||
| 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.<br/> | |||
| 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. | |||
| </p> | |||
| <p> | |||
| <img src="/screenshots/news/ildaeil-2021-10.png" alt="ildaeil"/> | |||
| </p> | |||
| <p> | |||
| This is not really an announcement because I have not yet decided the full scope of the project.<br/> | |||
| There are a LOT of things it could do, but then it becomes quite the work to maintain.<br/> | |||
| If you want to give it a try, feel free.<br/> | |||
| But reports are welcome, feature requests are not (at this point). | |||
| </p> | |||
| <h3>Separating JACK tools from JACK1 and JACK2</h3> | |||
| <p> | |||
| 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.<br/> | |||
| Back in | |||
| .... | |||
| <a href="_________" target="_blank">_________</a> | |||
| I stated that help on this would be appreciated, but not much has happened since then.<br/> | |||
| Now that PipeWire is slowly becoming a thing, this is becoming crucial. | |||
| </p> | |||
| <p> | |||
| For distributions like Arch that do not typically split packages (hypothetically) installing pipewire-jack would remove jack2 and replace it with PipeWire's version.<br/> | |||
| But the tools like <b>jack_connect</b>, <b>jack_wait</b>, etc are part of the jack2 package, not pipewire-jack.<br/> | |||
| Installing pipewire-jack would (hypothetically) remove these tools.<br/> | |||
| There are quite a few set ups out there that rely on them, so a solution is needed here. | |||
| </p> | |||
| <p> | |||
| David Runge has started the effort of | |||
| splitting these tools from the JACK repositories | |||
| <a href="_________" target="_blank">_________</a> | |||
| into a new one.<br/> | |||
| The idea is that JACK will no longer ship with them, and they become an extra set of tools to install separately.<br/> | |||
| This allows to switch between JACK versions (JACK1, JACK2 or PipeWire) and keep the same exact set of tools. | |||
| </p> | |||
| <p> | |||
| We will need to have new JACK1 and JACK2 versions that remove these tools before the new project can be officially tagged and released.<br/> | |||
| More news on this soon. | |||
| </p> | |||
| ildaeil | |||
| jack separate tools initiated by Dave | |||
| <h3>More (final?) DPF updates</h3> | |||
| <p> | |||
| DPF got a lot of attention once again.<br/> | |||
| 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.<br/> | |||
| Everything that was in the previous DPF (that is, the git | |||
| <a href="https://github.com/DISTRHO/DPF/tree/master/" target="_blank">master branch</a>) | |||
| should now be in the develop branch.<br/> | |||
| I am confident enough in this that made a new | |||
| <a href="https://github.com/DISTRHO/DPF/tree/main" target="_blank">"main" branch</a> | |||
| 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). | |||
| </p> | |||
| <h4>Fixing high-dpi support</h4> | |||
| <p> | |||
| Something that got a fair bit of attention was high-dpi support.<br/> | |||
| 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.<br/> | |||
| There was a lot of | |||
| <a href="https://github.com/DISTRHO/DPF/pull/301" target="_blank">back and forth</a> | |||
| until | |||
| <a href="https://github.com/DISTRHO/DPF/issues/308" target="_blank">it was verified</a> | |||
| to | |||
| <a href="https://github.com/DISTRHO/DPF/issues/311" target="_blank">work on all major OSes and formats</a>.<br/> | |||
| I also updated the DPF-Plugins project so that all plugins contained within it support this.<br/> | |||
| Even though some being bitmap-based causes their UI to look blurry, at least they will appear in the correct size.<br/> | |||
| You can see them in the screenshot below. | |||
| </p> | |||
| <p> | |||
| <img src="/screenshots/news/dpf-plugins-big-2021-08.png" alt="dpf-plugins-big"/> | |||
| </p> | |||
| <h4>sofd improvements</h4> | |||
| <p> | |||
| Some care was given to the | |||
| <a href="https://github.com/x42/sofd/" target="_blank">sofd module</a> | |||
| used by DPF as fallback X11 file browser dialog.<br/> | |||
| It serves us well enough because it generally works fine, but never looked that great in my opinion..<br/> | |||
| I spent some time to change its colors a bit to follow a more traditional/usual approach, plus a dark theme because yes.<br/> | |||
| And then on top make it work nicely for high-dpi setups too.<br/> | |||
| Not everyone uses dark themes, so there needs to be a light theme option too, not sure yet if it can be chosen automatically.<br/> | |||
| Personally I think it looks much better, but tastes are subjective. Anyway, the differences can be seen below:<br/> | |||
| (will submit the changes upstream after all the DPF file dialog stuff is finalized and stable) | |||
| </p> | |||
| <p> | |||
| <img src="/screenshots/news/sofd-compare-2021-08.png" alt="sofd-compare"/> | |||
| </p> | |||
| <h4>External UI</h4> | |||
| <p> | |||
| 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.<br/> | |||
| 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.<br/> | |||
| As long as it is in a way the plugin host expects things (ie, X11 window on Linux) things should just work.. | |||
| </p> | |||
| <p> | |||
| The old DPF master branch didn't support this fully, but there was some experimental stuff in place.<br/> | |||
| Now it is back again, with a little | |||
| <a href="https://github.com/DISTRHO/DPF/blob/main/distrho/extra/ExternalWindow.hpp#L37" target="_blank">more documentation</a> | |||
| and better support - it should eventually be an official DPF feature.<br/> | |||
| You can follow its discussion and progress | |||
| <a href="https://github.com/DISTRHO/DPF/issues/313" target="_blank">here</a> | |||
| and because everyone likes screenshots, here is one as a quick test of mpv running as the external UI: | |||
| </p> | |||
| <p> | |||
| <img src="/screenshots/news/external-ui-mpv-2021-08.png" alt="external-ui-mpv"/> | |||
| </p> | |||
| <h3>ProM revived</h3> | |||
| <p> | |||
| One little plugin I made quite some years ago but left it aside due to difficulties in packaging was | |||
| <a href="https://github.com/DISTRHO/ProM/" target="_blank">ProM</a>.<br/> | |||
| ProM is basically | |||
| <a href="https://github.com/projectM-visualizer/projectm/" target="_blank">projectM</a> | |||
| in plugin form, on top of DPF.<br/> | |||
| It allows you to have old-school milkdrop-like visualizations on your DAW/host, it is an audio plugin after all.<br/> | |||
| 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.<br/> | |||
| Taking from | |||
| <a href="https://kx.studio/News/?action=view&url=kxstudio-monthly-report-july-2021" target="_blank">last month's automatic build setup</a>, | |||
| binaries are | |||
| <a href="https://github.com/DISTRHO/ProM/actions" target="_blank">automatically generated for these 3 OSes directly from GitHub</a>.<br/> | |||
| 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. | |||
| </p> | |||
| <p> | |||
| <img src="/screenshots/news/prom-revival-2021-08.png" alt="prom-revival"/> | |||
| </p> | |||
| <h3>Website updates</h3> | |||
| <p> | |||
| 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.<br/> | |||
| The content itself is mostly unchanged, still need to tackle that (specially documentation, there is a lot of old stuff there).<br/> | |||
| They typically call this "responsive design" I guess.<br/> | |||
| 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. | |||
| </p> | |||
| <p> | |||
| A final website update worth mentioning is the addition of the | |||
| <a href="https://kx.studio/Board" target="_blank">board</a> | |||
| and | |||
| <a href="https://kx.studio/Development" target="_blank">development</a> | |||
| pages.<br/> | |||
| 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.<br/> | |||
| Hopefully that makes everything more clear, and more visible too of course. | |||
| </p> | |||
| <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 2.4.1 has been released</span><br/> | |||
| On <i>2021-10-15</i> by<i> falkTX</i> | |||