Commit graph

309 commits

Author SHA1 Message Date
Julian Bouzas
34f5dadad0 src: config: rename session-item support to default-policy 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
George Kiagiadakis
cdd6fda56c wpctl: status: print nodes, ports, links grouped more nicely 2021-04-01 19:15:34 +03: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
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
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
George Kiagiadakis
8052ef2792 bluez config: update based on the latest media-session config 2021-03-29 18:32:59 +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
32fea4057c src: config: rename endpoint-support to session-item-support 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
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
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
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
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
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
92b621ab8a systemd: use the older version of the systemd pkgconfig variables
For compatibility with older versions of systemd
2021-02-25 14:10:30 +02:00
George Kiagiadakis
9e7f3d4740 systemd: remove RuntimeDirectory from the system service
See pipewire/pipewire!484
2021-02-25 11:38:09 +02:00
George Kiagiadakis
56f8a82ad7 daemon: add systemd unit files
see also pipewire/pipewire!481
2021-02-23 18:47:50 +02:00
George Kiagiadakis
6690f12637 config: split flatpak access configuration 2021-02-19 10:01:17 +02: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
7336c271a2 config: bluez-monitor: add hfp_hf in the supported roles comment 2021-02-16 16:53:22 +02:00
George Kiagiadakis
f4b899c9e3 config: move loading of all audio support modules in 90-enable-audio-all
This file is meant to provide the equivalent of pipewire-media-session's
'with-pulseaudio' flag file
2021-02-15 20:17:15 +02:00
George Kiagiadakis
be78fbbc7d config: split configuration for endpoints support in config.lua.d 2021-02-15 20:11:52 +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
f2f889a3e0 config: make the monitor properties & rules available in global tables
This allows altering monitor properties or adding rules in different
lua files that get loaded before 90-enable*.lua
2021-02-15 19:48: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