As I mentioned in the last report, Fedora offered to host a translation service (Weblate) for us. I (almost) finished the needed preparations: I added the translation template files to version control and merged translations from Fedora’s old translation service (Zanata). The merged translations are still pending review, though, so PulseAudio can’t quite yet be translated on Weblate, but pavucontrol and paprefs can. I added links to Weblate to the pavucontrol and paprefs home pages. If you’re interested in contributing translations, here’s the link for pavucontrol: https://translate.fedoraproject.org/projects/pulseaudio/pavucontrol/ and here’s the link for paprefs: https://translate.fedoraproject.org/projects/pulseaudio/paprefs/.
Arun released the first release candidate of PulseAudio 14.0. I worked on the release notes (there’s still a lot left to do).
I continued working on the UCM configuration for Sound Blaster Audigy Rx. I didn’t make much concrete progress, but I had a discussion on the alsa-devel mailing list with Jaroslav Kysela about the difference between the various ways to configure volume and mute controls elements in UCM. The thread evolved into a discussion about “device variants”, which are a planned UCM concept for dealing with variable channel counts on one device (for example, sometimes the “Speaker” device can have separate stereo and surround modes). Now I have much better understanding about how the ALSA developers think UCM configurations should be structured.
My patch reviews from the last month:
- Georg Chini fixed a bug in the new stream rescuing logic. Streams weren’t being rescued if a device without any ports was removed.
- Jaroslav Kysela fixed the default channel logic in PulseAudio’s UCM code. The fallback to two channels wasn’t being applied in many cases.
- Jan Koester made it possible to configure custom installation directories for pkg-config and CMake files.
- Lionel fixed a compilation issue in pavucontrol. I don’t know why I’m not seeing the issue on my machine, maybe I have an older or newer version of Gtk, but the fix was good in any case.
- Patrick McLean added custom configuration for Sennheiser GSX 1000 gaming DAC. With the patch PulseAudio will show separate sinks for voice and other audio. There were some cleanups to be done, so the patch is not merged yet, but it won’t be merged until after PulseAudio 14.0 has been released anyway, due to the release freeze.
There’s a new mailing list for Yocto documentation patches. I updated the yocto-docs README to reflect the new patch submission process.
I added a version check to PulseAudio’s module loading code. With the patch PulseAudio will reject modules whose version doesn’t match the daemon’s version. This is related to my ongoing effort to remove the version number from the module installation path. The changing installation path is an inconvenience for me when doing recipe updates in OpenEmbedded.
PulseAudio has currently two build systems: the old one that uses autoconf and automake and the new one that uses Meson. I’m working on switching to Meson in OpenEmbedded, and I noticed that Pulseaudio’s Meson build system doesn’t have an option to enable or disable Valgrind (it’s automatically enabled if Valgrind is found in the build environment). I implemented a configuration option for controlling the Valgrind support.
The ALSA project made a new release, so I started updating the ALSA recipes.
This post was originally written on 2020-03-02, and first made available to my Patreon supporters. Speaking of Patreon – I’m using crowdfunding in an attempt to make it financially sustainable to continue my volunteer work as a PulseAudio maintainer. If you’d like to help, check out my Patreon page (or Liberapay).