Commit graph

72 commits

Author SHA1 Message Date
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
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
1d0ecc3d88 daemon: refactor
* load config from a lua script
* use a WpTransition to organize the code
* activate plugins before lua scripts
* cleanup
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
George Kiagiadakis
596990d718 modules: remove modules that are obsoleted by the lua scripts
+ their configuration
+ their unit tests
2021-01-30 12:58:26 +02:00
George Kiagiadakis
c29d701e4b monitor-alsa: add device reservation logic 2021-01-26 17:24:52 +02:00
George Kiagiadakis
c78373b1fc modules: delete the old dbus-reservation module 2021-01-26 16:28:22 +02:00
Julian Bouzas
d315898477 conf: create-endpoint.lua: make sure endpoints always have a valid name 2021-01-25 09:45:52 -05:00
Julian Bouzas
0beefe4d7e conf: create-endpoint.lua: use node id as key in session_items table 2021-01-25 09:44:29 -05:00
Julian Bouzas
a3a787c5c8 conf: disable legacy endpoint creation module and replace it with lua script 2021-01-22 10:09:39 -05:00
George Kiagiadakis
ac87519841 config: enable lua scripts, disable legacy modules 2021-01-21 09:50:50 +02:00
George Kiagiadakis
b8f8238fb4 lua: fix some nasty memory leaks 2021-01-21 09:42:07 +02:00
George Kiagiadakis
7b4829f808 config: add lua-based device monitors 2021-01-21 09:42:07 +02:00
George Kiagiadakis
c42a4def01 config: rename desktop profile to desktop-ep
A new desktop profile without endpoints will be added.
The goal is to be compatible with media-session in the short term
2021-01-15 16:41:22 +02:00
Julian Bouzas
d96c856f28 m-lua-scripting: handle default endpoints from the metadata 2021-01-15 08:59:13 -05:00
Julian Bouzas
9cb79dc3d6 modules: replace session-settings with default-metadata 2021-01-14 13:34:01 -05:00
George Kiagiadakis
b1a0f76807 config: implement the functionality of config-policy in Lua
Still missing a way to get the default endpoints, but this
is going to change and use the metadata API
2020-12-22 11:37:31 +02:00
George Kiagiadakis
af01155093 Merge branch 'master' into next-lua 2020-12-21 18:56:52 +02:00
George Kiagiadakis
2f0799642d config: disable audio sink "streams"; they fail on latest pipewire
Fixes #22
2020-12-21 18:48:21 +02:00
George Kiagiadakis
a2181fc3f4 Merge remote-tracking branch 'origin/master' into next 2020-12-01 11:16:13 +02:00
George Kiagiadakis
a7dcd3b76f src: port daemon to the new APIs 2020-11-15 20:26:15 +02:00
Julian Bouzas
af70cac05f modules: add module to store device profiles each time they change 2020-11-13 14:20:54 -05:00
Julian Bouzas
763f0f1795 m-monitor: add use-acp flag 2020-11-13 14:20:54 -05:00
Julian Bouzas
321545a32c modules: refactor dbus reservation
The Dbus device reservation has been moved into a separate module, and has also
been refactored to allow reserving a device name before an actual device is
created. Devices now are created and destroyed by the monitor depending on
whether PipeWire owns the device or not. This also simplifies a lot the device
activation module to always enable devices when they are created, and never
worry about checking whether a device is acquired by PipeWire or not.
2020-10-22 14:33:59 -04:00
Julian Bouzas
397a141150 m-endpoint-creation: add bluez5 endpoint creation for bluetooth devices 2020-10-05 11:35:24 -04:00
Julian Bouzas
7d35191091 m-config-endpoint: refactor and rename to endpoint-creation
Allows implementing device specific endpoint creation logic, which is currently
needed for bluetooth endpoints as they need to be created differenly.
2020-10-05 11:35:24 -04:00
Julian Bouzas
6a5a259fc7 modules: add bluez5 endpoint session item 2020-10-05 11:35:24 -04:00
Julian Bouzas
af196f4f5b modules: add fake stream session item 2020-10-05 11:35:24 -04:00
George Kiagiadakis
df258c3887 module-metadata: s/settings/plugin/ 2020-08-31 16:21:07 +03:00
George Kiagiadakis
3ae506d223 modules: rename metadata module to just 'module-metadata' 2020-07-31 16:34:01 +03:00
raghu447
65b4562fa0 Implement PW_TYPE_INTERFACE_Metadata 2020-07-30 21:30:14 +05:30
George Kiagiadakis
280c0edfa6 config: improve {audio,video}testsrc.node config files
* add library.name to not require adding `add-spa-lib` in pipewire.conf
  or wireplumber.conf for this to work
* add a commented local=true; it can be useful to run those nodes
  locally for testing, sometimes
2020-07-02 17:07:25 +03:00
George Kiagiadakis
66f2e535cf config: add .node config files to create audiotestsrc / videotestsrc
and add the non-disabled filenames in .gitignore so that I can maintain
symlinks to enable them without commiting them
2020-06-16 16:06:20 +03:00
George Kiagiadakis
e81dc5782a config: add endpoint config files to increase priority on USB audio devices
if there is a usb device plugged, we can assume it's meant to be used
instead of the built-in audio
2020-06-16 15:44:39 +03:00
George Kiagiadakis
b3e53daf26 config: add .endpoint config file for audiotestsrc 2020-06-16 13:32:39 +03:00
George Kiagiadakis
82197118f7 config: increase bluez & jack endpoint priorities
jack has the highest prio because if it's present, we assume the
user wants to use jack to route everything

bluez has higher prio than alsa because if it's present, we assume
the user wants to use the bluetooth device
2020-06-16 13:13:05 +03:00
George Kiagiadakis
f2d8d220eb config: rename files to have gaps in their load priorities 2020-06-16 13:08:58 +03:00
George Kiagiadakis
5069ce5eb9 wireplumber.conf: disable bluez monitor by default
- because it conflicts with pulseaudio and we actually still want
  pipewire to be able to run along pulseaudio on default setups
- and because it doesn't work well yet
2020-06-16 12:10:01 +03:00
Julian Bouzas
53289b9906 m-monitor: allow the monitor module to create multiple devices 2020-06-11 13:50:02 -04:00
Julian Bouzas
74eee35e6f src: config: add bluez5 endpoint files 2020-06-08 14:06:12 -04:00
Julian Bouzas
e68cd7b700 src: config: enable bluetooth monitor 2020-06-08 11:15:06 -04:00
George Kiagiadakis
4130cf17ca config: restructure wireplumber.conf and add comments for documentation 2020-06-03 21:13:03 +03:00
George Kiagiadakis
ded2d5e221 config: add .endpoint files to match jack nodes and prioritize them over alsa
if jack is running, that probably means that we want the jack
endpoints to be the default playback/capture path
2020-06-03 20:35:31 +03:00
Julian Bouzas
3c36f20d23 src: config: add jack.device file and removed jack device module 2020-06-02 12:24:47 -04:00
Julian Bouzas
d3cb1bd84d modules: rename config-static-nodes to config-static-objects 2020-06-02 12:24:47 -04:00
Julian Bouzas
128b67e265 src: config: update default configuration to handle nodes created by the jack device 2020-06-01 20:05:03 -04:00
Julian Bouzas
908a7ffbc3 src: config: add midi.node to create the MIDI node at startup 2020-05-29 08:43:36 -04:00