Skip to content

Draft: Add audio-group utils to group audio streams

Julian Bouzas requested to merge julian/wireplumber:audio-group into master

This MR adds an audio-group-utils.lua utility script that groups audio stream nodes that have a common ancestor process cmdline, so that applications can easily change the volume of a set of audio nodes that are part of the same group, and also redirect them to a different device all at once.

The option can be enabled for specific streams by setting the session.audio-group.ancestor-cmdline property under the stream.rules section of the configuration. For example, this will group all pulseaudio output streams that have the bash cmdline ancestor:

stream.rules = [
  {
    matches = [
      {
          media.class = "Stream/Output/Audio"
          client.api = "pipewire-pulse"
      }
    ]
    actions = {
      update-props = {
        session.audio-group.ancestor-cmdline = "bash"
      }
    }
  }
]
Edited by Julian Bouzas

Merge request reports