diff --git a/src/scripts/monitors/alsa.lua b/src/scripts/monitors/alsa.lua index a81d7693714af930e8b630ad411ef4722b06ea47..a417cb4d89ab46c21d2e93949162ab7677ad7817 100644 --- a/src/scripts/monitors/alsa.lua +++ b/src/scripts/monitors/alsa.lua @@ -134,8 +134,8 @@ function createNode(parent, id, type, factory, properties) or dev_props["device.nick"] or dev_props["api.alsa.card.name"] or dev_props["alsa.card_name"] - -- also sanitize nick, but allow all characters except : - properties["node.nick"] = nick:gsub("(:)", "_") + -- also sanitize nick, replace ':' with ' ' + properties["node.nick"] = nick:gsub("(:)", " ") -- ensure the node has a description if not properties["node.description"] then @@ -143,14 +143,15 @@ function createNode(parent, id, type, factory, properties) local name = properties["api.alsa.pcm.name"] or properties["api.alsa.pcm.id"] or dev if profile_desc then - properties["node.description"] = desc .. " " .. profile_desc + desc = desc .. " " .. profile_desc elseif subdev == "0" then - properties["node.description"] = desc .. " (" .. name .. " " .. subdev .. ")" + desc = desc .. " (" .. name .. " " .. subdev .. ")" elseif dev == "0" then - properties["node.description"] = desc .. " (" .. name .. ")" - else - properties["node.description"] = desc + desc = desc .. " (" .. name .. ")" end + + -- also sanitize description, replace ':' with ' ' + properties["node.description"] = desc:gsub("(:)", " ") end -- apply properties from config.rules diff --git a/src/scripts/monitors/bluez.lua b/src/scripts/monitors/bluez.lua index c6c1f00b0384d7b4db51a0eb30e27f9ef576ac18..9adb869380647b7d10c33144f1247b1939eda91b 100644 --- a/src/scripts/monitors/bluez.lua +++ b/src/scripts/monitors/bluez.lua @@ -48,12 +48,14 @@ function createNode(parent, id, type, factory, properties) properties["node.pause-on-idle"] = false -- set the node description - properties["node.description"] = + local desc = dev_props["device.description"] or dev_props["device.name"] or dev_props["device.nick"] or dev_props["device.alias"] or "bluetooth-device" + -- sanitize description, replace ':' with ' ' + properties["node.description"] = desc:gsub("(:)", " ") -- set the node name local name = diff --git a/src/scripts/monitors/v4l2.lua b/src/scripts/monitors/v4l2.lua index cfc4d230dfc1a90a0ee1ba70e1336cff408cbcbb..84578fa82557f0d3b12fcfde9db0f47ae4bfd0f8 100644 --- a/src/scripts/monitors/v4l2.lua +++ b/src/scripts/monitors/v4l2.lua @@ -67,7 +67,6 @@ function createNode(parent, id, type, factory, properties) dev_props["device.nick"] or dev_props["device.alias"] or "v4l2-device") - -- sanitize name name = name:gsub("([^%w_%-%.])", "_") @@ -83,7 +82,9 @@ function createNode(parent, id, type, factory, properties) end -- set the node description - properties["node.description"] = dev_props["device.description"] or "v4l2-device" + local desc = dev_props["device.description"] or "v4l2-device" + -- sanitize description, replace ':' with ' ' + properties["node.description"] = desc:gsub("(:)", " ") -- apply properties from config.rules rulesApplyProperties(properties)