December 05, 2022

Internet Archive - Collection: osmpodcast

An error occurred

The RSS feed is currently experiencing technical difficulties. The error is: invalid or no response from Elasticsearch

December 05, 2022 09:54 PM

GStreamer News

GStreamer 1.21.3 unstable development release

The GStreamer team is pleased to announce another development release in the unstable 1.21 release series on the road to the 1.22 stable release.

The unstable 1.21 release series adds new features on top of the current stable 1.20 series and is part of the API and ABI-stable 1.x release series of the GStreamer multimedia framework.

The unstable 1.21 release series is for testing and development purposes in the lead-up to the stable 1.22 series which is scheduled for release in December 2022. Any newly-added API can still change until that point.

A feature freeze is now into effect for the 1.21 series, but newly-added API might still change until the final 1.22.0 stable release, and minor features may also still be added until then.

This development release is primarily for developers and early adaptors.

Packagers: please note that plugins (e.g. xingmux) may have moved between modules, so please take extra care and make sure inter-module version dependencies are such that users can only upgrade all modules in one go, instead of seeing a mix of different 1.21 and/or 1.20 versions on their system.

Binaries for Android, iOS, Mac OS X and Windows are also available at the usual location.

Release tarballs can be downloaded directly here:

As always, please let us know of any issues you run into by filing an issue in Gitlab.

December 05, 2022 02:00 AM

December 02, 2022


Programmable Audio Workshop Grame, France

I was always interested to get into FPGA development but one reason holding me back is the convoluted situation with the necessary toolchains. Proprietary, often Windows only and complicated licensing, for some you need to take a course to learn how to pay for them. Hopefully it changes towards a more open and welcoming experience and this conference tomorrow is quite interesting about FPGA and audio, and can be attended via stream.

