diff --git a/src/daemon/client-rt.conf.in b/src/daemon/client-rt.conf.in index d23883120..9dca000aa 100644 --- a/src/daemon/client-rt.conf.in +++ b/src/daemon/client-rt.conf.in @@ -1,6 +1,6 @@ # Real-time Client config file for PipeWire version @VERSION@ # # -# Copy and edit this file in @PIPEWIRE_CONFIG_DIR@ for systemwide changes +# Copy and edit this file in @PIPEWIRE_CONFIG_DIR@ for system-wide changes # or in ~/.config/pipewire for local changes. context.properties = { @@ -23,8 +23,8 @@ context.spa-libs = { } context.modules = [ - #{ name = - # [ args = { = ... } ] + #{ name = + # [ args = { = ... } ] # [ flags = [ [ ifexists ] [ nofail ] ] #} # @@ -33,7 +33,7 @@ context.modules = [ # If nofail is given, module initialization failures are ignored. # # Uses RTKit to boost the data thread priority. - { name = libpipewire-module-rtkit + { name = libpipewire-module-rtkit args = { #nice.level = -11 #rt.prio = 88 @@ -44,27 +44,27 @@ context.modules = [ } # The native communication protocol. - { name = libpipewire-module-protocol-native } + { name = libpipewire-module-protocol-native } # Allows creating nodes that run in the context of the # client. Is used by all clients that want to provide # data to PipeWire. - { name = libpipewire-module-client-node } + { name = libpipewire-module-client-node } # Allows creating devices that run in the context of the # client. Is used by the session manager. - { name = libpipewire-module-client-device } + { name = libpipewire-module-client-device } # Makes a factory for wrapping nodes in an adapter with a # converter and resampler. - { name = libpipewire-module-adapter } + { name = libpipewire-module-adapter } # Allows applications to create metadata objects. It creates # a factory for Metadata objects. - { name = libpipewire-module-metadata } + { name = libpipewire-module-metadata } # Provides factories to make session manager objects. - { name = libpipewire-module-session-manager } + { name = libpipewire-module-session-manager } ] filter.properties = { @@ -72,11 +72,11 @@ filter.properties = { } stream.properties = { - #node.latency = 1024/48000 - #node.autoconnect = true - #resample.quality = 4 - #channelmix.normalize = false - #channelmix.mix-lfe = true - #channelmix.upmix = false + #node.latency = 1024/48000 + #node.autoconnect = true + #resample.quality = 4 + #channelmix.normalize = false + #channelmix.mix-lfe = true + #channelmix.upmix = false #channelmix.lfe-cutoff = 0 } diff --git a/src/daemon/client.conf.in b/src/daemon/client.conf.in index 7709c9204..f4fed269d 100644 --- a/src/daemon/client.conf.in +++ b/src/daemon/client.conf.in @@ -1,6 +1,6 @@ # Client config file for PipeWire version @VERSION@ # # -# Copy and edit this file in @PIPEWIRE_CONFIG_DIR@ for systemwide changes +# Copy and edit this file in @PIPEWIRE_CONFIG_DIR@ for system-wide changes # or in ~/.config/pipewire for local changes. context.properties = { @@ -23,8 +23,8 @@ context.spa-libs = { } context.modules = [ - #{ name = - # [ args = { = ... } ] + #{ name = + # [ args = { = ... } ] # [ flags = [ [ ifexists ] [ nofail ] ] #} # @@ -34,27 +34,27 @@ context.modules = [ # # The native communication protocol. - { name = libpipewire-module-protocol-native } + { name = libpipewire-module-protocol-native } # Allows creating nodes that run in the context of the # client. Is used by all clients that want to provide # data to PipeWire. - { name = libpipewire-module-client-node } + { name = libpipewire-module-client-node } # Allows creating devices that run in the context of the # client. Is used by the session manager. - { name = libpipewire-module-client-device } + { name = libpipewire-module-client-device } # Makes a factory for wrapping nodes in an adapter with a # converter and resampler. - { name = libpipewire-module-adapter } + { name = libpipewire-module-adapter } # Allows applications to create metadata objects. It creates # a factory for Metadata objects. - { name = libpipewire-module-metadata } + { name = libpipewire-module-metadata } # Provides factories to make session manager objects. - { name = libpipewire-module-session-manager } + { name = libpipewire-module-session-manager } ] filter.properties = { @@ -62,11 +62,11 @@ filter.properties = { } stream.properties = { - #node.latency = 1024/48000 - #node.autoconnect = true - #resample.quality = 4 - #channelmix.normalize = false - #channelmix.mix-lfe = false - #channelmix.upmix = false + #node.latency = 1024/48000 + #node.autoconnect = true + #resample.quality = 4 + #channelmix.normalize = false + #channelmix.mix-lfe = false + #channelmix.upmix = false #channelmix.lfe-cutoff = 0 } diff --git a/src/daemon/filter-chain/demonic.conf b/src/daemon/filter-chain/demonic.conf index 5da0141f4..c90d73c73 100644 --- a/src/daemon/filter-chain/demonic.conf +++ b/src/daemon/filter-chain/demonic.conf @@ -20,7 +20,7 @@ context.spa-libs = { context.modules = [ # Uses RTKit to boost the data thread priority. - { name = libpipewire-module-rtkit + { name = libpipewire-module-rtkit args = { #nice.level = -11 #rt.prio = 88 @@ -31,62 +31,62 @@ context.modules = [ } # The native communication protocol. - { name = libpipewire-module-protocol-native } + { name = libpipewire-module-protocol-native } # Allows creating nodes that run in the context of the # client. Is used by all clients that want to provide # data to PipeWire. - { name = libpipewire-module-client-node } + { name = libpipewire-module-client-node } # Makes a factory for wrapping nodes in an adapter with a # converter and resampler. - { name = libpipewire-module-adapter } + { name = libpipewire-module-adapter } - { name = libpipewire-module-filter-chain + { name = libpipewire-module-filter-chain args = { - #audio.format = F32 - #audio.rate = 48000 - audio.channels = 2 - #audio.position = [ FL FR ] - node.name = "filter-chain-demonic" + #audio.format = F32 + #audio.rate = 48000 + audio.channels = 2 + #audio.position = [ FL FR ] + node.name = "filter-chain-demonic" node.description = "Demonic example" - media.name = "Demonic example" + media.name = "Demonic example" filter.graph = { nodes = [ { - name = rev - type = ladspa + name = rev + type = ladspa plugin = revdelay_1605 - label = revdelay + label = revdelay control = { "Delay Time (s)" = 2.0 } } { - name = pitch - type = ladspa + name = pitch + type = ladspa plugin = am_pitchshift_1433 - label = amPitchshift + label = amPitchshift control = { "Pitch shift" = 0.6 } } { - name = rev2 - type = ladspa + name = rev2 + type = ladspa plugin = g2reverb - label = G2reverb + label = G2reverb control = { "Reverb tail" = 0.5 - "Damping" = 0.9 + "Damping" = 0.9 } } ] links = [ - { output = "rev:Output" input = "pitch:Input" } + { output = "rev:Output" input = "pitch:Input" } { output = "pitch:Output" input = "rev2:In L" } ] - inputs = [ "rev:Input" ] + inputs = [ "rev:Input" ] outputs = [ "rev2:Out L" ] } capture.props = { diff --git a/src/daemon/filter-chain/sink-dolby-surround.conf b/src/daemon/filter-chain/sink-dolby-surround.conf index 918fd9334..d4d101c09 100644 --- a/src/daemon/filter-chain/sink-dolby-surround.conf +++ b/src/daemon/filter-chain/sink-dolby-surround.conf @@ -3,7 +3,7 @@ # start with pipewire -c filter-chain/sink-dolby-surround.conf # context.properties = { - log.level = 0 + log.level = 0 } context.spa-libs = { @@ -12,7 +12,7 @@ context.spa-libs = { } context.modules = [ - { name = libpipewire-module-rtkit + { name = libpipewire-module-rtkit args = { #nice.level = -11 #rt.prio = 88 @@ -21,43 +21,43 @@ context.modules = [ } flags = [ ifexists nofail ] } - { name = libpipewire-module-protocol-native } - { name = libpipewire-module-client-node } - { name = libpipewire-module-adapter } + { name = libpipewire-module-protocol-native } + { name = libpipewire-module-client-node } + { name = libpipewire-module-adapter } - { name = libpipewire-module-filter-chain + { name = libpipewire-module-filter-chain args = { - node.name = "effect_output.dolby_surround" + node.name = "effect_output.dolby_surround" node.description = "Dolby Surround Sink" - media.name = "Dolby Surround Sink" + media.name = "Dolby Surround Sink" filter.graph = { nodes = [ { - type = builtin - name = mixer + type = builtin + name = mixer label = mixer control = { "Gain 1" = 0.5 "Gain 2" = 0.5 } } { - type = ladspa - name = enc + type = ladspa + name = enc plugin = surround_encoder_1401 - label = surroundEncoder + label = surroundEncoder } ] links = [ { output = "mixer:Out" input = "enc:S" } ] - inputs = [ "enc:L" "enc:R" "enc:C" null "mixer:In 1" "mixer:In 2" ] + inputs = [ "enc:L" "enc:R" "enc:C" null "mixer:In 1" "mixer:In 2" ] outputs = [ "enc:Lt" "enc:Rt" ] } capture.props = { - media.class = Audio/Sink + media.class = Audio/Sink audio.channels = 6 audio.position = [ FL FR FC LFE SL SR ] } playback.props = { - node.passive = true + node.passive = true audio.channels = 2 audio.position = [ FL FR ] } diff --git a/src/daemon/filter-chain/sink-eq6.conf b/src/daemon/filter-chain/sink-eq6.conf index 6e6483d7a..609332e85 100644 --- a/src/daemon/filter-chain/sink-eq6.conf +++ b/src/daemon/filter-chain/sink-eq6.conf @@ -3,7 +3,7 @@ # start with pipewire -c filter-chain/sink-eq6.conf # context.properties = { - log.level = 0 + log.level = 0 } context.spa-libs = { @@ -12,7 +12,7 @@ context.spa-libs = { } context.modules = [ - { name = libpipewire-module-rtkit + { name = libpipewire-module-rtkit args = { #nice.level = -11 #rt.prio = 88 @@ -21,50 +21,50 @@ context.modules = [ } flags = [ ifexists nofail ] } - { name = libpipewire-module-protocol-native } - { name = libpipewire-module-client-node } - { name = libpipewire-module-adapter } + { name = libpipewire-module-protocol-native } + { name = libpipewire-module-client-node } + { name = libpipewire-module-adapter } - { name = libpipewire-module-filter-chain + { name = libpipewire-module-filter-chain args = { - node.name = "effect_output.eq6" - node.description = "Equalizer Sink" - media.name = "Equalizer Sink" + node.name = "effect_output.eq6" + node.description = "Equalizer Sink" + media.name = "Equalizer Sink" filter.graph = { nodes = [ { - type = builtin - name = eq_band_1 + type = builtin + name = eq_band_1 label = bq_lowshelf control = { "Freq" = 100.0 "Q" = 1.0 "Gain" = 0.0 } } { - type = builtin - name = eq_band_2 + type = builtin + name = eq_band_2 label = bq_peaking control = { "Freq" = 100.0 "Q" = 1.0 "Gain" = 0.0 } } { - type = builtin - name = eq_band_3 + type = builtin + name = eq_band_3 label = bq_peaking control = { "Freq" = 500.0 "Q" = 1.0 "Gain" = 0.0 } } { - type = builtin - name = eq_band_4 + type = builtin + name = eq_band_4 label = bq_peaking control = { "Freq" = 2000.0 "Q" = 1.0 "Gain" = 0.0 } } { - type = builtin - name = eq_band_5 + type = builtin + name = eq_band_5 label = bq_peaking control = { "Freq" = 5000.0 "Q" = 1.0 "Gain" = 0.0 } } { - type = builtin - name = eq_band_6 + type = builtin + name = eq_band_6 label = bq_highshelf control = { "Freq" = 5000.0 "Q" = 1.0 "Gain" = 0.0 } } diff --git a/src/daemon/filter-chain/sink-matrix-spatialiser.conf b/src/daemon/filter-chain/sink-matrix-spatialiser.conf index 2419d9e69..243c928a9 100644 --- a/src/daemon/filter-chain/sink-matrix-spatialiser.conf +++ b/src/daemon/filter-chain/sink-matrix-spatialiser.conf @@ -4,16 +4,16 @@ # ( Jean-Philippe Guillemin ) context.properties = { - log.level = 0 + log.level = 0 } context.spa-libs = { audio.convert.* = audioconvert/libspa-audioconvert - support.* = support/libspa-support + support.* = support/libspa-support } context.modules = [ - { name = libpipewire-module-rtkit + { name = libpipewire-module-rtkit args = { #nice.level = -11 #rt.prio = 88 @@ -22,38 +22,38 @@ context.modules = [ } flags = [ ifexists nofail ] } - { name = libpipewire-module-protocol-native } - { name = libpipewire-module-client-node } - { name = libpipewire-module-adapter } + { name = libpipewire-module-protocol-native } + { name = libpipewire-module-client-node } + { name = libpipewire-module-adapter } - { name = libpipewire-module-filter-chain + { name = libpipewire-module-filter-chain args = { - node.name = "effect_output.matrix_spatialiser" + node.name = "effect_output.matrix_spatialiser" node.description = "Matrix Spatialiser" - media.name = "Matrix Spatialiser" + media.name = "Matrix Spatialiser" filter.graph = { nodes = [ { - type = ladspa - name = matrix + type = ladspa + name = matrix plugin = matrix_spatialiser_1422 - label = matrixSpatialiser + label = matrixSpatialiser control = { "Width" = 80 } } ] - inputs = [ "matrix:Input L" "matrix:Input R" ] + inputs = [ "matrix:Input L" "matrix:Input R" ] outputs = [ "matrix:Output L" "matrix:Output R" ] } capture.props = { - media.class = Audio/Sink + media.class = Audio/Sink audio.channels = 2 audio.position = [ FL FR ] } playback.props = { - # media.class = Audio/Source - # node.passive = true + #media.class = Audio/Source + #node.passive = true audio.channels = 2 audio.position = [ FL FR ] } diff --git a/src/daemon/filter-chain/sink-virtual-surround-5.1-kemar.conf b/src/daemon/filter-chain/sink-virtual-surround-5.1-kemar.conf index 5ff7c4701..b53d27979 100644 --- a/src/daemon/filter-chain/sink-virtual-surround-5.1-kemar.conf +++ b/src/daemon/filter-chain/sink-virtual-surround-5.1-kemar.conf @@ -3,7 +3,7 @@ # start with pipewire -c filter-chain/sink-virtual-surround-5.1-kemar.conf # context.properties = { - log.level = 0 + log.level = 0 } context.spa-libs = { @@ -12,7 +12,7 @@ context.spa-libs = { } context.modules = [ - { name = libpipewire-module-rtkit + { name = libpipewire-module-rtkit args = { #nice.level = -11 #rt.prio = 88 @@ -21,139 +21,139 @@ context.modules = [ } flags = [ ifexists nofail ] } - { name = libpipewire-module-protocol-native } - { name = libpipewire-module-client-node } - { name = libpipewire-module-adapter } + { name = libpipewire-module-protocol-native } + { name = libpipewire-module-client-node } + { name = libpipewire-module-adapter } - { name = libpipewire-module-filter-chain + { name = libpipewire-module-filter-chain args = { - node.name = "effect_output.virtual-surround-5.1-kemar" + node.name = "effect_output.virtual-surround-5.1-kemar" node.description = "Virtual Surround Sink" - media.name = "Virtual Surround Sink" + media.name = "Virtual Surround Sink" filter.graph = { nodes = [ { - type = builtin + type = builtin label = convolver - name = convFL_L - config = { - filename = "hrir_kemar/hrir-kemar.wav" - channel = 0 - } + name = convFL_L + config = { + filename = "hrir_kemar/hrir-kemar.wav" + channel = 0 + } } { - type = builtin + type = builtin label = convolver - name = convFL_R - config = { - filename = "hrir_kemar/hrir-kemar.wav" - channel = 1 - } + name = convFL_R + config = { + filename = "hrir_kemar/hrir-kemar.wav" + channel = 1 + } } { - type = builtin + type = builtin label = convolver - name = convFR_L - config = { - filename = "hrir_kemar/hrir-kemar.wav" - channel = 1 - } - } - { - type = builtin - label = convolver - name = convFR_R - config = { - filename = "hrir_kemar/hrir-kemar.wav" - channel = 0 - } - } - { - type = builtin - label = convolver - name = convFC - config = { - filename = "hrir_kemar/hrir-kemar.wav" - channel = 2 - } + name = convFR_L + config = { + filename = "hrir_kemar/hrir-kemar.wav" + channel = 1 + } } { - type = builtin + type = builtin label = convolver - name = convLFE - config = { - filename = "hrir_kemar/hrir-kemar.wav" - channel = 3 - } + name = convFR_R + config = { + filename = "hrir_kemar/hrir-kemar.wav" + channel = 0 + } } { - type = builtin + type = builtin label = convolver - name = convSL_L - config = { - filename = "hrir_kemar/hrir-kemar.wav" - channel = 4 - } + name = convFC + config = { + filename = "hrir_kemar/hrir-kemar.wav" + channel = 2 + } } { - type = builtin + type = builtin label = convolver - name = convSL_R - config = { - filename = "hrir_kemar/hrir-kemar.wav" - channel = 5 - } + name = convLFE + config = { + filename = "hrir_kemar/hrir-kemar.wav" + channel = 3 + } } { - type = builtin + type = builtin label = convolver - name = convSR_L - config = { - filename = "hrir_kemar/hrir-kemar.wav" - channel = 5 - } + name = convSL_L + config = { + filename = "hrir_kemar/hrir-kemar.wav" + channel = 4 + } } { - type = builtin + type = builtin label = convolver - name = convSR_R - config = { - filename = "hrir_kemar/hrir-kemar.wav" - channel = 4 - } + name = convSL_R + config = { + filename = "hrir_kemar/hrir-kemar.wav" + channel = 5 + } } { - type = builtin + type = builtin + label = convolver + name = convSR_L + config = { + filename = "hrir_kemar/hrir-kemar.wav" + channel = 5 + } + } + { + type = builtin + label = convolver + name = convSR_R + config = { + filename = "hrir_kemar/hrir-kemar.wav" + channel = 4 + } + } + { + type = builtin label = mixer - name = mixL + name = mixL } { - type = builtin + type = builtin label = mixer - name = mixR + name = mixR } { - type = builtin + type = builtin label = copy - name = copyFL + name = copyFL } { - type = builtin + type = builtin label = copy - name = copyFR + name = copyFR } { - type = builtin + type = builtin label = copy - name = copySL + name = copySL } { - type = builtin + type = builtin label = copy - name = copySR + name = copySR } ] - links = [ + links = [ { output = "copyFL:Out" input = "convFL_L:In" } { output = "copyFL:Out" input = "convFL_R:In" } { output = "copyFR:Out" input = "convFR_R:In" } @@ -178,17 +178,17 @@ context.modules = [ { output = "convSL_R:Out" input = "mixR:In 5" } { output = "convSR_R:Out" input = "mixR:In 6" } ] - inputs = [ "copyFL:In" "copyFR:In" "convFC:In" "convLFE:In" "copySL:In" "copySR:In" ] + inputs = [ "copyFL:In" "copyFR:In" "convFC:In" "convLFE:In" "copySL:In" "copySR:In" ] outputs = [ "mixL:Out" "mixR:Out" ] } capture.props = { - media.class = Audio/Sink + media.class = Audio/Sink audio.channels = 6 audio.position = [ FL FR FC LFE SL SR] } playback.props = { - node.passive = true + node.passive = true audio.channels = 2 audio.position = [ FL FR ] } diff --git a/src/daemon/filter-chain/sink-virtual-surround-7.1-hesuvi.conf b/src/daemon/filter-chain/sink-virtual-surround-7.1-hesuvi.conf index 840737562..b13a2f325 100644 --- a/src/daemon/filter-chain/sink-virtual-surround-7.1-hesuvi.conf +++ b/src/daemon/filter-chain/sink-virtual-surround-7.1-hesuvi.conf @@ -3,7 +3,7 @@ # start with pipewire -c filter-chain/sink-virtual-surround-7.1-hesuvi.conf # context.properties = { - log.level = 0 + log.level = 0 } context.spa-libs = { @@ -12,7 +12,7 @@ context.spa-libs = { } context.modules = [ - { name = libpipewire-module-rtkit + { name = libpipewire-module-rtkit args = { #nice.level = -11 #rt.prio = 88 @@ -21,15 +21,15 @@ context.modules = [ } flags = [ ifexists nofail ] } - { name = libpipewire-module-protocol-native } - { name = libpipewire-module-client-node } - { name = libpipewire-module-adapter } + { name = libpipewire-module-protocol-native } + { name = libpipewire-module-client-node } + { name = libpipewire-module-adapter } - { name = libpipewire-module-filter-chain + { name = libpipewire-module-filter-chain args = { - node.name = "effect_output.virtual-surround-7.1-hesuvi" + node.name = "effect_output.virtual-surround-7.1-hesuvi" node.description = "Virtual Surround Sink" - media.name = "Virtual Surround Sink" + media.name = "Virtual Surround Sink" filter.graph = { nodes = [ # duplicate inputs @@ -103,16 +103,16 @@ context.modules = [ { output = "convLFE_R:Out" input="mixR:In 8" } { output = "convLFE_L:Out" input="mixL:In 8" } ] - inputs = [ "copyFL:In" "copyFR:In" "copyFC:In" "copyLFE:In" "copyRL:In" "copyRR:In", "copySL:In", "copySR:In" ] + inputs = [ "copyFL:In" "copyFR:In" "copyFC:In" "copyLFE:In" "copyRL:In" "copyRR:In", "copySL:In", "copySR:In" ] outputs = [ "mixL:Out" "mixR:Out" ] } capture.props = { - media.class = Audio/Sink + media.class = Audio/Sink audio.channels = 8 audio.position = [ FL FR FC LFE RL RR SL SR ] } playback.props = { - node.passive = true + node.passive = true audio.channels = 2 audio.position = [ FL FR ] } diff --git a/src/daemon/filter-chain/source-rnnoise.conf b/src/daemon/filter-chain/source-rnnoise.conf index 110ead171..c5531d619 100644 --- a/src/daemon/filter-chain/source-rnnoise.conf +++ b/src/daemon/filter-chain/source-rnnoise.conf @@ -3,7 +3,7 @@ # start with pipewire -c filter-chain/source-rnnoise.conf # context.properties = { - log.level = 0 + log.level = 0 } context.spa-libs = { @@ -12,7 +12,7 @@ context.spa-libs = { } context.modules = [ - { name = libpipewire-module-rtkit + { name = libpipewire-module-rtkit args = { #nice.level = -11 #rt.prio = 88 @@ -21,22 +21,22 @@ context.modules = [ } flags = [ ifexists nofail ] } - { name = libpipewire-module-protocol-native } - { name = libpipewire-module-client-node } - { name = libpipewire-module-adapter } + { name = libpipewire-module-protocol-native } + { name = libpipewire-module-client-node } + { name = libpipewire-module-adapter } - { name = libpipewire-module-filter-chain + { name = libpipewire-module-filter-chain args = { - node.name = "effect_input.rnnoise" + node.name = "effect_input.rnnoise" node.description = "Noise Canceling source" - media.name = "Noise Canceling source" + media.name = "Noise Canceling source" filter.graph = { nodes = [ { - type = ladspa - name = rnnoise + type = ladspa + name = rnnoise plugin = librnnoise_ladspa - label = noise_suppressor_stereo + label = noise_suppressor_stereo control = { "VAD Threshold (%)" 50.0 } diff --git a/src/daemon/jack.conf.in b/src/daemon/jack.conf.in index 6b4313d00..72925eccb 100644 --- a/src/daemon/jack.conf.in +++ b/src/daemon/jack.conf.in @@ -1,6 +1,6 @@ # JACK client config file for PipeWire version @VERSION@ # # -# Copy and edit this file in @PIPEWIRE_CONFIG_DIR@ for systemwide changes +# Copy and edit this file in @PIPEWIRE_CONFIG_DIR@ for system-wide changes # or in ~/.config/pipewire for local changes. context.properties = { @@ -22,8 +22,8 @@ context.spa-libs = { } context.modules = [ - #{ name = - # [ args = { = ... } ] + #{ name = + # [ args = { = ... } ] # [ flags = [ [ ifexists ] [ nofail ] ] #} # @@ -33,7 +33,7 @@ context.modules = [ # # # Boost the data thread priority. - { name = libpipewire-module-rt + { name = libpipewire-module-rt args = { #nice.level = -11 #rt.prio = 88 @@ -44,33 +44,33 @@ context.modules = [ } # The native communication protocol. - { name = libpipewire-module-protocol-native } + { name = libpipewire-module-protocol-native } # Allows creating nodes that run in the context of the # client. Is used by all clients that want to provide # data to PipeWire. - { name = libpipewire-module-client-node } + { name = libpipewire-module-client-node } # Allows applications to create metadata objects. It creates # a factory for Metadata objects. - { name = libpipewire-module-metadata } + { name = libpipewire-module-metadata } ] # global properties for all jack clients jack.properties = { - #node.latency = 1024/48000 - #node.lock-quantum = false - #jack.merge-monitor = false - #jack.short-name = false - #jack.filter-name = false + #node.latency = 1024/48000 + #node.lock-quantum = false + #jack.merge-monitor = false + #jack.short-name = false + #jack.filter-name = false # # allow: Don't restrict self connect requests # fail-external: Fail self connect requests to external ports only # ignore-external: Ignore self connect requests to external ports only # fail-all: Fail all self connect requests # ignore-all: Ignore all self connect requests - #jack.self-connect-mode = allow - #jack.locked-process = true + #jack.self-connect-mode = allow + #jack.locked-process = true } # client specific properties @@ -79,9 +79,9 @@ jack.rules = [ matches = [ { # all keys must match the value. ~ starts regex. - #client.name = "Carla" + #client.name = "Carla" #application.process.binary = "jack_simple_client" - #application.name = "~jack_simple_client.*" + #application.name = "~jack_simple_client.*" } ] actions = { diff --git a/src/daemon/media-session.d/alsa-monitor.conf b/src/daemon/media-session.d/alsa-monitor.conf index 954135f12..1fd812b88 100644 --- a/src/daemon/media-session.d/alsa-monitor.conf +++ b/src/daemon/media-session.d/alsa-monitor.conf @@ -1,7 +1,7 @@ # ALSA monitor config file for PipeWire version @VERSION@ # # # Copy and edit this file in @PIPEWIRE_CONFIG_DIR@/media-session.d/ -# for systemwide changes or in +# for system-wide changes or in # ~/.config/pipewire/media-session.d/ for local changes. properties = { @@ -95,23 +95,23 @@ rules = [ ] actions = { update-props = { - #node.nick = "My Node" - #node.nick = null - #priority.driver = 100 - #priority.session = 100 - node.pause-on-idle = false - #resample.quality = 4 - #channelmix.normalize = false - #channelmix.mix-lfe = false - #audio.channels = 2 - #audio.format = "S16LE" - #audio.rate = 44100 - #audio.position = "FL,FR" - #session.suspend-timeout-seconds = 5 # 0 disables suspend - #monitor.channel-volumes = false + #node.nick = "My Node" + #node.nick = null + #priority.driver = 100 + #priority.session = 100 + node.pause-on-idle = false + #resample.quality = 4 + #channelmix.normalize = false + #channelmix.mix-lfe = false + #audio.channels = 2 + #audio.format = "S16LE" + #audio.rate = 44100 + #audio.position = "FL,FR" + #session.suspend-timeout-seconds = 5 # 0 disables suspend + #monitor.channel-volumes = false - #latency.internal.rate = 0 # internal latency in samples - #latency.internal.ns = 0 # internal latency in nanoseconds + #latency.internal.rate = 0 # internal latency in samples + #latency.internal.ns = 0 # internal latency in nanoseconds #api.alsa.period-size = 1024 #api.alsa.headroom = 0 diff --git a/src/daemon/media-session.d/bluez-monitor.conf b/src/daemon/media-session.d/bluez-monitor.conf index dde03c4d8..4b193adf2 100644 --- a/src/daemon/media-session.d/bluez-monitor.conf +++ b/src/daemon/media-session.d/bluez-monitor.conf @@ -1,7 +1,7 @@ # Bluez monitor config file for PipeWire version @VERSION@ # # # Copy and edit this file in @PIPEWIRE_CONFIG_DIR@/media-session.d/ -# for systemwide changes or in +# for system-wide changes or in # ~/.config/pipewire/media-session.d/ for local changes. properties = { @@ -9,8 +9,8 @@ properties = { # by default based on the hardware database. They can also be # forced on/off for all devices by the following options: - #bluez5.enable-sbc-xq = true - #bluez5.enable-msbc = true + #bluez5.enable-sbc-xq = true + #bluez5.enable-msbc = true #bluez5.enable-hw-volume = true # See bluez-hardware.conf for the hardware database. @@ -65,7 +65,7 @@ rules = [ # hsp_ag # a2dp_source #] - bluez5.auto-connect = [ hfp_hf hsp_hs a2dp_sink ] + bluez5.auto-connect = [ hfp_hf hsp_hs a2dp_sink ] # Hardware volume control (default: all) #bluez5.hw-volume = [ @@ -82,7 +82,7 @@ rules = [ # hq (High Quality, 990/909kbps) # sq (Standard Quality, 660/606kbps) # mq (Mobile use Quality, 330/303kbps) - #bluez5.a2dp.ldac.quality = auto + #bluez5.a2dp.ldac.quality = auto # AAC variable bitrate mode # Available values: 0 (cbr, default), 1-5 (quality level) @@ -113,16 +113,16 @@ rules = [ ] actions = { update-props = { - #node.nick = "My Node" - #node.nick = null - #priority.driver = 100 - #priority.session = 100 - node.pause-on-idle = false - #resample.quality = 4 - #channelmix.normalize = false - #channelmix.mix-lfe = false - #session.suspend-timeout-seconds = 5 # 0 disables suspend - #monitor.channel-volumes = false + #node.nick = "My Node" + #node.nick = null + #priority.driver = 100 + #priority.session = 100 + node.pause-on-idle = false + #resample.quality = 4 + #channelmix.normalize = false + #channelmix.mix-lfe = false + #session.suspend-timeout-seconds = 5 # 0 disables suspend + #monitor.channel-volumes = false # A2DP source role, "input" or "playback" # Defaults to "playback", playing stream to speakers diff --git a/src/daemon/media-session.d/media-session.conf b/src/daemon/media-session.d/media-session.conf index a32a23d73..0693a8d8b 100644 --- a/src/daemon/media-session.d/media-session.conf +++ b/src/daemon/media-session.d/media-session.conf @@ -1,16 +1,16 @@ # Media session config file for PipeWire version @VERSION@ # # # Copy and edit this file in @PIPEWIRE_CONFIG_DIR@/media-session.d/ -# for systemwide changes or in +# for system-wide changes or in # ~/.config/pipewire/media-session.d/ for local changes. context.properties = { # Properties to configure the session and some # modules. - #mem.mlock-all = false - #support.dbus = true - #log.level = 2 - #alsa.seq.name = Midi-Bridge + #mem.mlock-all = false + #support.dbus = true + #log.level = 2 + #alsa.seq.name = Midi-Bridge #default-profile.restore-bluetooth = false } @@ -23,8 +23,8 @@ context.spa-libs = { } context.modules = [ - #{ name = - # [ args = { = ... } ] + #{ name = + # [ args = { = ... } ] # [ flags = [ [ ifexists ] [ nofail ] ] #} # @@ -33,7 +33,7 @@ context.modules = [ # If nofail is given, module initialization failures are ignored. # # Uses RTKit to boost the data thread priority. - { name = libpipewire-module-rtkit + { name = libpipewire-module-rtkit args = { #nice.level = -11 #rt.prio = 88 @@ -44,27 +44,27 @@ context.modules = [ } # The native communication protocol. - { name = libpipewire-module-protocol-native } + { name = libpipewire-module-protocol-native } # Allows creating nodes that run in the context of the # client. Is used by all clients that want to provide # data to PipeWire. - { name = libpipewire-module-client-node } + { name = libpipewire-module-client-node } # Allows creating devices that run in the context of the # client. Is used by the session manager. - { name = libpipewire-module-client-device } + { name = libpipewire-module-client-device } # Makes a factory for wrapping nodes in an adapter with a # converter and resampler. - { name = libpipewire-module-adapter } + { name = libpipewire-module-adapter } # Allows applications to create metadata objects. It creates # a factory for Metadata objects. - { name = libpipewire-module-metadata } + { name = libpipewire-module-metadata } # Provides factories to make session manager objects. - { name = libpipewire-module-session-manager } + { name = libpipewire-module-session-manager } ] session.modules = { diff --git a/src/daemon/media-session.d/v4l2-monitor.conf b/src/daemon/media-session.d/v4l2-monitor.conf index 182473884..e9e28b3cb 100644 --- a/src/daemon/media-session.d/v4l2-monitor.conf +++ b/src/daemon/media-session.d/v4l2-monitor.conf @@ -1,7 +1,7 @@ # V4L2 monitor config file for PipeWire version @VERSION@ # # # Copy and edit this file in @PIPEWIRE_CONFIG_DIR@/media-session.d/ -# for systemwide changes or in +# for system-wide changes or in # ~/.config/pipewire/media-session.d/ for local changes. properties = { } @@ -38,12 +38,12 @@ rules = [ ] actions = { update-props = { - #node.nick = "My Node" - #node.nick = null - #priority.driver = 100 - #priority.session = 100 - node.pause-on-idle = false - #session.suspend-timeout-seconds = 5 # 0 disables suspend + #node.nick = "My Node" + #node.nick = null + #priority.driver = 100 + #priority.session = 100 + node.pause-on-idle = false + #session.suspend-timeout-seconds = 5 # 0 disables suspend } } } diff --git a/src/daemon/pipewire-pulse.conf.in b/src/daemon/pipewire-pulse.conf.in index 1c9ca623a..20a542c8b 100644 --- a/src/daemon/pipewire-pulse.conf.in +++ b/src/daemon/pipewire-pulse.conf.in @@ -1,6 +1,6 @@ # PulseAudio config file for PipeWire version @VERSION@ # # -# Copy and edit this file in @PIPEWIRE_CONFIG_DIR@ for systemwide changes +# Copy and edit this file in @PIPEWIRE_CONFIG_DIR@ for system-wide changes # or in ~/.config/pipewire for local changes. context.properties = { @@ -17,7 +17,7 @@ context.spa-libs = { } context.modules = [ - { name = libpipewire-module-rtkit + { name = libpipewire-module-rtkit args = { #nice.level = -11 #rt.prio = 88 @@ -26,32 +26,32 @@ context.modules = [ } flags = [ ifexists nofail ] } - { name = libpipewire-module-protocol-native } - { name = libpipewire-module-client-node } - { name = libpipewire-module-adapter } - { name = libpipewire-module-metadata } + { name = libpipewire-module-protocol-native } + { name = libpipewire-module-client-node } + { name = libpipewire-module-adapter } + { name = libpipewire-module-metadata } - { name = libpipewire-module-protocol-pulse + { name = libpipewire-module-protocol-pulse args = { - # the addresses this server listens on + # the addresses this server listens on server.address = [ "unix:native" - # "unix:/tmp/something" # absolute paths may be used - # "tcp:4713" # IPv4 and IPv6 on all addresses - # "tcp:[::]:9999" # IPv6 on all addresses - # "tcp:127.0.0.1:8888" # IPv4 on a single address + #"unix:/tmp/something" # absolute paths may be used + #"tcp:4713" # IPv4 and IPv6 on all addresses + #"tcp:[::]:9999" # IPv6 on all addresses + #"tcp:127.0.0.1:8888" # IPv4 on a single address ] - #pulse.min.req = 256/48000 # 5ms - #pulse.default.req = 960/48000 # 20 milliseconds - #pulse.min.frag = 256/48000 # 5ms - #pulse.default.frag = 96000/48000 # 2 seconds - #pulse.default.tlength = 96000/48000 # 2 seconds - #pulse.min.quantum = 256/48000 # 5ms - #pulse.default.format = F32 - #pulse.default.position = [ FL FR ] + #pulse.min.req = 256/48000 # 5ms + #pulse.default.req = 960/48000 # 20 milliseconds + #pulse.min.frag = 256/48000 # 5ms + #pulse.default.frag = 96000/48000 # 2 seconds + #pulse.default.tlength = 96000/48000 # 2 seconds + #pulse.min.quantum = 256/48000 # 5ms + #pulse.default.format = F32 + #pulse.default.position = [ FL FR ] # These overrides are only applied when running in a vm. vm.overrides = { - pulse.min.quantum = 1024/48000 # 22ms + pulse.min.quantum = 1024/48000 # 22ms } } } @@ -59,16 +59,16 @@ context.modules = [ # Extra modules can be loaded here. Setup in default.pa can be moved here context.exec = [ - #{ path = "pactl" args = "module-switch-on-connect" } + #{ path = "pactl" args = "module-switch-on-connect" } #{ path = "/usr/bin/sh" args = "~/.config/pipewire/default.pw" } ] stream.properties = { - #node.latency = 1024/48000 - #node.autoconnect = true - #resample.quality = 4 - #channelmix.normalize = false - #channelmix.mix-lfe = false - #channelmix.upmix = false + #node.latency = 1024/48000 + #node.autoconnect = true + #resample.quality = 4 + #channelmix.normalize = false + #channelmix.mix-lfe = false + #channelmix.upmix = false #channelmix.lfe-cutoff = 0 } diff --git a/src/daemon/pipewire.conf.in b/src/daemon/pipewire.conf.in index 95632c250..648e13069 100644 --- a/src/daemon/pipewire.conf.in +++ b/src/daemon/pipewire.conf.in @@ -1,6 +1,6 @@ # Daemon config file for PipeWire version @VERSION@ # # -# Copy and edit this file in @PIPEWIRE_CONFIG_DIR@ for systemwide changes +# Copy and edit this file in @PIPEWIRE_CONFIG_DIR@ for system-wide changes # or in ~/.config/pipewire for local changes. context.properties = { @@ -16,8 +16,8 @@ context.properties = { #clock.power-of-two-quantum = true #log.level = 2 - core.daemon = true # listening for socket connections - core.name = pipewire-0 # core name and socket name + core.daemon = true # listening for socket connections + core.name = pipewire-0 # core name and socket name ## Properties for the DSP configuration. #default.clock.rate = 48000 @@ -32,7 +32,7 @@ context.properties = { # # These overrides are only applied when running in a vm. vm.overrides = { - default.clock.min-quantum = 1024 + default.clock.min-quantum = 1024 } } @@ -56,8 +56,8 @@ context.spa-libs = { } context.modules = [ - #{ name = - # [ args = { = ... } ] + #{ name = + # [ args = { = ... } ] # [ flags = [ [ ifexists ] [ nofail ] ] #} # @@ -67,7 +67,7 @@ context.modules = [ # # Uses RTKit to boost the data thread priority. - { name = libpipewire-module-rtkit + { name = libpipewire-module-rtkit args = { #nice.level = -11 #rt.prio = 88 @@ -78,7 +78,7 @@ context.modules = [ } # Set thread priorities without using RTKit. - #{ name = libpipewire-module-rt + #{ name = libpipewire-module-rt # args = { # nice.level = -11 # rt.prio = 88 @@ -89,44 +89,44 @@ context.modules = [ #} # The native communication protocol. - { name = libpipewire-module-protocol-native } + { name = libpipewire-module-protocol-native } # The profile module. Allows application to access profiler # and performance data. It provides an interface that is used # by pw-top and pw-profiler. - { name = libpipewire-module-profiler } + { name = libpipewire-module-profiler } # Allows applications to create metadata objects. It creates # a factory for Metadata objects. - { name = libpipewire-module-metadata } + { name = libpipewire-module-metadata } # Creates a factory for making devices that run in the # context of the PipeWire server. - { name = libpipewire-module-spa-device-factory } + { name = libpipewire-module-spa-device-factory } # Creates a factory for making nodes that run in the # context of the PipeWire server. - { name = libpipewire-module-spa-node-factory } + { name = libpipewire-module-spa-node-factory } # Allows creating nodes that run in the context of the # client. Is used by all clients that want to provide # data to PipeWire. - { name = libpipewire-module-client-node } + { name = libpipewire-module-client-node } # Allows creating devices that run in the context of the # client. Is used by the session manager. - { name = libpipewire-module-client-device } + { name = libpipewire-module-client-device } # The portal module monitors the PID of the portal process # and tags connections with the same PID as portal # connections. - { name = libpipewire-module-portal + { name = libpipewire-module-portal flags = [ ifexists nofail ] } # The access module can perform access checks and block # new clients. - { name = libpipewire-module-access + { name = libpipewire-module-access args = { # access.allowed to list an array of paths of allowed # apps. @@ -148,17 +148,17 @@ context.modules = [ # Makes a factory for wrapping nodes in an adapter with a # converter and resampler. - { name = libpipewire-module-adapter } + { name = libpipewire-module-adapter } # Makes a factory for creating links between ports. - { name = libpipewire-module-link-factory } + { name = libpipewire-module-link-factory } # Provides factories to make session manager objects. - { name = libpipewire-module-session-manager } + { name = libpipewire-module-session-manager } ] context.objects = [ - #{ factory = + #{ factory = # [ args = { = ... } ] # [ flags = [ [ nofail ] ] #} @@ -166,7 +166,7 @@ context.objects = [ # Creates an object from a PipeWire factory with the given parameters. # If nofail is given, errors are ignored (and no object is created). # - #{ factory = spa-node-factory args = { factory.name = videotestsrc node.name = videotestsrc Spa:Pod:Object:Param:Props:patternType = 1 } } + #{ factory = spa-node-factory args = { factory.name = videotestsrc node.name = videotestsrc Spa:Pod:Object:Param:Props:patternType = 1 } } #{ factory = spa-device-factory args = { factory.name = api.jack.device foo=bar } flags = [ nofail ] } #{ factory = spa-device-factory args = { factory.name = api.alsa.enum.udev } } #{ factory = spa-node-factory args = { factory.name = api.alsa.seq.bridge node.name = Internal-MIDI-Bridge } } @@ -175,7 +175,7 @@ context.objects = [ # A default dummy driver. This handles nodes marked with the "node.always-driver" # property when no other driver is currently active. JACK clients need this. - { factory = spa-node-factory + { factory = spa-node-factory args = { factory.name = support.node.driver node.name = Dummy-Driver @@ -183,7 +183,7 @@ context.objects = [ priority.driver = 20000 } } - { factory = spa-node-factory + { factory = spa-node-factory args = { factory.name = support.node.driver node.name = Freewheel-Driver @@ -194,7 +194,7 @@ context.objects = [ } # This creates a new Source node. It will have input ports # that you can link, to provide audio for this source. - #{ factory = adapter + #{ factory = adapter # args = { # factory.name = support.null-audio-sink # node.name = "my-mic" @@ -207,21 +207,21 @@ context.objects = [ # This creates a single PCM source device for the given # alsa device path hw:0. You can change source to sink # to make a sink in the same way. - #{ factory = adapter + #{ factory = adapter # args = { - # factory.name = api.alsa.pcm.source - # node.name = "alsa-source" - # node.description = "PCM Source" - # media.class = "Audio/Source" - # api.alsa.path = "hw:0" - # #api.alsa.period-size = 1024 - # #api.alsa.headroom = 0 - # #api.alsa.disable-mmap = false - # #api.alsa.disable-batch = false - # #audio.format = "S16LE" - # #audio.rate = 48000 - # #audio.channels = 2 - # #audio.position = "FL,FR" + # factory.name = api.alsa.pcm.source + # node.name = "alsa-source" + # node.description = "PCM Source" + # media.class = "Audio/Source" + # api.alsa.path = "hw:0" + # api.alsa.period-size = 1024 + # api.alsa.headroom = 0 + # api.alsa.disable-mmap = false + # api.alsa.disable-batch = false + # audio.format = "S16LE" + # audio.rate = 48000 + # audio.channels = 2 + # audio.position = "FL,FR" # } #} ] @@ -235,7 +235,7 @@ context.exec = [ # but it is better to start it as a systemd service. # Run the session manager with -h for options. # - @sm_comment@{ path = "@session_manager_path@" args = "@session_manager_args@" } + @sm_comment@{ path = "@session_manager_path@" args = "@session_manager_args@" } # # You can optionally start the pulseaudio-server here as well # but it is better to start it as a systemd service.