wireplumber.conf: provide human-readable names for settings

This commit is contained in:
Pauli Virtanen 2025-03-30 23:52:59 +03:00
parent 3b1acc5474
commit 8d26e9f73c
3 changed files with 127 additions and 1 deletions

View file

@ -8,103 +8,208 @@ msgstr ""
msgid "Always show microphone for Bluetooth headsets, and switch to headset mode when recording" msgid "Always show microphone for Bluetooth headsets, and switch to headset mode when recording"
msgstr "" msgstr ""
#. /wireplumber.settings.schema/bluetooth.autoswitch-to-headset-profile/name
#: wireplumber.conf
msgid "Auto-switch to headset profile"
msgstr ""
#. /wireplumber.settings.schema/bluetooth.use-persistent-storage/description #. /wireplumber.settings.schema/bluetooth.use-persistent-storage/description
#: wireplumber.conf #: wireplumber.conf
msgid "Remember and restore Bluetooth headset mode status" msgid "Remember and restore Bluetooth headset mode status"
msgstr "" msgstr ""
#. /wireplumber.settings.schema/bluetooth.use-persistent-storage/name
#: wireplumber.conf
msgid "Persistent storage"
msgstr ""
#. /wireplumber.settings.schema/device.restore-profile/description #. /wireplumber.settings.schema/device.restore-profile/description
#: wireplumber.conf #: wireplumber.conf
msgid "Remember and restore device profiles" msgid "Remember and restore device profiles"
msgstr "" msgstr ""
#. /wireplumber.settings.schema/device.restore-profile/name
#: wireplumber.conf
msgid "Restore profile"
msgstr ""
#. /wireplumber.settings.schema/device.restore-routes/description #. /wireplumber.settings.schema/device.restore-routes/description
#: wireplumber.conf #: wireplumber.conf
msgid "Remember and restore device routes" msgid "Remember and restore device routes"
msgstr "" msgstr ""
#. /wireplumber.settings.schema/device.restore-routes/name
#: wireplumber.conf
msgid "Restore routes"
msgstr ""
#. /wireplumber.settings.schema/device.routes.default-sink-volume/description #. /wireplumber.settings.schema/device.routes.default-sink-volume/description
#: wireplumber.conf #: wireplumber.conf
msgid "The default volume for audio sinks" msgid "The default volume for audio sinks"
msgstr "" msgstr ""
#. /wireplumber.settings.schema/device.routes.default-sink-volume/name
#: wireplumber.conf
msgid "Default sink volume"
msgstr ""
#. /wireplumber.settings.schema/device.routes.default-source-volume/description #. /wireplumber.settings.schema/device.routes.default-source-volume/description
#: wireplumber.conf #: wireplumber.conf
msgid "The default volume for audio sources" msgid "The default volume for audio sources"
msgstr "" msgstr ""
#. /wireplumber.settings.schema/device.routes.default-source-volume/name
#: wireplumber.conf
msgid "Default source volume"
msgstr ""
#. /wireplumber.settings.schema/linking.allow-moving-streams/description #. /wireplumber.settings.schema/linking.allow-moving-streams/description
#: wireplumber.conf #: wireplumber.conf
msgid "Streams may be moved by adding PipeWire metadata at runtime" msgid "Streams may be moved by adding PipeWire metadata at runtime"
msgstr "" msgstr ""
#. /wireplumber.settings.schema/linking.allow-moving-streams/name
#: wireplumber.conf
msgid "Allow moving streams"
msgstr ""
#. /wireplumber.settings.schema/linking.follow-default-target/description #. /wireplumber.settings.schema/linking.follow-default-target/description
#: wireplumber.conf #: wireplumber.conf
msgid "Streams connected to the default device follow when default changes" msgid "Streams connected to the default device follow when default changes"
msgstr "" msgstr ""
#. /wireplumber.settings.schema/linking.follow-default-target/name
#: wireplumber.conf
msgid "Follow default target"
msgstr ""
#. /wireplumber.settings.schema/linking.pause-playback/description #. /wireplumber.settings.schema/linking.pause-playback/description
#: wireplumber.conf #: wireplumber.conf
msgid "Pause media players if their target sink is removed" msgid "Pause media players if their target sink is removed"
msgstr "" msgstr ""
#. /wireplumber.settings.schema/linking.pause-playback/name
#: wireplumber.conf
msgid "Pause playback if output removed"
msgstr ""
#. /wireplumber.settings.schema/linking.role-based.duck-level/description #. /wireplumber.settings.schema/linking.role-based.duck-level/description
#: wireplumber.conf #: wireplumber.conf
msgid "The volume level to apply when ducking (= reducing volume for a higher priority stream to be audible) in the role-based linking policy" msgid "The volume level to apply when ducking (= reducing volume for a higher priority stream to be audible) in the role-based linking policy"
msgstr "" msgstr ""
#. /wireplumber.settings.schema/linking.role-based.duck-level/name
#: wireplumber.conf
msgid "Ducking level"
msgstr ""
#. /wireplumber.settings.schema/monitor.camera-discovery-timeout/description #. /wireplumber.settings.schema/monitor.camera-discovery-timeout/description
#: wireplumber.conf #: wireplumber.conf
msgid "The camera discovery timeout in milliseconds" msgid "The camera discovery timeout in milliseconds"
msgstr "" msgstr ""
#. /wireplumber.settings.schema/monitor.camera-discovery-timeout/name
#: wireplumber.conf
msgid "Discovery timeout"
msgstr ""
#. /wireplumber.settings.schema/node.features.audio.control-port/description #. /wireplumber.settings.schema/node.features.audio.control-port/description
#: wireplumber.conf #: wireplumber.conf
msgid "Enable control ports on audio nodes" msgid "Enable control ports on audio nodes"
msgstr "" msgstr ""
#. /wireplumber.settings.schema/node.features.audio.control-port/name
#: wireplumber.conf
msgid "Control ports"
msgstr ""
#. /wireplumber.settings.schema/node.features.audio.monitor-ports/description #. /wireplumber.settings.schema/node.features.audio.monitor-ports/description
#: wireplumber.conf #: wireplumber.conf
msgid "Enable monitor ports on audio nodes" msgid "Enable monitor ports on audio nodes"
msgstr "" msgstr ""
#. /wireplumber.settings.schema/node.features.audio.monitor-ports/name
#: wireplumber.conf
msgid "Monitor ports"
msgstr ""
#. /wireplumber.settings.schema/node.features.audio.no-dsp/description #. /wireplumber.settings.schema/node.features.audio.no-dsp/description
#: wireplumber.conf #: wireplumber.conf
msgid "Do not convert audio to F32 format" msgid "Do not convert audio to F32 format"
msgstr "" msgstr ""
#. /wireplumber.settings.schema/node.features.audio.no-dsp/name
#: wireplumber.conf
msgid "No DSP"
msgstr ""
#. /wireplumber.settings.schema/node.filter.forward-format/description #. /wireplumber.settings.schema/node.filter.forward-format/description
#: wireplumber.conf #: wireplumber.conf
msgid "Forward format on filter nodes or not" msgid "Forward format on filter nodes or not"
msgstr "" msgstr ""
#. /wireplumber.settings.schema/node.filter.forward-format/name
#: wireplumber.conf
msgid "Forward format"
msgstr ""
#. /wireplumber.settings.schema/node.restore-default-targets/description #. /wireplumber.settings.schema/node.restore-default-targets/description
#: wireplumber.conf #: wireplumber.conf
msgid "Remember and restore default audio/video input/output devices" msgid "Remember and restore default audio/video input/output devices"
msgstr "" msgstr ""
#. /wireplumber.settings.schema/node.restore-default-targets/name
#: wireplumber.conf
msgid "Restore default target"
msgstr ""
#. /wireplumber.settings.schema/node.stream.default-capture-volume/description #. /wireplumber.settings.schema/node.stream.default-capture-volume/description
#: wireplumber.conf #: wireplumber.conf
msgid "The default volume for capture nodes" msgid "The default volume for capture nodes"
msgstr "" msgstr ""
#. /wireplumber.settings.schema/node.stream.default-capture-volume/name
#: wireplumber.conf
msgid "Default capture volume"
msgstr ""
#. /wireplumber.settings.schema/node.stream.default-media-role/description #. /wireplumber.settings.schema/node.stream.default-media-role/description
#: wireplumber.conf #: wireplumber.conf
msgid "Default media.role to assign on streams that do not specify it" msgid "Default media.role to assign on streams that do not specify it"
msgstr "" msgstr ""
#. /wireplumber.settings.schema/node.stream.default-media-role/name
#: wireplumber.conf
msgid "Default media role"
msgstr ""
#. /wireplumber.settings.schema/node.stream.default-playback-volume/description #. /wireplumber.settings.schema/node.stream.default-playback-volume/description
#: wireplumber.conf #: wireplumber.conf
msgid "The default volume for playback nodes" msgid "The default volume for playback nodes"
msgstr "" msgstr ""
#. /wireplumber.settings.schema/node.stream.default-playback-volume/name
#: wireplumber.conf
msgid "Default playback volume"
msgstr ""
#. /wireplumber.settings.schema/node.stream.restore-props/description #. /wireplumber.settings.schema/node.stream.restore-props/description
#: wireplumber.conf #: wireplumber.conf
msgid "Remember and restore properties of streams" msgid "Remember and restore properties of streams"
msgstr "" msgstr ""
#. /wireplumber.settings.schema/node.stream.restore-props/name
#: wireplumber.conf
msgid "Restore properties"
msgstr ""
#. /wireplumber.settings.schema/node.stream.restore-target/description #. /wireplumber.settings.schema/node.stream.restore-target/description
#: wireplumber.conf #: wireplumber.conf
msgid "Remember and restore stream targets" msgid "Remember and restore stream targets"
msgstr "" msgstr ""
#. /wireplumber.settings.schema/node.stream.restore-target/name
#: wireplumber.conf
msgid "Restore target"
msgstr ""