by herrsteiner ( at December 02, 2022 06:13 PM

Linux – CDM Create Digital Music

Roger Linn shares hidden settings and more gems from the LinnStrument

None other than legendary Roger Linn is here, regularly unearthing powerful expressive techniques on his Linnstrument. And there's more - he even talks to users monthly via Zoom.

The post Roger Linn shares hidden settings and more gems from the LinnStrument appeared first on CDM Create Digital Music.

by Peter Kirn at December 02, 2022 12:22 PM

November 30, 2022 - LAD

Down to the Last Man, Doc!

While working through some remaining things in the build/documentation/packaging/infrastructure cleanup phase I've been going through lately, I noticed that some of the man pages hosted at this domain have become stale (there was a helpful ticket about one of them, but more or less all of them were out of date).

I'm still not entirely sure what to do about the general duplication between README files and the neglected home pages I still (barely) maintain here, but this part struck me as obviously needing to be automated.

Of course, now that my attention was drawn to them, I noticed that many of the man pages themselves were in a terrible state. In recent years I've become more enthusiastic about man pages, particularly after moving to mandoc. As a language, mdoc is dramatically better than the "traditional" man macros (the ones most often used on Linux), and includes meaningful semantic markup for more or less everything you'll need. It's still line noise to write, but you actually get something for it. Since it's semantic markup, it feels like a better investment to me: superficially ugly, perhaps, but with high fidelity as a portable source material. Converting from mandoc to just about anything, I imagine, could be done automatically easily enough, if it wasn't already supported by the tool1.

In practice, I find that the language encourages/enables writing more consistent pages with better formatting, and mandoc, unlike groff, emits clean and simple HTML pages that can be easily styled with CSS. It's relatively pleasant to use in general, and emits sensible error messages that point directly to the problem when you screw something up. I've also come to appreciate the BSD style of man page more: the summary is actually a summary, it's less YELLEY, and there is a standard for sections and their order. I may spend most of my time in a GNU/Linux universe, but BSD got man pages right. That's not terribly surprising: BSD culture in general actually likes and cares about man pages. GNU treated them as an unfortunate legacy to prop up a failed successor (info). Of course the BSD tooling around man pages is much better. I tend towards BSD style for command line interfaces anyway, but you can document GNU-style long options in mdoc as well.

So! If I'm going to be putting energy into man pages, I might as well convert them to mdoc. I think good tooling is very important, and nice command-line tools with clear and articulate man pages are a part of that. Unfortunately, neither the LV2 tools themselves nor their documentation have frankly ever been of very high quality. Addressing this is one of the next themes of upcoming work, but for now, simply converting the existing content (with a few touch-ups along the way) is an easy step forward. It meshes nicely with the "bring all projects in line with a consistent set of 'modern' quality standards and automate everything" arc I've been on lately anyway.

The process of going through all of these has made me realize that I should prioritize the tool work, because the state of some of these tools is frankly embarrassing, but, uh, pay no attention to the man behind the curtain! It's a formats and infrastructure kind of day!

Having manually converted all the pages and checked them in the terminal, I needed a place to have them automatically updated, converted to HTML, and uploaded. The (not-really-existing) lv2kit project is the (not-really) parent of LV2 itself and all the "official" libraries, so I put it in CI there for the time being. I don't know what the best organization is for man pages under the LV2 umbrella in the grand scheme of things, but for now, this gets things automatically updated and online:

It's possible to build the documentation into a broader HTML page to integrate with toolbars and the like, but for now these are just complete pages straight out of mandoc. I did however write a simple stylesheet to adopt the same colours, fonts, spacing, typography-inspired minimalism, and infamous green links that I use everywhere, so things at least look reasonably coherent. I think it looks Good Enough™, anyway, but more relevantly, if you poke around in the document structure you'll see that the output is, for the most part, sensible semantic markup as well: lists are lists, sections are sections, different "sorts" of things are given classes, tables aren't abused, and so on. Everything here, from input to output, is reasonably clear and feels like it has obviously had some care put into it. The output looks like something a reasonable human might write themselves (if you run it through a formatter, anyway). I certainly can't say any of that about the equivalent groff-based monstrosity. In short, mandoc is good and you should use it.

As for these pages, the future of lv2kit as an "actual" released project is still unclear, but it is regularly updated (since the libraries rely on it for CI), so the man pages should never be stale again. I certainly wouldn't call these good yet, but not rotten is a start!

  1. mandoc currently supports emitting ascii, html, man, markdown, pdf, ps, tree, and utf8

by drobilla at November 30, 2022 06:53 PM

November 27, 2022

KXStudio News

Cardinal 22.11 released

Hi everyone, we have another Cardinal release, 22.11, with a very welcome change and important bugfixes.
Cardinal is a free and open-source virtual modular synthesizer plugin.
It is based on the popular VCV Rack but with a focus on being a fully self-contained plugin version.

Contributed by Francesco Cameli we now have modules processing order based on cable connections rather than when they were first added to the Rack.
With this, there is now a guarantee that no single sample feedback is introduced between cable connections, unless feedback connections are in place or modules have internal buffering.

As an example, Francesco provided a simple patch that plays a sine wave through a sequence of 54 modules to measure the difference of the starting signal with the end one.
As it can be seen below, with the old implementation there was definitely a delay introduced by the connections.
(since the audio engine steps through the modules in the order in which they were created, ignoring which modules should come first according to the cable connections)


With the new implementation the signal flow now correctly shows a null sum between the starting signal and the end one:


Other important changes are fixes to VST3 multi-IO, CLAP having a multi-IO variant, and macOS Intel builds working much better.

Main Changelog

  • Add classic subtractive polysynth example/demo patch
  • Automatically reset modules processing order according to cable connections
  • Enable CLAP "main" variant (multi-IO audio now implemented, CV ports still TODO)
  • Fix CLAP audio port types (now set as stereo, fixes loading under Anklang)
  • Fix memory alignment issues for macOS Intel platform
  • Fix out of bounds read on host audio 2 meters
  • Fix VST3 non-main ports not receiving audio
  • Make macOS native standalone behaving like Linux and Windows regarding buffer-size changes
  • Mark LV2 CV ports as optional
  • Only use simde, drop sse2neon (following VCV Rack's approach to ARM binaries)

Module changes

  • Add RebelTech
  • Update Meander
  • Fix crashes when loading patches with Macro Oscillator 2
  • Fix out of bounds read in DrumKit modules


The source code plus Linux, macOS and Windows binaries can be downloaded at
Cardinal is released as LV2, VST2, VST3 and CLAP plugin, plus AudioUnit and JACK standalone for certain systems.

by falkTX at November 27, 2022 09:48 PM

November 24, 2022

Linux – CDM Create Digital Music

Unreal Engine 5.1 goes wild: what’s new from foliage to generated sound

In an epic year for Epic, November does it again. Unreal Fest 2022 brought a bunch of sessions on the latest from Unreal Engine, from sound to visuals. And it's worth making sure that doesn't fly under the radar of creative musicians, composers, and visualists, especially because there are some updates in their unique audio engine, too.

The post Unreal Engine 5.1 goes wild: what’s new from foliage to generated sound appeared first on CDM Create Digital Music.

by Peter Kirn at November 24, 2022 06:11 PM

November 19, 2022

The Linux-audio-announce Archives

[LAA] XUiDesigner v0.9 released

XUiDesigner v0.9

A easy to use tool to generator/design X11 based LV2 Plugin Bundles by
drag n' drop, released under the BSD Zero Clause License.

Beside that XUiDesigner allow to generate and install GUI's for existing
LV2 plugins (so far only Reaper fail to load extra UI's), it support as
well to generate LV2 plugins from scratch.
Special support is implemented for FAUST dsp files, which allow you to
generate a LV2 plugin with X11 based UI by just drag'n'drop a FAUST dsp
file into the XUiDesigner interface. This works now as well for MIDI
capable faust modules.
In any way, you don't need to interference with any of the annoying LV2
implementations. XUiDesigner handle that all for you.
The very same is true when you like to implement your own dsp (C++) into
a LV2 plugin.
Example files for how to create a c++ file for parsing (drag n' drop)
with XUiDesigner been included.
For later rework the UI a json file will be created which you could drop
later on XUiDesigner to load and rework the UI.
This may also be usable by other toolkits to create a UI?
This release comes with a couple of Bug-fixes and aims to be nearly stable.
Here is a introduction Wiki
 entry to
show the first steps.
Note: Please download the attached XUIDesigner_0.9.tar.gz

archive, as only that contain the needed git submodule ( old long time
knowing bug on github) as the other files wont be able to build
XUiDesigner for you.

New in this release:
Fix read multiple frames from json file

Make image file path relative for json read/write

add missing json values

Load lv2 world in parallel thread on start up

make file dialog window bigger on default

Update libxputty fix linker issue

Fix parse *.cc files without bypass port

Project page:

Download Release:



by brummer- at (Hermann Meyer) at November 19, 2022 04:28 PM

[LAA] B.Choppr 1.12.0 - New chop panning


there's a new release of B.Choppr, after a longer break. B.Choppr is an 
LV2 audio plugins that cuts the audio stream into chops of defined 
sized. You can change the level and *NEW* the panning for each chop to 
create crazy effects.


Have fun

by sjaehn at (Sven Jaehnichen) at November 19, 2022 12:42 PM

November 18, 2022

News – Ubuntu Studio

Ardour 7.1 Backports Available

Our friends at Ardour have released Version 7.1, and we would like to offer them huge congratulations! While the source code and their own builds were available on release day, many of you have been waiting for Ardour 7 to come to Ubuntu’s repositories.

That day has come. Ardour 7.1 will be landing in Ubuntu Lunar Lobster (future 23.04) and will be on Ubuntu Studio’s daily spins of Lunar Lobster very soon.

Unfortunately, it is not possible to backport Ardour 7.1 into Ubuntu 22.04 LTS or 22.10, nor would we want to. This is because if we do, we might disrupt the workflow of people who are currently working with projects in 6.9 that are relying on its functionality and sound. Ardour 7.1 projects are not backwards compatible with Ardour 6.9 projects; once a 6.9 project is opened in 7.1, it is converted to a 7.1 project and cannot be used in 6.9 again unless restored from a backup.

This is also the reason we will not be releasing Ardour 7.1 into Ubuntu Studio’s main Backports PPA. However, we are giving Ardour its own Backports PPA so that users may upgrade Ardour in their Ubuntu (Studio) 22.04 LTS or 22.10 installation whenever they are ready.

To upgrade Ardour to 7.1, open a terminal and type the following:

sudo add-apt-repository ppa:ubuntustudio-ppa/ardour-backports
sudo apt upgrade

If at any point you change your mind and want to revert to Ardour 6.9 (and hopefully haven’t converted any projects):

sudo apt install ppa-purge
sudo ppa-purge ppa:ubuntustudio-ppa/ardour-backports

Enjoy Ardour 7.1! If you find it useful, please consider downloading and paying for the official package from Ardour themselves. They more than deserve it!

by eeickmeyer at November 18, 2022 05:05 PM


Piksel 2022

Malte Steiner is guest at Piksel #20 in Bergen,  Norway with three contributions: The Absolute Power work rewriting history: I keep forgetting faces is shown in the exhibition, tonight he performs the very first concert of his new open source live coding system Gravel he developed since September together with Tina Mariane Krogh Madsen, a first alpha will be released by the end of the year. And tomorrow Steiner will be part of the talks about 20 years of Piksel. Full schedule:

by herrsteiner ( at November 18, 2022 11:37 AM

November 07, 2022

GStreamer News

GStreamer 1.21.2 unstable development release

The GStreamer team is pleased to announce a second development release in the unstable 1.21 release series.

The unstable 1.21 release series adds new features on top of the current stable 1.20 series and is part of the API and ABI-stable 1.x release series of the GStreamer multimedia framework.

The unstable 1.21 release series is for testing and development purposes in the lead-up to the stable 1.22 series which is scheduled for release in December 2022. Any newly-added API can still change until that point.

This development release is primarily for developers and early adopters.

Binaries for Android, iOS, Mac OS X and Windows are also available at the usual location.

Release tarballs can be downloaded directly here:

As always, please let us know of any issues you run into by filing an issue in Gitlab.

November 07, 2022 11:30 PM

November 03, 2022

Ardour 7.1 has been released

a little over 2 weeks since the release of Ardour 7.0, we’re back with a mostly-bug-fix release driven by the excellent testing and reporting of some intrepid users. Somewhat embarrassingly, there were a lot of serious bugs in our much-touted new time representation system, most of which we have now fixed. This was particularly obvious in sessions involving multiple tempos, something sadly diminished in the present era :grinning: We deeply appreciate the feedback, and have worked hard to fix as many of the reports as we could. Some of the fixes are extremely important, and we felt it was right to get a new release out as soon as possible. Over the coming weeks, we will continue to work on bug fixes but hopefully shift some attention back towards new features and design/workflow improvements.

Full details on the What’s New page, and as usual download from Download Ardour | Ardour Community

If you’d like to quickly catch up on what was introduced in the 7.0 release, this video may help

44 posts - 17 participants

Read full topic

by Paul Davis at November 03, 2022 03:20 PM

November 01, 2022

KXStudio News

DPF-Plugins v1.6 released

Hello everyone, a new release of DPF-Plugins is here.
DPF-Plugins is a collection of DPF-based plugins, including Kars, MVerb and Nekobi.
This release brings some fixes alongside finishing the VST3 versions and adds CLAP support.

General changelog:

  • Add linux-riscv64 builds to release binaries
  • Fix / stabilize VST3 support
  • Initial CLAP support
  • Set audio port configuration for all plugins
  • Set VST3 categories in a few more plugins
  • Update to latest DPF

Plugin specific changes:

  • Kars: Fix playback after a sample rate change
  • Nekobi: Fix deadlock when receiving a MIDI message bigger than 3 bytes
  • Nekobi: Make waveform slider behave as a button
  • ProM: Fix invalid context (GL compat instead of GL3) in some setups
  • ProM: Force keyboard focus on click


The source code plus Linux, macOS and Windows binaries can be downloaded at
The plugins are released as LADSPA, DSSI, LV2, VST2, VST3, CLAP and JACK standalone.

by falkTX at November 01, 2022 12:48 AM

October 25, 2022

New modem

A while ago I received a new modem from Ziggo since they’re switching to DOCSIS 3.1. Didn’t have the time to replace the old Ubee UVW3200 modem but this morning I was forced to do so because the lease had expired and Ziggo had decided to give me a new WAN IP address in a network segment with no internet.

After replacing the Ubee with the Sagemcom F3896LG-ZG I had no internet though. I did have a green LED lighting up our meter cupboard and apparently that indicated the modem was in bridge mode. The Ubee was also working in bridge mode so that could very well be possible. Quick search revealed I had to call Ziggo, have them disable bridge mode and then I could put it in bridge mode myself again. So I called, Ziggo disabled bridge mode and a few minutes later I still had nothing. No option to enable bridge mode. So I called again. Apparently in some regions the bridge mode option doesn’t show up so Ziggo enabled bridge mode again. Green LED reappeared after a while and tada, my router received a fresh new WAN IP address and there was internet again.

So if you run into similar issues when replacing your Ubee that was put in bridge mode by Ziggo with the new Sagemcom modem, call them. Modem works good now, it does use a bit more power (36W vs 24W for the Ubee) but a bonus is that you still have remote access to the modem which was not possible with the Ubee. And like the Ubee everything else but the modem functionality is disabled so it probably needs less than 36W at the moment. I’ll hook it up to a power monitoring smart plug to find out.

by jeremy at October 25, 2022 01:32 PM

October 20, 2022

News – Ubuntu Studio

Ubuntu Studio 22.10 Released

The Ubuntu Studio team is pleased to announce the release of Ubuntu Studio 22.10, code-named “Kinetic Kudu”. This marks Ubuntu Studio’s 32nd release. This release is a regular release and as such, it is supported for 9 months (until July 2023).

Since it’s just out, you may experience some issues, so you might want to wait a bit before upgrading. Please see the release notes for a complete list of changes and known issues.

You can download Ubuntu Studio 22.10 from our download page.


Instructions for upgrading are included in the release notes.

New This Release

Ubuntu Studio Feature Uninstaller

Previous releases of Ubuntu Studio had a way to choose the features you wanted when you installed. Unfortunately, this had to be removed from the installer several releases ago. An often-requested item is a way to uninstall some of these features after installation since they might not integrate into your workflow.

A new addition to the Ubuntu Studio Installer package is the Ubuntu Studio Feature Uninstaller which performs the reverse of the Ubuntu Studio Installer: removes groups of packages from the Ubuntu Studio installation as long as they aren’t required by another group of packages. For example, if you have ubuntustudio-photography installed and ubuntustudio-graphics installed but wish to uninstall ubuntustudio-photography, you will still have gimp installed since it’s part of the ubuntustudio-graphics metapackage. This method of uninstallation is safe and effective at making your digital studio yours.

Audacity 3.2

Included with this release is the brand-new Audacity 3.2. Prior to this release, Audacity had been still on the Audacity 2.4 release. This is the first Ubuntu release to carry Audacity 3.x and we couldn’t be prouder.

Just a word of caution: Audacity 3.2 isn’t compatible with all of the audio plugins we carry, so there may be some errors when scanning, so keep that in mind.

Software for Live Performances and Houses of Worship

A major group of people that could benefit from Ubuntu Studio and its software is those who do live performances and those in houses of worship, such as Churches and Synagogues. As such, we have included, in addition to our vast audio suite, such software to enable houses of worship to create effective services.

For lighting, we have included Q Light Controller Plus to serve the needs of controlling house and stage lighting across multiple universes of light fixtures. Whether you have simple stage lighting or moving programmable RGB lights, QLC+ can handle it.

FreeShow’s Interface

For projection, in addition to LibreOffice Impress, we now have FreeShow, a presentation program to easily show text on a big screen, with support for stage display, remote control, media, and many more advanced features. It is geared toward houses of worship but can be used for many live performance lyric presentation applications. If FreeShow is inadequate or not featureful enough, OpenLP is also included.

Backports PPA

There are a few items planned for the Backports PPA once the next release cycle opens. We plan to keep the backports PPA up-to-date for the next six months until the release of 23.04, at which point you will be encouraged to upgrade.

Instructions for enabling the Ubuntu Studio Backports PPA

  • Automatic method:
    • Open Ubuntu Studio Installer
    • Click “Enable Backports”
  • Manual method:
    • sudo add-apt-repository ppa:ubuntustudio-ppa/backports
    • sudo apt upgrade

Plasma Backports

Since we share the Desktop Environment with Kubuntu, simply adding the Kubuntu Backports will help you with keeping the desktop environment and its components up-to-date with the latest versions:

  • sudo add-apt-repository ppa:kubuntu-ppa/backports
  • sudo apt upgrade

More Updates

There are many more updates not covered here but are mentioned in the Release Notes. We highly recommend reading those release notes so you know what has been updated and know any known issues that you may encounter.

Get Involved!

A wonderful way to contribute is to get involved with the project directly! We’re always looking for new volunteers to help with packaging, documentation, tutorials, user support, and MORE! Check out all the ways you can contribute!

Special Thanks

Huge special thanks for this release go to:

  • Len Ovens: Studio Controls, Ubuntu Studio Installer, Coding
  • Simon Quigley: Packaging, Ubuntu Core Developer
  • Eylul Dogruel: Artwork, Graphics Design
  • Ross Gammon: Upstream Debian Developer, Testing, Email Support
  • Sebastien Ramacher: Upstream Debian Developer
  • Dennis Braun: Debian Package Maintainer
  • Rik Mills: Kubuntu Council Member, help with Plasma desktop
  • Mauro Gaspari: Tutorials, Promotion, and Documentation, Testing
  • Aaron Rainbolt: Testing and bug reporting, IRC Support
  • Krytarik Raido: IRC Moderator, Mailing List Moderator
  • Erich Eickmeyer: Project Leader, Packaging, Direction, Treasurer

Frequently Asked Questions

Q: Does Ubuntu Studio contain snaps?
A: Yes. Mozilla’s distribution agreement with Canonical changed, and Ubuntu was forced to no longer distribute Firefox in a native .deb package. We have found that, after numerous improvements, Firefox now performs just as well as the native .deb package did.

Additionally, FreeShow is an Electron-based application. Electron-based applications cannot be packaged in the Ubuntu repositories in that they cannot be packaged in a traditional Debian source package. While such apps do have a build system to create a .deb binary package, it circumvents the source package build system which is required when packaging for Ubuntu. However, Electron apps also have a facility for creating snaps, which can be uploaded to the snap store. Therefore, for FreeShow to be included in Ubuntu Studio, it had to be packaged as a snap.

Q: Is PipeWire the main sound server like Ubuntu Desktop 22.10?
A: One of our goals this release was to create some kind of switch between our traditional PulseAudio/JACK setup and PipeWire, but this did not come to fruition as we had quite a few other bugs to squash as a result of the transition to ffmpeg 5. Additionally, we had a lot of clean-up after the transition to Python 3.10 in 22.04 LTS among other bugs. Sadly, that’s where our attention went and PipeWire support had to be deprioritized for this release.

Additionally, PipeWire does not support any JACK backends other than ALSA, so users who need NetJACK, FFADO for FireWire, or other backends would not be able to use PipeWire alone. Therefore, we need to develop an easy way to switch between the more traditional PulseAudio/JACK setup and PipeWire.

Q: Will you ever make an ISO image with {my favorite desktop environment}?
A: To do so would require creating an entirely new flavor of Ubuntu, which would require going through the Official Ubuntu Flavor application process. Since we’re completely volunteer-run, we don’t have the time or resources to do this. Instead, we recommend you download the official flavor for the desktop environment of your choice and use Ubuntu Studio Installer to get Ubuntu Studio. Please note that this process does not convert that flavor to Ubuntu Studio but adds its tools, features, and benefits to the existing flavor installation.

Q: What if I don’t want all these packages installed on my machine?
A: Simply use the Ubuntu Studio Feature Uninstaller to remove the features of Ubuntu Studio you don’t want or need!

by eeickmeyer at October 20, 2022 07:34 PM

YouTube playlist covering clip launching (from Harrison Consoles)

Our friends at Harrison put together a series of short videos in the run-up to the release of Mixbus 8 covering many different aspects of clip launching. I’ve put them all into a YouTube playlist on the Ardour YT channel to make it easy to find and watch them all.

If you don’t understand the concept, or want some guidance about all the nuances, these videos are excellent. Although Ardour and Mixbus are different DAWs, they share the majority of the code, and clip launching is identical in them both (except the as of right now, Ardour offers 16 slots per track vs 8 in Mixbus.


3 posts - 3 participants

Read full topic

by Paul Davis at October 20, 2022 03:13 AM

October 15, 2022 - LAD

On the LV2 Stack, Dependencies, and Incrementalism

For quite a while now, I've been working on new major versions of the LV2 host stack (serd, sord, sratom, suil, and lilv) while maintaining the current stable versions. Mainly this is a task of trying to push as many changes back as I can, without actually breaking any APIs. Aside from the usual bug fixes and code improvements, this includes a lot of build system, tooling, and general quality control improvements. This keeps the divergence low, so it will be easier to go back and do maintenance on the old versions where necessary.

At this point, this process is almost done: everything uses meson now, has a consistent QC regime (high-coverage testing, multi-platform CI, strict compiler warnings, machine formatting, clean clang-tidy configurations, and so on), most long-standing issues are fixed, and I'm finally starting to run out of changes that I can do without finally breaking the APIs and releasing new major versions.

It recently occurred to me, though, that there's one more incremental thing I can do here before "ripping the band-aid off", so to speak. In typical low-level C hacker fashion, I have some things that I just copy around piecemeal from project to project as necessary. One of those is zix, a simple library of basic data structures and portability wrappers. This has existed for over a decade, but I have never released it as a "proper" library. More dependencies, more problems, but copy-paste code reuse certainly isn't without its own problems. In this case, I have three projects that use it: sord, lilv, and jalv (and some other developers have discovered this and taken bits for their own purposes as well). This has been troublesome from time to time when bugs need fixing, and depending on how pedantic you are, might technically be considered a violation of some distributions' policies (notably Debian's).

Meanwhile, the lack of a common lowest-level dependency for this kind of very boring and generic stuff (something like the role that glib plays in that ecosystem) has proven increasingly problematic. There is some sketchy code around that exists solely to work around this "missing" dependency, and still some questionable use of things to skirt around missing facilities (for example, jalv has no mutexes). With the new versions I have in the pipeline, this problem becomes more acute for several reasons, so I've decided to release zix and depend on it as a proper released and versioned library, like all the others.

This is something that can be done before the new versions though, and, like all of the above tooling/etc improvements, I think it's best to do as much as possible on the current versions before replacing them, because that process will be painful enough as it is. My thinking originally was to not add any more libraries until I can take advantage of the solid "subproject" abilities of meson and wrap everything up into a single "lv2kit" to decrease the maintenance and packaging burden, but now I'm realizing that this isn't very realistic. For one, it's weird, and weird is bad. For another, it wouldn't really reduce packaging overhead, since distributions would surely want to package the individual libraries separately anyway. The lv2kit idea is still a goal, but pragmatically, I think it's best to just continue on in the good old "shotgun blast of little libraries" way and deal with that later.

Concretely, that will look like this:

serd <--\--- sratom
         --- sord --- lilv --- jalv
zix  <--/------------/--------/

That is, zix will become a thing, and sord, lilv, and jalv will gain it as a dependency. This will let any issues with packaging or subprojects or whatever get ironed out, without changing any of the APIs that LV2 hosts use directly whatsoever.

... and that, I think, is the last non-trivial thing I can do without rocking the boat, before the fun part where I finally get to change whatever I want in these APIs I hastily banged out over a decade ago now, and never intended to live this long in the first place. The dependency tree may get a bit more complicated, but a whole bunch of other things are going to get wildly simplified in exchange, which seems like a pretty good deal to me.

by drobilla at October 15, 2022 11:07 PM

Ardour 7.0 has been released

After more than a year since Ardour 6.9, Ardour 7.0 is now available. This new release features major new features for the software, as well as substantial (even if largely invisible) internal engineering changes. We are happy to bring “clip launching” functionality into Ardour for the first time, along with many other significant improvements, including lots of enhancements for MIDI editing …

This release also sees the addition of official builds for Apple Silicon systems (previously available only via the nightly build site). It is also the end of 32 bit builds for Ardour for all platforms as part of the official download site. Some will remain available on the nightly site for the near-term future.

For more details, please read the whole announcement.

Download as usual from

32 posts - 19 participants

Read full topic

by Paul Davis at October 15, 2022 05:23 PM

October 13, 2022

Moved to Hetzner

After a great tip from dvzrv with regard to hosting all my stuff I recently moved everything to an instance at Hetzner. Main reason why I chose for Hetzner is that they allow you to run your own mail server. First I moved my mail setup and last week I moved the rest. It’s great that I don’t need a mail gateway anymore and it’s always good to move to a more up to date OS.

So my old instance at Fuga is switched off now. After having it backed up I will delete it with a slight pain in my heart, I have the tendency to grow attached to virtual instances. Something with pets and cattle. I’m inching more towards the pet side I guess.

by jeremy at October 13, 2022 07:28 AM