Show more

actually the same code works on Qt6.9, so maybe nothing else needed...?

Got wayland subsurface-as-plugin-UI now working for Qt6 hosts now too!

Though because it needs to access private APIs the code looks a bit "special" 😆
But I think it should be possible to expand the supported Qt versions by adding a couple of these...
What do you think, too nasty?

github.com/falkTX/wayland-audi

the jalv gtk3 code is quite complex, I think it might be easier for me to add a little support in carla instead.

but really wish getting some wayland related pointers/data out of Qt was a bit easier..
without it I cannot do the fancy "keep plugin UI on top of carla" thing under wayland

embedding custom wayland UI stuff on top of gtk3 and gtk4 based applications works! 🎉

the gtk APIs to get down to the wayland surface are a bit awkward, but at least its accessible.
I tried the same with Qt6 and couldn't find a way to have it return the underlying wl_surface pointer. 🤷

I got an LV2 plugin UI with this setup working, but no hosts to try it out against.
Modifying jalv.gtk3 is likely the easiest path... 🤔

WIP test code dump at github.com/falkTX/wayland-audi

doing some experiments with wayland and audio plugin UIs...
I have seen a proposal for that relies on a lot of proxy setup, but really don't like it.

so I did some tests with subsurfaces, and it seems very promising.
I have a big host window providing its surface to a "plugin" window for which it creates a subsurface to draw on.
Then the host can take control over subsurface for positioning, z-index, etc

Event input works with this approach too.

boring screenshot: grey = host, yellow = plugin

falktx boosted
falktx boosted

This year's #linuxaudio conference in Lyon was hot (literally 36+ degC). A personal highlight was Fons Adriensen's presentation on Tape Emulation. I learned how tape heads work in detail.

Many thanks to Romain Michon and team for organizing this event.

Recordings of the sessions are available at youtube.com/@gramecncm

It was fun to meet old friends and make some new ones. It was also exciting to have the scientific presentations in a hall named after a hero:

Related to this, I see a lot of JUCE based projects that seem nice in principle but if the author has not updated between versions (say using older JUCE6) it becomes difficult to package and argue in their favour.

JUCE breaks their API quite a lot, even between minor versions. So projects that rely on older versions don't have e.g. fixes for high-dpi screen support or linux vst3.

Updating them to new JUCE versions can be quite complex sometimes.

Not good prospective for long-tern support...

Checking on the status of opensource audio apps and plugins (previously known to me) is quite the sad sight, quite a lot of them have been abandoned 😔

I am thinking of tagging anything that:
1. has no stable release in 10 years
AND
2. has no single dev commit/change in 5 years
as "abandoned".
Alternatively if the project owner publicly states it is no longer maintained.

The amount of projects that fit into this criteria is not small. And I feel 10 & 5 year thing is quite generous..

KXStudio June 2025 project update
kx.studio/News/?action=view&ur

Very short this time, writing these always takes me way too long, so I will try to go with this more formal format for the moment and see how it goes...

Your favorite audio mastering plugin has a new release! 🎉
Mostly just keeping things updated with DPF (the plugin framework) but it now also allows to persistently save custom theme changes. Hint: click the master_me logo on the top-right to bring up the "theme editor".

github.com/trummerschlunk/mast

My big commit of the day: github.com/wineasio/wineasio/c

Remove ASIO dependency from WineASIO 😱

It was only a few definitions, and since the core codebase was unchanged for so long we can safely replace a few structs with API-incompatible but ABI-compatible variants.

Seems to work just as before

My biggest kernel patch so far: github.com/Darkglass-Electroni

Changing the Linux USB audio gadget to use a very-fast mmap vs the old virtual ALSA card approach, plus also sharing 1 clock for both playback and capture (default implementation uses 1 for playback and 1 for capture, which makes them appear as separate devices - very ugly)

Culmination of 1 month of work, but due to how hacky it is I will have to maintain it forever.
But it's cool, gives the Darkglass Anagram unit a more unique feel!

falktx boosted
falktx boosted

@falktx here you go. It is a simple random note generator used within bitwig.

I can use the touch screen to move modules but not to tweak module controls ... It's either the screen that is too small or my fingers that are too big 😆

It's not ideal but it works !

Cardinal 25.06 is out!

Just a few module updates, the main change being SVModular DrumKit being replaced by a community fork, as requested by its author.

github.com/DISTRHO/Cardinal/re

falktx boosted

I will be presenting the Heavy Compiler for #puredata patches at #lac2025 next week in Lyon!

Learn about the history and potential future of this opensource project.

falktx boosted

God, this bubble burst is going to be so brutal

Finally getting back to do some KXStudio repository updates.

First order of business, cleaning and updating the basic libraries
launchpad.net/~kxstudio-debian

The LV2 stuff changed from waf to meson, the deps are very sequential so it takes a while to confirm successful builds. The stack is basically:

zix -> serd -> sord -> sratom -> lilv

Updating PawPaw project (for easy win/mac/wasm static builds) along the way to match
github.com/DISTRHO/PawPaw/comm

That pretty much takes away my Sunday 😅

Show more
falkTX Mastodon

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!