Questions about PulseAudio, Flatpak, and future Zrythm additions

Hello there! (I’m aware this topic has a lot of different stuff in it, but I figured that would be better than spamming multiple different topics at once.)

So first off, Zrythm looks like an amazing project. The current DAW selection that work on Linux for those of us used to traditional piano rolls is…rough, and Zrythm’s layout reminds me a lot of Studio One (my favorite DAW).

I did notice, however, that there was no PulseAudio support. For my own use, I can generally just use Pipewire and its JACK emulation, but I thought that having Pulse support might make for some wider adoption… The patches are here. If desired, I could also take a stab at adding native PipeWire support, though I guess the JACK layer would already cover most of those use cases.

In the process of playing with this, I also made a Zrythm Flatpak. This was initially done just for personal use, since I run Fedora Silverblue where Flatpaks are the primary method of app installation. At a glance, Zrythm used to have a basic Flatpak manifest, though it seems there was some misunderstandings on how plugins worked (or maybe that support just wasn’t available at the time). As of right now, Flathub does have a sanctioned extension point for Linux audio plugins, as well as quite a few available right now (I used Helm for most testing):

$ flatpak search LinuxAudio --columns=application | uniq | wc -l
36

Right now, there isn’t really full support for paid Flatpak apps yet, but if desired, you could likely just have the standalone Flatpak “bundles” (self-contained files that can be used to install Flatpaks) available for download along with the other ones.

On that note, I did have a question about some potential future functionality, just to know if it’s planned or not. Studio One has a really nice feature that lets you duplicate a pattern but keep it linked to the original, so that any changes to one are also applied to the other. This is really nice for stuff like drum loops or harmonies that are repeated across multiple sections of a track. Are there any plans for something similar in Zrythm (if it doesn’t already exist)?

welcome

thanks! LGTM, will merge as soon as I receive the copyright notices.

I don’t mind having extra backends, up to you. The PipeWire dev recommends using JACK, says there’s no need for a native backend but it wouldn’t hurt having one.

Re: flatpak, I can add it to the paid/trial bundle experimentally if you could send the manifest. Some people were asking for support for additional distros or flatpak/AppImage builds so it would be a welcome addition.

Alt + drag on regions does this, it’s called region linking (you can see the chain icon in the top right of the region).

Screenshot from 2021-02-02 19-46-19

Got that, I’ll try to clean up the manifest I have. Do you want me to submit it as a patch to add a new file to the repo or send it some other way?

One other question: is there any preference as to what backends should be compiled in? Right now I have:

  • JACK (via Pipewire only)
  • PulseAudio
  • RtMidi
  • RtAudio (but this probably isn’t very useful anymore due to the pulse support)

Ah this looks perfect, thanks!

I don’t think distro/platform specific build systems should go to the main repo, I keep a separate repo for managing these builds: https://git.sr.ht/~alextee/zrythm-installer

If it’s just 1 file you can just post it somewhere, maybe send it in the mailing list and I can add it myself. Just be sure to include a license header at the top with copyright info.

The more the better I think. JACK is the most useful one. RtAudio also provides raw ALSA support.