Julian Bouzas
2caac5fa87
si-standard-link: call parent class finalize once finalized
2021-04-07 13:21:40 -04:00
Julian Bouzas
552b04ed7d
m-si-standard-link: properly set in item port context when configuring
2021-04-06 14:04:34 -04:00
Julian Bouzas
fb1daa0bf2
modules: use dots instead of dashes for session item properties
...
Keeps consistency with PipeWire
2021-04-02 11:22:22 -04:00
Julian Bouzas
12b59a1506
m-si-audio-adapter: abort activation if node feature ports is no longer enabled
2021-03-31 12:44:49 -04:00
Julian Bouzas
75d53dbef3
m-si-standard-link: make sure in/out items are valid before activating
2021-03-31 10:51:20 -04:00
George Kiagiadakis
9a103c5787
m-default-nodes: restore configured values on the metadata at startup
2021-03-31 15:20:06 +03:00
George Kiagiadakis
0ecefcb55d
policy-node: use default-nodes-api plugin
2021-03-31 13:10:13 +03:00
George Kiagiadakis
0bc257b6c3
modules: add new module-default-nodes-api
...
This is to provide easy access to default nodes from the scripts
2021-03-31 13:10:13 +03:00
George Kiagiadakis
8cf8eb6b76
m-default-nodes: move common code to a new header
2021-03-31 13:10:13 +03:00
George Kiagiadakis
0a53ddd4ad
m-default-nodes: add properties to control storage method and interval
...
Do not use WpState at all when use-persistent-storage=FALSE; keep all
the configured default nodes in memory and forget them upon restart
2021-03-31 13:10:13 +03:00
George Kiagiadakis
a0876bb275
modules: rename default-metadata to default-nodes and enable it always in the config
2021-03-31 13:10:13 +03:00
George Kiagiadakis
c524e1e317
m-default-metadata: remove default endpoints, follow upstream logic
...
* default endpoints no longer make sense
* follow upstream logic of configured vs effective default nodes
* store node names in json inside the metadata, as upstream does
* add default video source
2021-03-31 13:10:13 +03:00
George Kiagiadakis
fd2ddffdd7
lua: s/Feature.Object.ALL/Features.ALL/
...
It looks nicer to have groups of features in 'Features.'
instead of 'Feature.'
2021-03-29 18:35:35 +03:00
Julian Bouzas
ab5a58715c
m-default-metadata: add support for default audio nodes
2021-03-26 16:16:02 -04:00
Julian Bouzas
b7e347d92c
modules: remove endpoint impl on si-node, si-audio-convert and si-audio-adapter
2021-03-26 16:16:02 -04:00
Julian Bouzas
325522ae51
modules: add si-audio-endpoint session item
2021-03-26 16:16:02 -04:00
Julian Bouzas
04992f0d07
modules: remove si-monitor module
...
It is not needed as si-standard-link can be configured with port contexts
2021-03-26 16:16:02 -04:00
Julian Bouzas
0d71565d63
m-si-standard-link: set out-item-id and in-item-id properties
2021-03-26 16:16:02 -04:00
Julian Bouzas
c0143b5f18
m-si-audio-adapter: ensure ports are available before enabling active
2021-03-26 16:16:02 -04:00
Julian Bouzas
06c12fe7c2
m-lua-scripting: add get_associated_proxy session item Lua API
2021-03-26 16:16:02 -04:00
Julian Bouzas
ebf52adb21
si-interfaces: make WpSiLink work with WpSiPortInfo instead of WpSiEndpoint
2021-03-26 16:16:02 -04:00
Julian Bouzas
64cf2bd644
si-interfaces: rename WpSiEndpointAcquisition to WpSiAcquisition
...
The get_endpoint_acquisition() vmethod has also been moved to WpSiPortInfo, and
therefore renamed to get_acquisition().
2021-03-26 16:16:02 -04:00
Julian Bouzas
13fc0adb22
m-si-standard-link: use a weak reference for in and out endpoints
...
Allows checking if the endpoints are still valid before releasing the
acquisition. Sometimes the endpoints are destroyed before the link, and
releasing acquisition is not needed. There is no way to check that with raw
pointers.
2021-03-26 16:15:38 -04:00
Julian Bouzas
0bef8280d7
m-si-standard-link: fix in-endpoint check when configuring
2021-03-26 15:56:07 -04:00
Julian Bouzas
d71cace24f
m-si-convert: rename to si-audio-convert
...
Because it is only meant to be used with audio nodes
2021-03-18 15:00:22 -04:00
Julian Bouzas
340213272e
m-si-adapter: rename to si-audio-adapter
...
Because it is only meant to be used with audio nodes
2021-03-18 14:47:22 -04:00
Julian Bouzas
3aef916d51
session-item: add _register and _remove API
...
Allows using object managers to listen for registered items
2021-03-18 14:30:11 -04:00
Julian Bouzas
120aab04ae
session-item: refactor and inherit from WpObject
...
This adds WP_SESSION_ITEM_FEATURE_ACTIVE and WP_SESSION_ITEM_FEATURE_EXPORTED
features, so _activate and _export APIs have been removed. Modules and unit
tests have also been updated.
2021-03-18 14:30:05 -04:00
Julian Bouzas
39ef6df7ce
m-si-adapter: rename algorithms to audio-utils
2021-03-18 12:10:37 -04:00
Julian Bouzas
2747d21de2
m-si-monitor-endpoint: rename to si-monitor
2021-03-18 12:10:37 -04:00
Julian Bouzas
b10a5b6b49
m-si-simple-node-endpoint: rename to si-node
2021-03-18 12:10:37 -04:00
Julian Bouzas
12b2c00d0b
lib: remove WpEndpointStream API
...
Add all that goes with it.
2021-03-18 12:10:37 -04:00
Julian Bouzas
c158dfc020
m-default-routes: return if default routes for a device are not found
...
Avoids unneeded assertion error messages.
2021-03-15 07:52:57 -04:00
Julian Bouzas
6e716c9baa
m-default-routes: relax some warning logs to debug
2021-03-15 07:52:57 -04:00
Julian Bouzas
1b5980476b
m-lua-script: add object_deactivate API
2021-03-15 07:52:57 -04:00
Julian Bouzas
003afc3e7b
m-lua-script: add closure for object_activate API
2021-03-15 07:52:55 -04:00
Julian Bouzas
ab04334448
m-lua-scripting: add WpSessionBin add API
...
Needed when adding streams to softdsp endpoints
2021-03-04 14:18:41 -05:00
George Kiagiadakis
15a74052a1
lua/api: add Link() constructor
2021-03-03 13:15:13 +02:00
Arnaud Ferraris
bf72973db4
module-default-routes: store/restore route properties
...
This commit enhance `module-default-routes` so that the route properties
(such as volume, channel map...) are saved on modification, and re-applied
each time a particular route is selected.
2021-03-02 18:17:56 +01:00
Arnaud Ferraris
b63b172b0a
module-device-activation: apply default route on each new device
...
This commit modifies `module-device-activation` so that it can restore
the default routes when a device appears.
2021-03-02 18:17:56 +01:00
Arnaud Ferraris
a499e02ad9
modules: add module-default-routes for storing/restoring routes
...
This commit adds a WirePlumber module which stores the current route for
a given device, and implements the necessary interfaces to restore those
on startup.
The routes are stored as an array of objects in JSON format.
Please note that actually restoring routes on startup is not done by this
module but will be implemented separately in a future commit.
2021-03-02 18:17:56 +01:00
George Kiagiadakis
79ba66e46b
lua/api: default Constraint type always to pw-global
...
now that interest is declared on G_TYPE_OBJECT by default
(in optional Interest function arguments), this conditional default
no longer works as expected...
besides, it may be confusing to have a different default depending
on the interest type
2021-03-02 18:26:34 +02:00
George Kiagiadakis
9399f3db66
lua/api: simplify & improve session_item_configure
2021-03-02 14:39:00 +02:00
George Kiagiadakis
a4ec7538bc
lua/api: make the type optional when declaring Interest as a function argument
...
it makes no sense to specify the type when calling, for instance,
session:lookup_endpoint() or similar functions
it also makes it easier to use iterate or lookup in the object
manager, when we already know the type of the objects that the om
contains
2021-03-02 14:08:43 +02:00
George Kiagiadakis
905636dc8d
lua/api: improve getting optional Interest arguments
...
Add the ability to construct an Interest argument without
using the Interest keyword, so instead of:
om:lookup(Interest { type = "session" })
we can now write:
om:lookup { type = "session" }
... and also remove lookup_filtered from ObjectManager
2021-03-02 13:11:54 +02:00
Julian Bouzas
862e253607
m-lua-scripting: add get_n_streams endpoint API
2021-03-01 13:14:57 -05:00
Julian Bouzas
2052eb2b1f
m-lua-scripting: add lookup session API
...
Also improves session API to accept object interests.
2021-03-01 13:14:57 -05:00
George Kiagiadakis
5b4fe3cd85
lua/pod: don't crash on parsing objects with unknown keys, just ignore them
2021-03-01 17:57:32 +02:00
George Kiagiadakis
51e24c58b5
m-lua-scripting/pod: retrieve Ids in Array & Choice as strings, if possible
...
When an Array or Choice that contains Spa:Id appears as a value for an object
field, it is possible to retrieve the Id type from that object field type.
2021-02-23 13:56:38 +02:00
George Kiagiadakis
5302700c6d
m-lua-scripting/pod: s/id_type/object_id/ as commented on !125
2021-02-23 12:47:24 +02:00