View file

@ -11,7 +11,7 @@ if python_po.found() and spa_json_dump_po.found()
build_by_default : true, build_by_default : true,
command : [ command : [
python_po, spa_json_po, '--spa-json-dump=' + spa_json_dump_po.full_path(), python_po, spa_json_po, '--spa-json-dump=' + spa_json_dump_po.full_path(),
'-k', '/wireplumber.settings.schema/[^/]*/description$', '-k', '/wireplumber.settings.schema/[^/]*/(description|name)$',
'-o', '@CURRENT_SOURCE_DIR@/conf.pot', '-o', '@CURRENT_SOURCE_DIR@/conf.pot',
'@INPUT@', '@INPUT@',
], ],

View file

@ -784,11 +784,13 @@ wireplumber.components.rules = [
wireplumber.settings.schema = { wireplumber.settings.schema = {
## Bluetooth ## Bluetooth
bluetooth.use-persistent-storage = { bluetooth.use-persistent-storage = {
name = "Persistent storage"
description = "Remember and restore Bluetooth headset mode status" description = "Remember and restore Bluetooth headset mode status"
type = "bool" type = "bool"
default = true default = true
} }
bluetooth.autoswitch-to-headset-profile = { bluetooth.autoswitch-to-headset-profile = {
name = "Auto-switch to headset profile"
description = "Always show microphone for Bluetooth headsets, and switch to headset mode when recording" description = "Always show microphone for Bluetooth headsets, and switch to headset mode when recording"
type = "bool" type = "bool"
default = true default = true
@ -796,16 +798,19 @@ wireplumber.settings.schema = {
## Device ## Device
device.restore-profile = { device.restore-profile = {
name = "Restore profile"
description = "Remember and restore device profiles" description = "Remember and restore device profiles"
type = "bool" type = "bool"
default = true default = true
} }
device.restore-routes = { device.restore-routes = {
name = "Restore routes"
description = "Remember and restore device routes" description = "Remember and restore device routes"
type = "bool" type = "bool"
default = true default = true
} }
device.routes.default-sink-volume = { device.routes.default-sink-volume = {
name = "Default sink volume"
description = "The default volume for audio sinks" description = "The default volume for audio sinks"
type = "float" type = "float"
default = 0.064 default = 0.064
@ -813,6 +818,7 @@ wireplumber.settings.schema = {
max = 1.0 max = 1.0
} }
device.routes.default-source-volume = { device.routes.default-source-volume = {
name = "Default source volume"
description = "The default volume for audio sources" description = "The default volume for audio sources"
type = "float" type = "float"
default = 1.0 default = 1.0
@ -822,6 +828,7 @@ wireplumber.settings.schema = {
## Linking ## Linking
linking.role-based.duck-level = { linking.role-based.duck-level = {
name = "Ducking level"
description = "The volume level to apply when ducking (= reducing volume for a higher priority stream to be audible) in the role-based linking policy" description = "The volume level to apply when ducking (= reducing volume for a higher priority stream to be audible) in the role-based linking policy"
type = "float" type = "float"
default = 0.3 default = 0.3
@ -829,16 +836,19 @@ wireplumber.settings.schema = {
max = 1.0 max = 1.0
} }
linking.allow-moving-streams = { linking.allow-moving-streams = {
name = "Allow moving streams"
description = "Streams may be moved by adding PipeWire metadata at runtime" description = "Streams may be moved by adding PipeWire metadata at runtime"
type = "bool" type = "bool"
default = true default = true
} }
linking.follow-default-target = { linking.follow-default-target = {
name = "Follow default target"
description = "Streams connected to the default device follow when default changes" description = "Streams connected to the default device follow when default changes"
type = "bool" type = "bool"
default = true default = true
} }
linking.pause-playback = { linking.pause-playback = {
name = "Pause playback if output removed"
description = "Pause media players if their target sink is removed" description = "Pause media players if their target sink is removed"
type = "bool" type = "bool"
default = true default = true
@ -846,6 +856,7 @@ wireplumber.settings.schema = {
## Monitor ## Monitor
monitor.camera-discovery-timeout = { monitor.camera-discovery-timeout = {
name = "Discovery timeout"
description = "The camera discovery timeout in milliseconds" description = "The camera discovery timeout in milliseconds"
type = "int" type = "int"
default = 1000 default = 1000
@ -855,31 +866,37 @@ wireplumber.settings.schema = {
## Node ## Node
node.features.audio.no-dsp = { node.features.audio.no-dsp = {
name = "No DSP"
description = "Do not convert audio to F32 format" description = "Do not convert audio to F32 format"
type = "bool" type = "bool"
default = false default = false
} }
node.features.audio.monitor-ports = { node.features.audio.monitor-ports = {
name = "Monitor ports"
description = "Enable monitor ports on audio nodes" description = "Enable monitor ports on audio nodes"
type = "bool" type = "bool"
default = true default = true
} }
node.features.audio.control-port = { node.features.audio.control-port = {
name = "Control ports"
description = "Enable control ports on audio nodes" description = "Enable control ports on audio nodes"
type = "bool" type = "bool"
default = false default = false
} }
node.stream.restore-props = { node.stream.restore-props = {
name = "Restore properties"
description = "Remember and restore properties of streams" description = "Remember and restore properties of streams"
type = "bool" type = "bool"
default = true default = true
} }
node.stream.restore-target = { node.stream.restore-target = {
name = "Restore target"
description = "Remember and restore stream targets" description = "Remember and restore stream targets"
type = "bool" type = "bool"
default = true default = true
} }
node.stream.default-playback-volume = { node.stream.default-playback-volume = {
name = "Default playback volume"
description = "The default volume for playback nodes" description = "The default volume for playback nodes"
type = "float" type = "float"
default = 1.0 default = 1.0
@ -887,6 +904,7 @@ wireplumber.settings.schema = {
max = 1.0 max = 1.0
} }
node.stream.default-capture-volume = { node.stream.default-capture-volume = {
name = "Default capture volume"
description = "The default volume for capture nodes" description = "The default volume for capture nodes"
type = "float" type = "float"
default = 1.0 default = 1.0
@ -894,16 +912,19 @@ wireplumber.settings.schema = {
max = 1.0 max = 1.0
} }
node.stream.default-media-role = { node.stream.default-media-role = {
name = "Default media role"
description = "Default media.role to assign on streams that do not specify it" description = "Default media.role to assign on streams that do not specify it"
type = "string" type = "string"
default = null default = null
} }
node.filter.forward-format = { node.filter.forward-format = {
name = "Forward format"
description = "Forward format on filter nodes or not" description = "Forward format on filter nodes or not"
type = "bool" type = "bool"
default = false default = false
} }
node.restore-default-targets = { node.restore-default-targets = {
name = "Restore default target"
description = "Remember and restore default audio/video input/output devices" description = "Remember and restore default audio/video input/output devices"
type = "bool" type = "bool"
default = true default = true