Adding lots of cool stuff to dotfiles
This commit is contained in:
63
.config/wireplumber/main.lua.d/40-device-defaults.lua
Normal file
63
.config/wireplumber/main.lua.d/40-device-defaults.lua
Normal file
@@ -0,0 +1,63 @@
|
||||
device_defaults = {}
|
||||
device_defaults.enabled = true
|
||||
|
||||
device_defaults.properties = {
|
||||
-- store preferences to the file system and restore them at startup;
|
||||
-- when set to false, default nodes and routes are selected based on
|
||||
-- their priorities and any runtime changes do not persist after restart
|
||||
["use-persistent-storage"] = true,
|
||||
|
||||
-- the default volumes to apply to ACP device nodes, in the linear scale
|
||||
--["default-volume"] = 0.064,
|
||||
--["default-input-volume"] = 1.0,
|
||||
|
||||
-- Whether to auto-switch to echo cancel sink and source nodes or not
|
||||
["auto-echo-cancel"] = true,
|
||||
|
||||
-- Sets the default echo-cancel-sink node name to automatically switch to
|
||||
["echo-cancel-sink-name"] = "echo-cancel-sink",
|
||||
|
||||
-- Sets the default echo-cancel-source node name to automatically switch to
|
||||
["echo-cancel-source-name"] = "echo-cancel-source",
|
||||
}
|
||||
|
||||
-- Sets persistent device profiles that should never change when wireplumber is
|
||||
-- running, even if a new profile with higher priority becomes available
|
||||
device_defaults.persistent_profiles = {
|
||||
{
|
||||
matches = {
|
||||
{
|
||||
-- Matches all devices
|
||||
{ "device.name", "matches", "*" },
|
||||
},
|
||||
},
|
||||
profile_names = {
|
||||
"off",
|
||||
"pro-audio"
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
function device_defaults.enable()
|
||||
if device_defaults.enabled == false then
|
||||
return
|
||||
end
|
||||
|
||||
-- Selects appropriate default nodes and enables saving and restoring them
|
||||
load_module("default-nodes", device_defaults.properties)
|
||||
|
||||
-- Selects appropriate profile for devices
|
||||
load_script("policy-device-profile.lua", {
|
||||
persistent = device_defaults.persistent_profiles
|
||||
})
|
||||
|
||||
-- Selects appropriate device routes ("ports" in pulseaudio terminology)
|
||||
-- and enables saving and restoring them together with
|
||||
-- their properties (per-route/port volume levels, channel maps, etc)
|
||||
load_script("policy-device-routes.lua", device_defaults.properties)
|
||||
|
||||
if device_defaults.properties["use-persistent-storage"] then
|
||||
-- Enables functionality to save and restore default device profiles
|
||||
load_module("default-profile")
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user