# filter-chain example config file for PipeWire version "1.0.1" #
#
# Copy this file into a conf.d/ directory such as
# ~/.config/pipewire/filter-chain.conf.d/
#
context.modules = [
  { name = libpipewire-module-filter-chain
    flags = [ nofail ]
    args = {
            #audio.format    = F32
            #audio.rate      = 48000
            audio.channels   = 2
            audio.position   = [ FL FR ]
            node.description = "Demonic example"
            media.name       = "Demonic example"
            filter.graph = {
                nodes = [
                    {
                        name   = rev
                        type   = ladspa
                        plugin = revdelay_1605
                        label  = revdelay
                        control = {
                            "Delay Time (s)" = 2.0
                        }
                    }
                    {
                        name   = pitch
                        type   = ladspa
                        plugin = am_pitchshift_1433
                        label  = amPitchshift
                        control = {
                            "Pitch shift" = 0.6
                        }
                    }
                    {
                        name   = rev2
                        type   = ladspa
                        plugin = g2reverb
                        label  = G2reverb
                        control = {
                            "Reverb tail" = 0.5
                            "Damping"     = 0.9
                        }
                    }
                ]
                links = [
                    { output = "rev:Output"   input = "pitch:Input" }
                    { output = "pitch:Output" input = "rev2:In L" }
                ]
                inputs  = [ "rev:Input" ]
                outputs = [ "rev2:Out L" ]
            }
            capture.props = {
                node.name        = "effect_input.filter-chain-demonic"
                #media.class = Audio/Sink
            }
            playback.props = {
                node.name        = "effect_output.filter-chain-demonic"
                #media.class = Audio/Source
            }
        }
    }
]
