PipeWire Proxies¶
Proxy¶
Lua objects that bind a WpProxy contain the following methods:
-
Proxy.
get_interface_type
(self)¶ Binds
wp_proxy_get_interface_type()
Parameters: self – the proxy Returns: the proxy type, the proxy type version Return type: string, integer
PipeWire Object¶
Lua objects that bind a WpPipewireObject contain the following methods:
-
PipewireObject.
iterate_params
(self, param_name)¶ Binds
wp_pipewire_object_enum_params_sync()
Parameters: - self – the proxy
- param_name (string) – the PipeWire param name to enumerate, ex “Props”, “Route”
Returns: the available parameters
Return type: Iterator; the iteration items are Spa Pod objects
-
PipewireObject.
set_param
(self, param_name, pod)¶ Binds
wp_pipewire_object_set_param()
Parameters: - self – the proxy
- param_name (string) – The PipeWire param name to set, ex “Props”, “Route”
- pod (Pod) – A Spa Pod object containing the new params
Global Proxy¶
Lua objects that bind a WpGlobalProxy contain the following methods:
-
GlobalProxy.
request_destroy
(self)¶ Binds
wp_global_proxy_request_destroy()
Parameters: self – the proxy
PipeWire Node¶
Lua objects that bind a WpNode contain the following methods:
-
Node.
get_state
(self)¶ Binds
wp_node_get_state()
Parameters: self – the proxy Returns: the current state of the node and an error message, if any Return type: string (:c:enum:`WpNodeState`), string (error message) Since: 0.4.2
-
Node.
get_n_input_ports
(self)¶ Binds
wp_node_get_n_input_ports()
Parameters: self – the proxy Returns: the current and max numbers of input ports on the node Return type: integer (current), integer (max) Since: 0.4.2
-
Node.
get_n_output_ports
(self)¶ Binds
wp_node_get_n_output_ports()
Parameters: self – the proxy Returns: the current and max numbers of output ports on the node Return type: integer (current), integer (max) Since: 0.4.2
-
Node.
get_n_ports
(self)¶ Binds
wp_node_get_n_ports()
Parameters: self – the proxy Returns: the number of ports on the node Since: 0.4.2
-
Node.
iterate_ports
(self, interest)¶ Binds
wp_node_iterate_ports()
Parameters: - self – the proxy
- interest (Interest or nil or none) – an interest to filter objects
Returns: all the ports of this node that that match the interest
Return type: Iterator; the iteration items are of type WpPort
Since: 0.4.2
-
Node.
lookup_port
(self, interest)¶ Binds
wp_node_lookup_port()
Parameters: - self – the proxy
- interest (Interest or nil or none) – the interest to use for the lookup
Returns: the first port of this node that matches the interest
Return type: Since: 0.4.2
-
Node.
send_command
(self, command)¶ Binds
wp_node_send_command()
Parameters: - self – the proxy
- command (string) – the command to send to the node (ex “Suspend”)
PipeWire Port¶
Lua objects that bind a WpPort contain the following methods:
-
Port.
get_direction
(self)¶ Binds
wp_port_get_direction()
Parameters: self – the port Returns: the direction of the Port Return type: string (:c:enum:`WpDirection`) Since: 0.4.2
PipeWire Client¶
Lua objects that bind a WpClient contain the following methods:
-
Client.
update_permissions
(self, perms)¶ Binds
wp_client_update_permissions()
Takes a table where the keys are object identifiers and the values are permission strings.
Valid object identifiers are:
- A number, meaning the bound ID of a proxy
- The string “any” or the string “all”, which sets the default permissions for this client
The permission strings have a chmod-like syntax (ex. “rwx” or “r-xm”), where:
- “r” means permission to read the object
- “w” means permission to write data to the object
- “x” means permission to call methods on the object
- “m” means permission to set metadata for the object
- “-” is ignored and can be used to make the string more readable when a permission flag is omitted
Example:
client:update_permissions { ["all"] = "r-x", [35] = "rwxm", }
Parameters: - self – the proxy
- perms (table) – the permissions to update for this client
PipeWire Metadata¶
Lua objects that bind a WpMetadata contain the following methods:
-
Metadata.
iterate
(self, subject)¶ Binds
wp_metadata_new_iterator()
Parameters: - self – the proxy
- subject (integer) – the subject id
Returns: an iterator
-
Metadata.
find
(self, subject, key)¶ Binds
wp_metadata_find()
Parameters: - self – the proxy
- subject (string) – the subject id
- key (string) – the metadata key to find
Returns: the value for this metadata key, the type of the value
Return type: string, string