wireplumber/tests/wp/settings.conf
Julian Bouzas 2223cd47d4 settings: use WpSpaJson to parse the settings
We need to use WpSpaJson to parse the values in WpSettings. This is because the
wireplumber configuration is written in JSON, so WpSettings should only hold
JSON values. To fix this, 2 API changes have been done:

- wp_settings_get_int() only accepts gint values, instead of gint64 values. This
is because the WpSpaJson API only parses int values, like spa_json_parse_int().

- wp_settings_get_string() now returns a newly allocated string, this is because
the string needs to be decoded in case it has quotes.
2023-04-17 07:47:09 -04:00

169 lines
4 KiB
Text

# Client config file for PipeWire version "0.3.48" #
#
# Copy and edit this file in /usr/local/etc/pipewire for system-wide changes
# or in ~/.config/pipewire for local changes.
#
# It is also possible to place a file with an updated section in
# /usr/local/etc/pipewire/client.conf.d/ for system-wide changes or in
# ~/.config/pipewire/client.conf.d/ for local changes.
#
context.properties = {
## Configure properties in the system.
#mem.warn-mlock = false
#mem.allow-mlock = true
#mem.mlock-all = false
log.level = 0
#default.clock.quantum-limit = 8192
}
context.spa-libs = {
#<factory-name regex> = <library-name>
#
# Used to find spa factory names. It maps an spa factory name
# regular expression to a library name that should contain
# that factory.
#
audio.convert.* = audioconvert/libspa-audioconvert
support.* = support/libspa-support
}
context.modules = [
#{ name = <module-name>
# [ args = { <key> = <value> ... } ]
# [ flags = [ [ ifexists ] [ nofail ] ]
#}
#
# Loads a module with the given parameters.
# If ifexists is given, the module is ignored when it is not found.
# If nofail is given, module initialization failures are ignored.
#
# The native communication protocol.
{ 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 }
# Allows creating devices that run in the context of the
# client. Is used by the session manager.
{ name = libpipewire-module-client-device }
# Makes a factory for wrapping nodes in an adapter with a
# converter and resampler.
{ name = libpipewire-module-adapter }
# Allows applications to create metadata objects. It creates
# a factory for Metadata objects.
{ name = libpipewire-module-metadata }
# Provides factories to make session manager objects.
{ name = libpipewire-module-session-manager }
]
wireplumber.settings = {
test-setting1 = false
test-setting2 = true
test-setting3-int = -20
test-setting4-string = "blahblah"
test-setting5-string-with-quotes = "a string with \"quotes\""
rule_one = [
{
matches = [
{
test-string1 = "copper"
test-int1 = 100
}
{
test-string2 = "juggler"
}
]
actions = {
update-props = {
prop-string1 = "metal"
prop-int1 = 123
}
}
}
{
matches = [
{
test-string4 = "ferrous"
test-int2 = 100
test-string5 = "blend"
}
{
test-string6 = "alum"
test-int3 = 24
}
]
actions = {
update-props = {
prop-string2 = "standard"
prop-int2 = 26
prop-bool1 = true
}
}
}
]
rule_two = [
{
matches = [
{
test-string6 = "ethylene"
test-int2 = 625
test-string5 = "blend"
}
]
actions = {
update-props = {
prop-string2 = "spray"
prop-int2 = 111
}
}
}
]
test-setting-float1 = 3.14
test-setting-float2 = 0.4
rule_three = [
{
matches = [
{
test.string6 = "~metal*"
test.table.entry = true
}
{
test-string6-wildcard = "~*"
}
]
actions = {
update-props = {
prop.electrical.conductivity = true
prop.state = "solid"
prop.example = "ferrous"
}
}
}
{
matches = [
{
test.string6 = "~gas*"
test.table.entry = "maybe"
}
]
actions = {
update-props = {
prop.electrical.conductivity = false
prop.example = "neon"
prop.state = "gas"
}
}
}
]
test-setting-json = [1, 2, 3]
test-setting-json2 = ["test1", "test 2", "test three", "test-four"]
}