Julian Bouzas
7482a05ca2
policy-node.lua: do not handle items with media role if endpoints exist
2021-04-08 14:41:06 -04:00
Julian Bouzas
941da10c28
policy-node.lua: clean up findTarget function
2021-04-08 14:38:31 -04:00
Julian Bouzas
9f77b98b10
src: scripts: add static-endpoints.lua script
2021-04-08 14:07:05 -04:00
Julian Bouzas
cc51bdb75e
create-item.lua: only create items for client and device nodes
2021-04-08 14:07:05 -04:00
Julian Bouzas
f0960a38b2
policy-item.lua: only handle si-audio-adapter and si-nodes links
2021-04-08 14:07:05 -04:00
Julian Bouzas
c5d28031e5
src: scripts: remove unneeded policy-endpoint.lua
2021-04-08 14:07:05 -04:00
Julian Bouzas
debef67f3f
policy-node.lua: fix param name typo when finding target
...
Fixes unespected issues when finding first available target
2021-04-06 09:48:01 -04:00
George Kiagiadakis
a1923d8152
policy-node: properly remove links between apps and capture devices
...
the previous logic was flawed and would only work for links between
app node <-> device sink node
2021-04-06 16:07:14 +03: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
e86ed8e763
policy-node.lua: support config.move and config.follow
2021-03-31 12:44:49 -04:00
George Kiagiadakis
0ecefcb55d
policy-node: use default-nodes-api plugin
2021-03-31 13:10:13 +03:00
Julian Bouzas
cb3445c077
policy-node.lua: fix type mismatch when comparing session item Ids
2021-03-30 14:52:42 -04: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
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
e3cc3c330d
src: scripts: add policy-node.lua to link port info session items
2021-03-26 16:16:02 -04:00
Julian Bouzas
f6ed14f997
src: scripts: add create-item.lua and remove create-endpoint.lua
2021-03-26 16:16:02 -04:00
George Kiagiadakis
95bb22efe2
monitor-alsa: add api.alsa.card.* properties on nodes
...
Useful for rule matching on nodes where the rules are also matching
properties of the card.
2021-03-26 17:29:25 +02:00
George Kiagiadakis
dd887a7b3e
bluez5: autoconnect bluetooth stream nodes
2021-03-25 18:13:47 +02:00
George Kiagiadakis
5c84f58b9e
bluez5: use api.bluez5.connection-info
...
This creates devices earlier, allowing the use of per-device
codec configuration via the standard rules
See pipewire/pipewire!509
2021-03-25 18:12:41 +02: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
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
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
003afc3e7b
m-lua-script: add closure for object_activate API
2021-03-15 07:52:55 -04: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
6c2bfea55b
scripts: policy-endpoints: add move and follow options
...
If 'move' is set to true, endpoints will be moved to the new target when the
metadata 'target.node' key is present. If 'follow' is set to true, endpoints
will be moved to the newly changed default device automatically.
2021-03-01 15:36:28 -05:00
George Kiagiadakis
24a260030b
scripts/access: update access scripts to call update_permissions() cleanly
...
and fix some coding style issues
2021-02-18 16:53:41 +02:00
George Kiagiadakis
98151fdb69
monitor-alsa: fix node description on strange embedded devices
...
Ensure that no part of the description string is empty, otherwise fall back
Fix logic with dev and/or subdev being 0
2021-02-18 10:23:07 +02:00
George Kiagiadakis
beb9902589
suspend-node: honor "session.suspend-timeout-seconds"
...
6079830591
2021-02-18 09:15:24 +02:00
George Kiagiadakis
20c7733640
monitors: sanitize node descriptions too
...
aea79cd79c
2021-02-18 09:02:41 +02:00
George Kiagiadakis
115c9c3e4f
monitors: drop the monitor- prefix from the filenames and s/bluez5/bluez/
2021-02-15 19:55:06 +02:00
George Kiagiadakis
1d40e7713f
config: load reserve-device only if alsa.reserve is true
...
and also make the default of alsa.reserve to be false, for easier scripting
2021-02-15 19:43:07 +02:00
George Kiagiadakis
4538d43bcb
monitor-bluez: fix source priority assignment
...
pipewire/pipewire!456
2021-02-15 19:24:42 +02:00
George Kiagiadakis
4ae15a14ac
monitors: sanitize node names to match media-session's behavior
2021-02-15 19:18:07 +02:00
George Kiagiadakis
73a07d0097
monitor-alsa: sync logic, properties and configuration with media-session
2021-02-15 18:49:57 +02:00
George Kiagiadakis
100e6dc360
monitor-v4l2: copy properties and rules logic from media-session
2021-02-15 14:43:18 +02:00
George Kiagiadakis
d9bf776cb8
monitor-bluez: copy all properties and the rules functionality from media-session
2021-02-13 11:55:00 +02:00
Julian Bouzas
b1e1e5ced0
scripts: add portal access script
...
Includes a plugin to handle the portal permission store dbus interface
2021-02-12 14:28:45 -05:00
Julian Bouzas
fdc8053d9f
scripts: add flatpak access lua script
...
Replaces old module-client-permissions module
2021-02-12 14:28:38 -05:00
George Kiagiadakis
d94b0a2f0c
scripts: add suspend-node.lua to replace m-node-suspension
...
... plus the necessary API for it to work
2021-02-05 12:03:07 +02:00
George Kiagiadakis
7ca6717ff9
create-endpoint.lua: fix some issues
2021-02-05 11:58:53 +02:00
George Kiagiadakis
2efa85e3fd
create-endpoint.lua: fix indentation
2021-02-05 11:33:15 +02:00
George Kiagiadakis
2142fffc0e
monitor-alsa: simplify reserve-device connection logic
...
Because of the new design of the daemon and the async activation of plugins,
the reserve-device plugin connects to d-bus before monitor-alsa is executed
and therefore there is no need to wait for the connection
2021-02-03 17:16:51 +02:00
George Kiagiadakis
88f59f07cb
monitor-alsa: receive script configuration from config.lua
2021-02-03 17:16:51 +02:00
George Kiagiadakis
c00a706998
scripts: add static-sessions.lua
...
Replaces the old create-session wireplumber.conf commands
2021-02-03 17:16:51 +02:00
George Kiagiadakis
e52bd4468d
src: move scripts to their own directory, install in $prefix/share/
2021-02-03 17:16:51 +02:00