George Kiagiadakis
73870c528b
scripts: policy-node: use policy-config library
2023-04-17 07:48:18 -04:00
George Kiagiadakis
aafac752a1
scripts: remove policy-hooks.lua
2023-04-17 07:48:18 -04:00
George Kiagiadakis
6c27da6365
scripts/policy-desktop: add back the sample user hook on a separate file
2023-04-17 07:48:18 -04:00
George Kiagiadakis
2e3d2b2bb9
scripts/policy-desktop: fix the code of the find-target hooks to work again
...
* Use a common function to unwrap the objects out of the event
* Use the same common function to get the si flags
* Do not store back the si flags - there is no point in doing that,
tables are objects in lua and they are passed around by reference
* Store the target on the event
2023-04-17 07:48:18 -04:00
George Kiagiadakis
013a61b440
scripts/lib: add policy-config script library
2023-04-17 07:48:18 -04:00
George Kiagiadakis
e5764e33a4
scripts: split policy-hooks into separate files, one for each hook
2023-04-17 07:48:18 -04:00
George Kiagiadakis
515b3f07d1
m-lua-scripting: api: bind WpEvent set_data/get_data
2023-04-17 07:48:18 -04:00
George Kiagiadakis
6c3bd9e27d
event: add datalist to store arbitrary data on the event
2023-04-17 07:48:18 -04:00
George Kiagiadakis
55122b84b4
m-standard-event-source: add "schedule-rescan" action signal
...
This can be used anywhere else in the codebase to push a "rescan-session"
event, making sure that there is only one such event pushed on the stack,
no matter how many times this is called.
2023-04-17 07:48:18 -04:00
George Kiagiadakis
24db3fe24a
event-hook: rewrite the hook priorities enum
...
Hooks need to have a priority relative to the event they are executed on,
so it does not make much sense to have all kinds of different priorities
based also on the event type and/or the module where they are defined.
Also, it wouldn't be acceptable to have such an enumeration on the public API.
2023-04-17 07:48:18 -04:00
George Kiagiadakis
e2b9cb0b5e
m-standard-event-source: export the push_event function as an action signal
2023-04-17 07:48:18 -04:00
George Kiagiadakis
252c5b4935
m-standard-event-source: refactor around a central "push_event" function
...
Also redo some priorities and rename the object-changed event
to metadata-changed
2023-04-17 07:48:18 -04:00
George Kiagiadakis
79d8c9f5d9
m-standard-event-source: pass self as the event's source object
2023-04-17 07:48:18 -04:00
George Kiagiadakis
ab1668af15
m-standard-event-source: add object-manager property
2023-04-17 07:48:18 -04:00
George Kiagiadakis
b2f2e3f745
m-standard-event-source: add SiLink to the object type & priority list
...
Just to avoid warnings for now
2023-04-17 07:48:18 -04:00
George Kiagiadakis
48635cb780
m-standard-event-source: manage all kinds of session items in the om
...
So that we can also work with SiLink objects with this object manager
2023-04-17 07:48:18 -04:00
George Kiagiadakis
c0322cb34f
m-standard-event-source: remove the devices object manager
...
That makes no sense to have. The only script that uses this can easily
be rewriten so that it uses object-added/removed instead.
2023-04-17 07:48:18 -04:00
Ashok Sidipotu
7be388c881
main: Free the component deps using the correct API
2023-04-17 07:48:18 -04:00
Julian Bouzas
102792527a
lib: remove deprecated APIs
2023-04-17 07:48:18 -04:00
Ashok Sidipotu
c0905c233f
m-settings: trigger init of WpSettings object
...
After the creation of metadata with config data, m-settings will also need to
trigger the init of WpSettings Object/API. Earlier this was done in main.c as
part of init transition but the logic there is much more generalized now and so
it has been moved here.
2023-04-17 07:48:18 -04:00
Ashok Sidipotu
d9d3a49f5a
settings: remove unnecessary log message
2023-04-17 07:48:18 -04:00
Ashok Sidipotu
85900fba64
m-lua-scripting: support dangling components
...
- Dangling components are those not present in the json config files but present
in the wireplumber lookup folders.
2023-04-17 07:48:18 -04:00
Ashok Sidipotu
6f039003ec
component-loader: support dangling components
...
- Dangling components are those not present in the json config files but present
in the wireplumber lookup folders.
2023-04-17 07:48:18 -04:00
Ashok Sidipotu
904751ede1
main.c: refactor the init transition with priority tag
...
- Support `priority` tag in definition of wireplumber components in json
config files.
- Support loading dangling components. These are components which are
NOT present in the json config files but present in the wireplumber
lookup folders.
- Simplify the init transition by removing the unneeded steps.
2023-04-17 07:48:18 -04:00
Julian Bouzas
78b0dd58db
conf: move endpoints into wireplumber.settings
2023-04-17 07:48:18 -04:00
George Kiagiadakis
497f30453d
lib: event-hook/dispatcher: constness and staticness fixes
2023-04-17 07:48:18 -04:00
Julian Bouzas
1da43c6031
settings: append matches if the rule name matches
2023-04-17 07:48:18 -04:00
Julian Bouzas
36cba7fe55
config: comment all remaining rules
2023-04-17 07:48:18 -04:00
Julian Bouzas
6afca096e8
policy-device-profile.lua: use default rules if none are defined
2023-04-17 07:48:18 -04:00
Julian Bouzas
56087777f6
bluez.lua: use default rules if none are defined
2023-04-17 07:48:18 -04:00
Julian Bouzas
ed79e9a4d0
alsa.lua: use default rules if none are defined
2023-04-17 07:48:18 -04:00
Julian Bouzas
4bb949fd89
access-default.lua: use default rules if none are defined
2023-04-17 07:48:18 -04:00
Ashok Sidipotu
119b99dc23
event-dispatcher: Add a trace log msg to indicate the events created
2023-04-17 07:48:18 -04:00
Ashok Sidipotu
0fadd4f4fd
wpexec: Add support for event dispatcher
...
-Scripts loaded with wpexec will also need 'module-standard-event-source'
to be able to convert the pipewire signals to wireplumber events.
-Simplify the init transition states.
2023-04-17 07:48:18 -04:00
Julian Bouzas
a8d6d50e2a
config: use wireplumber nomenclature for the setting names
2023-04-17 07:48:18 -04:00
Julian Bouzas
fe21c2f8b2
config: comment persistent.settings to false as it is its default value
2023-04-17 07:48:18 -04:00
Julian Bouzas
6a612db57a
config: make remaining non rule settings optional
2023-04-17 07:48:18 -04:00
Julian Bouzas
f1fbeaa661
m-lua-scripting: add fallback value for parse_{array|object}_safe() APIs
2023-04-17 07:48:18 -04:00
Julian Bouzas
f416482f65
config: always comment the default values
...
This allows users to know what values are set by default.
2023-04-17 07:48:18 -04:00
Julian Bouzas
f6c4590299
config: consider dependency valid if not defined in WpSettings
...
Needed so that the configuration is fully commented.
2023-04-17 07:48:18 -04:00
Julian Bouzas
c5c36b26ba
config: move all components into wireplumber.conf
2023-04-17 07:48:18 -04:00
Julian Bouzas
8df09a872b
config: fix flags for libpipewire-module-rt
2023-04-17 07:48:18 -04:00
Julian Bouzas
5dcb4f0037
config: use the pipewire directory
2023-04-17 07:48:18 -04:00
Julian Bouzas
d79d3e1465
policy-device-endpoint.lua: remove unused move configuration
2023-04-17 07:48:18 -04:00
Julian Bouzas
a23168af52
policy-hooks.lua: set move configuration to true by default
2023-04-17 07:48:18 -04:00
Julian Bouzas
048a975818
common-utils.lua: use different timeout callbacks for different states
...
This allows saving different states at the same time.
2023-04-17 07:48:18 -04:00
Julian Bouzas
c64139afbe
conf: comment persistent.settings as it is disable by default
2023-04-17 07:48:18 -04:00
Julian Bouzas
3c26f278cd
module-settings: refactor to only load state file when plugin is enabled
...
Also fixes issues with persistent.settings not working if no changes have
happened.
2023-04-17 07:48:18 -04:00
Ashok Sidipotu
f4382da5ba
policy-hooks.lua: An example of user injectible hook
2023-04-17 07:48:18 -04:00
Ashok Sidipotu
bbe3b919d3
policy-{node|hooks}.lua: Fix issues in Zoom Desktop Video Sharing.
...
Fixes #339
2023-04-17 07:48:18 -04:00