scripts: don't use 'local' for file-wide scoped variables

Since all scripts run in a sandbox with their own global environment,
it means that they don't interfere with each other's global variables.
Therefore, all file-wide variables can be declared global without
any change in behavior. In my understanding, it is better to do so
because this means that any code accessing those variables is going
to access them directly from the global environment table with a simple
lookup rather than having each variable referenced in the local closure
of each function separately.
This commit is contained in:
George Kiagiadakis
2023-09-29 23:13:28 +03:00
parent 2f89c64b7f
commit 43aa2d4952
32 changed files with 75 additions and 69 deletions

View File

@@ -5,8 +5,8 @@
-- --
-- SPDX-License-Identifier: MIT -- SPDX-License-Identifier: MIT
local sink_ids = {} sink_ids = {}
local fallback_node = nil fallback_node = nil
node_om = ObjectManager { node_om = ObjectManager {
Interest { Interest {

View File

@@ -31,7 +31,7 @@ streams_om = ObjectManager {
} }
} }
local function routeUsingIntendedRole(stream, dev) function routeUsingIntendedRole(stream, dev)
local stream_role = stream.properties["media.role"] local stream_role = stream.properties["media.role"]
local is_input = stream.properties["media.class"]:find("Input") ~= nil local is_input = stream.properties["media.class"]:find("Input") ~= nil

View File

@@ -10,8 +10,8 @@
-- --
-- FIXME: this script can be further improved -- FIXME: this script can be further improved
local putils = require ("linking-utils") putils = require ("linking-utils")
local config = require ("linking-config") config = require ("linking-config")
log = Log.open_topic ("s-linking") log = Log.open_topic ("s-linking")
function findAssociatedLinkGroupNode (si) function findAssociatedLinkGroupNode (si)

View File

@@ -6,8 +6,8 @@
-- --
-- Traverse through all the possible targets to pick up target node. -- Traverse through all the possible targets to pick up target node.
local putils = require ("linking-utils") putils = require ("linking-utils")
local cutils = require ("common-utils") cutils = require ("common-utils")
log = Log.open_topic ("s-linking") log = Log.open_topic ("s-linking")
SimpleEventHook { SimpleEventHook {

View File

@@ -6,7 +6,7 @@
-- --
-- Check if default nodes can be picked up as target node. -- Check if default nodes can be picked up as target node.
local putils = require ("linking-utils") putils = require ("linking-utils")
log = Log.open_topic ("s-linking") log = Log.open_topic ("s-linking")
SimpleEventHook { SimpleEventHook {

View File

@@ -9,9 +9,9 @@
-- 1. "node.target"/"target.object" in the node properties -- 1. "node.target"/"target.object" in the node properties
-- 2. "target.node"/"target.object" in the default metadata -- 2. "target.node"/"target.object" in the default metadata
local putils = require ("linking-utils") putils = require ("linking-utils")
local cutils = require ("common-utils") cutils = require ("common-utils")
local config = require ("linking-config") config = require ("linking-config")
log = Log.open_topic ("s-linking") log = Log.open_topic ("s-linking")
SimpleEventHook { SimpleEventHook {

View File

@@ -6,9 +6,9 @@
-- --
-- Check if the target node is a filter target. -- Check if the target node is a filter target.
local putils = require ("linking-utils") putils = require ("linking-utils")
local cutils = require ("common-utils") cutils = require ("common-utils")
local futils = require ("filter-utils") futils = require ("filter-utils")
log = Log.open_topic ("s-linking") log = Log.open_topic ("s-linking")
function findFilterTarget (si, om) function findFilterTarget (si, om)

View File

@@ -6,7 +6,7 @@
-- --
-- example of a user injectible hook to link a node to a custom target -- example of a user injectible hook to link a node to a custom target
local putils = require ("linking-utils") putils = require ("linking-utils")
log = Log.open_topic ("s-linking") log = Log.open_topic ("s-linking")
SimpleEventHook { SimpleEventHook {

View File

@@ -6,13 +6,13 @@
-- --
-- Select the virtual target based on roles -- Select the virtual target based on roles
local putils = require ("linking-utils") putils = require ("linking-utils")
log = Log.open_topic ("s-linking") log = Log.open_topic ("s-linking")
local defaults = {} defaults = {}
defaults.roles = Json.Object {} defaults.roles = Json.Object {}
local config = {} config = {}
config.roles = Conf.get_section ( config.roles = Conf.get_section (
"virtual-item-roles", defaults.roles):parse () "virtual-item-roles", defaults.roles):parse ()

View File

@@ -6,9 +6,9 @@
-- --
-- Check if the target node is a filter target. -- Check if the target node is a filter target.
local putils = require ("linking-utils") putils = require ("linking-utils")
local cutils = require ("common-utils") cutils = require ("common-utils")
local futils = require ("filter-utils") futils = require ("filter-utils")
log = Log.open_topic ("s-linking") log = Log.open_topic ("s-linking")
SimpleEventHook { SimpleEventHook {

View File

@@ -7,8 +7,8 @@
-- Links a session item to the target that has been previously selected. -- Links a session item to the target that has been previously selected.
-- This is meant to be the last hook in the select-target chain. -- This is meant to be the last hook in the select-target chain.
local putils = require ("linking-utils") putils = require ("linking-utils")
local cutils = require ("common-utils") cutils = require ("common-utils")
log = Log.open_topic ("s-linking") log = Log.open_topic ("s-linking")
AsyncEventHook { AsyncEventHook {

View File

@@ -8,8 +8,8 @@
-- install hooks that will schedule a rescan of the graph when needed -- install hooks that will schedule a rescan of the graph when needed
log = Log.open_topic ("s-linking") log = Log.open_topic ("s-linking")
local config = require ("linking-config") config = require ("linking-config")
local handles = {} handles = {}
function handleFollowSetting (enable) function handleFollowSetting (enable)
if (not handles.follow_hook) and (enable == true) then if (not handles.follow_hook) and (enable == true) then

View File

@@ -8,8 +8,8 @@
-- indicate it is not available for linking. If no target is available, send -- indicate it is not available for linking. If no target is available, send
-- down an error to the corresponding client. -- down an error to the corresponding client.
local putils = require ("linking-utils") putils = require ("linking-utils")
local cutils = require ("common-utils") cutils = require ("common-utils")
log = Log.open_topic ("s-linking") log = Log.open_topic ("s-linking")
SimpleEventHook { SimpleEventHook {

View File

@@ -5,14 +5,14 @@
-- --
-- SPDX-License-Identifier: MIT -- SPDX-License-Identifier: MIT
local putils = require ("linking-utils") putils = require ("linking-utils")
log = Log.open_topic ("s-linking") log = Log.open_topic ("s-linking")
local defaults = {} defaults = {}
defaults.duck_level = 0.3 defaults.duck_level = 0.3
defaults.roles = Json.Object {} defaults.roles = Json.Object {}
local config = {} config = {}
config.duck_level = Conf.get_value_float ("wireplumber.settings", config.duck_level = Conf.get_value_float ("wireplumber.settings",
"linking.default.duck-level", defaults.duck_level) "linking.default.duck-level", defaults.duck_level)
config.roles = Conf.get_section ( config.roles = Conf.get_section (

View File

@@ -10,9 +10,9 @@
-- Cleanup links when the linkables they are associated with are removed. -- Cleanup links when the linkables they are associated with are removed.
-- Also, cleanup flags attached to linkables. -- Also, cleanup flags attached to linkables.
local putils = require ("linking-utils") putils = require ("linking-utils")
local cutils = require ("common-utils") cutils = require ("common-utils")
local futils = require ("filter-utils") futils = require ("filter-utils")
log = Log.open_topic ("s-linking") log = Log.open_topic ("s-linking")
function checkFilter (si, om, handle_nonstreams) function checkFilter (si, om, handle_nonstreams)

View File

@@ -7,10 +7,10 @@
log = Log.open_topic ("s-monitors") log = Log.open_topic ("s-monitors")
local defaults = {} defaults = {}
defaults.node_properties = Json.Object {} defaults.node_properties = Json.Object {}
local config = {} config = {}
config.node_properties = Conf.get_section ( config.node_properties = Conf.get_section (
"monitor.alsa.midi.node-properties", defaults.node_properties):parse () "monitor.alsa.midi.node-properties", defaults.node_properties):parse ()

View File

@@ -5,17 +5,17 @@
-- --
-- SPDX-License-Identifier: MIT -- SPDX-License-Identifier: MIT
local cutils = require ("common-utils") cutils = require ("common-utils")
log = Log.open_topic ("s-monitors") log = Log.open_topic ("s-monitors")
local defaults = {} defaults = {}
defaults.reserve_priority = -20 defaults.reserve_priority = -20
defaults.reserve_application_name = "WirePlumber" defaults.reserve_application_name = "WirePlumber"
defaults.jack_device = false defaults.jack_device = false
defaults.properties = Json.Object {} defaults.properties = Json.Object {}
defaults.vm_node_defaults = Json.Object {} defaults.vm_node_defaults = Json.Object {}
local config = {} config = {}
config.reserve_priority = Conf.get_value_int ("wireplumber.settings", config.reserve_priority = Conf.get_value_int ("wireplumber.settings",
"monitor.alsa.reserve-priority", defaults.reserve_priority) "monitor.alsa.reserve-priority", defaults.reserve_priority)
config.reserve_application_name = Conf.get_value_string ("wireplumber.settings", config.reserve_application_name = Conf.get_value_string ("wireplumber.settings",

View File

@@ -5,14 +5,14 @@
-- --
-- SPDX-License-Identifier: MIT -- SPDX-License-Identifier: MIT
local cutils = require ("common-utils") cutils = require ("common-utils")
log = Log.open_topic ("s-monitors") log = Log.open_topic ("s-monitors")
local defaults = {} defaults = {}
defaults.properties = Json.Object {} defaults.properties = Json.Object {}
defaults.servers = Json.Array { "bluez_midi.server" } defaults.servers = Json.Array { "bluez_midi.server" }
local config = {} config = {}
config.properties = Conf.get_section ( config.properties = Conf.get_section (
"monitor.bluetooth-midi.properties", defaults.properties): parse () "monitor.bluetooth-midi.properties", defaults.properties): parse ()
config.servers = Conf.get_section ( config.servers = Conf.get_section (

View File

@@ -5,15 +5,15 @@
-- --
-- SPDX-License-Identifier: MIT -- SPDX-License-Identifier: MIT
local COMBINE_OFFSET = 64 COMBINE_OFFSET = 64
local cutils = require ("common-utils") cutils = require ("common-utils")
log = Log.open_topic ("s-monitors") log = Log.open_topic ("s-monitors")
local defaults = {} defaults = {}
defaults.properties = Json.Object {} defaults.properties = Json.Object {}
local config = {} config = {}
config.properties = Conf.get_section ( config.properties = Conf.get_section (
"monitor.bluetooth.properties", defaults.properties): parse () "monitor.bluetooth.properties", defaults.properties): parse ()

View File

@@ -5,13 +5,13 @@
-- --
-- SPDX-License-Identifier: MIT -- SPDX-License-Identifier: MIT
local cutils = require ("common-utils") cutils = require ("common-utils")
log = Log.open_topic ("s-monitors") log = Log.open_topic ("s-monitors")
local defaults = {} defaults = {}
defaults.properties = Json.Object {} defaults.properties = Json.Object {}
local config = {} config = {}
config.properties = Conf.get_section ( config.properties = Conf.get_section (
"monitor.libcamera.properties", defaults.properties): parse () "monitor.libcamera.properties", defaults.properties): parse ()

View File

@@ -5,8 +5,8 @@
-- --
-- SPDX-License-Identifier: MIT -- SPDX-License-Identifier: MIT
local cutils = require ("common-utils") cutils = require ("common-utils")
local mutils = require ("monitor-utils") mutils = require ("monitor-utils")
log = Log.open_topic ("s-monitors-libcam") log = Log.open_topic ("s-monitors-libcam")

View File

@@ -5,8 +5,8 @@
-- --
-- SPDX-License-Identifier: MIT -- SPDX-License-Identifier: MIT
local cutils = require ("common-utils") cutils = require ("common-utils")
local mutils = require ("monitor-utils") mutils = require ("monitor-utils")
log = Log.open_topic ("s-monitors-libcam") log = Log.open_topic ("s-monitors-libcam")

View File

@@ -4,12 +4,13 @@
-- @author Ashok Sidipotu <ashok.sidipotu@collabora.com> -- @author Ashok Sidipotu <ashok.sidipotu@collabora.com>
-- --
-- SPDX-License-Identifier: MIT -- SPDX-License-Identifier: MIT
log = Log.open_topic ("s-monitors-libcam") log = Log.open_topic ("s-monitors-libcam")
local defaults = {} defaults = {}
defaults.properties = Json.Object {} defaults.properties = Json.Object {}
local config = {} config = {}
config.properties = Conf.get_section ( config.properties = Conf.get_section (
"monitor.libcamera.properties", defaults.properties):parse () "monitor.libcamera.properties", defaults.properties):parse ()

View File

@@ -5,7 +5,7 @@
-- --
-- SPDX-License-Identifier: MIT -- SPDX-License-Identifier: MIT
local mutils = require ("monitor-utils") mutils = require ("monitor-utils")
log = Log.open_topic ("s-monitors-libcam") log = Log.open_topic ("s-monitors-libcam")

View File

@@ -4,7 +4,8 @@
-- @author Ashok Sidipotu <ashok.sidipotu@collabora.com> -- @author Ashok Sidipotu <ashok.sidipotu@collabora.com>
-- --
-- SPDX-License-Identifier: MIT -- SPDX-License-Identifier: MIT
local mutils = require ("monitor-utils")
mutils = require ("monitor-utils")
log = Log.open_topic ("s-monitors-libcam") log = Log.open_topic ("s-monitors-libcam")

View File

@@ -4,8 +4,9 @@
-- @author Ashok Sidipotu <ashok.sidipotu@collabora.com> -- @author Ashok Sidipotu <ashok.sidipotu@collabora.com>
-- --
-- SPDX-License-Identifier: MIT -- SPDX-License-Identifier: MIT
local cutils = require ("common-utils")
local mutils = require ("monitor-utils") cutils = require ("common-utils")
mutils = require ("monitor-utils")
log = Log.open_topic ("s-monitors-v4l2") log = Log.open_topic ("s-monitors-v4l2")

View File

@@ -5,8 +5,8 @@
-- --
-- SPDX-License-Identifier: MIT -- SPDX-License-Identifier: MIT
local cutils = require ("common-utils") cutils = require ("common-utils")
local mutils = require ("monitor-utils") mutils = require ("monitor-utils")
log = Log.open_topic ("s-monitors-v4l2") log = Log.open_topic ("s-monitors-v4l2")

View File

@@ -4,12 +4,13 @@
-- @author Ashok Sidipotu <ashok.sidipotu@collabora.com> -- @author Ashok Sidipotu <ashok.sidipotu@collabora.com>
-- --
-- SPDX-License-Identifier: MIT -- SPDX-License-Identifier: MIT
log = Log.open_topic ("s-monitors-v4l2") log = Log.open_topic ("s-monitors-v4l2")
local defaults = {} defaults = {}
defaults.properties = Json.Object {} defaults.properties = Json.Object {}
local config = {} config = {}
config.properties = Conf.get_section ( config.properties = Conf.get_section (
"monitor.v4l2.properties", defaults.properties):parse () "monitor.v4l2.properties", defaults.properties):parse ()

View File

@@ -4,7 +4,8 @@
-- @author Ashok Sidipotu <ashok.sidipotu@collabora.com> -- @author Ashok Sidipotu <ashok.sidipotu@collabora.com>
-- --
-- SPDX-License-Identifier: MIT -- SPDX-License-Identifier: MIT
local mutils = require ("monitor-utils")
mutils = require ("monitor-utils")
log = Log.open_topic ("s-monitors-v4l2") log = Log.open_topic ("s-monitors-v4l2")

View File

@@ -4,7 +4,8 @@
-- @author Ashok Sidipotu <ashok.sidipotu@collabora.com> -- @author Ashok Sidipotu <ashok.sidipotu@collabora.com>
-- --
-- SPDX-License-Identifier: MIT -- SPDX-License-Identifier: MIT
local mutils = require ("monitor-utils")
mutils = require ("monitor-utils")
log = Log.open_topic ("s-monitors-v4l2") log = Log.open_topic ("s-monitors-v4l2")

View File

@@ -11,10 +11,10 @@
log = Log.open_topic ("s-node") log = Log.open_topic ("s-node")
local defaults = {} defaults = {}
defaults.virtual_items = Json.Object {} defaults.virtual_items = Json.Object {}
local config = {} config = {}
config.virtual_items = Conf.get_section ( config.virtual_items = Conf.get_section (
"virtual-items", defaults.virtual_items):parse () "virtual-items", defaults.virtual_items):parse ()

View File

@@ -26,14 +26,14 @@
-- settings file: linking.conf -- settings file: linking.conf
local cutils = require ("common-utils") cutils = require ("common-utils")
local defaults = {} defaults = {}
defaults.use_persistent_storage = true defaults.use_persistent_storage = true
defaults.use_headset_profile = true defaults.use_headset_profile = true
defaults.app_settings = Json.Array {} defaults.app_settings = Json.Array {}
local config = {} config = {}
config.use_persistent_storage = Conf.get_value_boolean ("wireplumber.settings", config.use_persistent_storage = Conf.get_value_boolean ("wireplumber.settings",
"linking.bluetooth.use-persistent-storage", defaults.use_persistent_storage) "linking.bluetooth.use-persistent-storage", defaults.use_persistent_storage)
config.use_headset_profile = Conf.get_value_boolean ("wireplumber.settings", config.use_headset_profile = Conf.get_value_boolean ("wireplumber.settings",