Julian Bouzas
a3a787c5c8
conf: disable legacy endpoint creation module and replace it with lua script
2021-01-22 10:09:39 -05:00
Julian Bouzas
62f819013d
m-lua-scripting: add session item lua API
2021-01-22 10:04:37 -05:00
Julian Bouzas
7c0739af50
session-item: add export API with closure
2021-01-22 09:55:52 -05:00
Julian Bouzas
73c6e65a74
session-item: add activate API with closure
2021-01-22 09:55:52 -05:00
George Kiagiadakis
89d300ea48
docs: update daemon/running.md
...
pipewire.conf uses a different format now
2021-01-22 12:51:10 +02:00
Julian Bouzas
823abe03ee
m-lua-scripting: fix reference count in object manager's lookup API
2021-01-21 07:47:08 -05:00
Julian Bouzas
b7b3ce212b
object-interest: add _ref and _unref APIs
2021-01-21 07:46:59 -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
7233b7a442
meson: require pipewire 0.3.20
...
Required for the device event type-info
2021-01-21 09:42:07 +02:00
George Kiagiadakis
674e53c221
spa-device: handle DeviceEvent and configure node props
...
Depends on DeviceEvent type-info, available on pipewire master as of today
2021-01-21 09:42:07 +02:00
George Kiagiadakis
38f65ca960
m-lua-scripting: do stop the lua engine on deactivate()
...
deactivate() is normally called from WpCore's dispose() and
that's too late to convert a weak WpCore ref to a strong one,
so we cannot find the WpConfiguration and remove the engine.
So, keep a reference to the WpConfiguration earlier.
If the engine is not stopped on time, proxies on the export_core
are destroyed after their core and pipewire complains
2021-01-21 09:42:07 +02:00
George Kiagiadakis
c0f13fe0f6
main: drop WpConfiguration reference early
2021-01-21 09:42:07 +02:00
George Kiagiadakis
e9c38f365e
plugin: debug activation & deactivation
2021-01-21 09:42:07 +02:00
George Kiagiadakis
997e2c7539
wplua: object: unset GValues used when calling action signals
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
b88ff15725
m-lua-scripting: add bindings required for device monitors
...
WpDevice, WpSpaDevice, WpNode, WpImplNode, WpObject and object features
2021-01-21 09:42:07 +02:00
George Kiagiadakis
c678cbed2c
impl-node: derive from WpProxy
2021-01-21 09:42:07 +02:00
George Kiagiadakis
18229e8265
spa-device: derive from WpProxy and manage child objects internally
...
port module-monitor to follow the changes
2021-01-21 09:42:07 +02:00
Julian Bouzas
9d6e220ec9
m-default-metadata: handle default nodes
2021-01-19 08:58:08 -05: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
George Kiagiadakis
aa93ecf793
spa-pod: add the ability to specify Id properties as strings
...
Use the unused 'K' format letter in the varargs builder & parser methods
2021-01-15 16:30:02 +02:00
George Kiagiadakis
3762388831
spa-type: refactor
...
* Use a more complete API to introspect SPA types
* Avoid the need for the Tables enumeration; the tables
are now registered with a string
* Avoid the need for initialization, work directly on spa_types
and other static data
* Allow working with Object pods that are not Params;
the PARAMS table was previously hardcoded in the pod implementation
* Add a different dynamic type registration system, closer to
how spa type works. The only regression is that we can no longer
register additional custom object fields (custom SPA_PROP_* for example),
but this feature can be re-added later
2021-01-15 16:30:01 +02:00
George Kiagiadakis
7488ec0e25
Merge remote-tracking branch 'origin/master' into next-lua
2021-01-15 16:28:04 +02:00
Julian Bouzas
d96c856f28
m-lua-scripting: handle default endpoints from the metadata
2021-01-15 08:59:13 -05:00
Julian Bouzas
7ec169f231
m-config-policy: handle default endpoints from the metadata
2021-01-15 08:58:52 -05:00
Julian Bouzas
9cb79dc3d6
modules: replace session-settings with default-metadata
2021-01-14 13:34:01 -05:00
Julian Bouzas
453f9a34d2
wpctl: implement set-default using the metadata API
2021-01-14 12:56:51 -05:00
Julian Bouzas
f0d744016b
meson: fix lua dependency on Arch Linux
2021-01-14 12:56:47 -05:00
Julian Bouzas
f01dd10aaf
metadata: refactor API to quickly find a specific value
2021-01-11 13:11:37 -05:00
Julian Bouzas
bef0b178ed
state: use GKeyFile API to keep state in disk
2021-01-08 14:34:13 -05:00
Julian Bouzas
2ec43ea885
wp: remove initialization of wireplumber types
2021-01-05 08:43:03 -05:00
Julian Bouzas
866ede214e
session: remove default-endpoint-changed signal
2021-01-04 12:46:53 -05:00
Julian Bouzas
bd19c2ddef
spa-type: fix param profile's last Id
2020-12-30 12:35:26 -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
680b0a7d93
m-lua-scripting: expose session, endpoint, endpoint-link APIs
...
... and make WpIterator Lua-friendly so that it can be used
with the generic for loop
2020-12-22 11:35:04 +02:00
George Kiagiadakis
86f97b17c6
wplua: expose table to/from properties conversion functions
2020-12-22 11:33:35 +02:00
George Kiagiadakis
b94e54c469
object, pw-obj-mixin: fix warnings
2020-12-21 18:58:20 +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
e48cb30828
Fix compiler warnings that appear with the warning flags enabled
...
Fixes #20
2020-12-20 22:16:37 +02:00
George Kiagiadakis
bb9b59181b
meson: enable compiler flags for warnings, if supported
...
Use the same set of warning flags that pipewire uses
See #20
2020-12-20 22:16:37 +02:00
George Kiagiadakis
879f771d7f
modules: implement module-lua-scripting
...
a module that allows loading and executing Lua
scripts from a configured directory
2020-12-20 18:10:22 +02:00
George Kiagiadakis
d0d2f2a59e
wplua: use only the basename of the files for debug/error messages
2020-12-18 18:26:31 +02:00
George Kiagiadakis
067da200fc
wplua: use the error handler also when loading chunks
...
... and improve its output
2020-12-18 18:25:43 +02:00
George Kiagiadakis
0054559b91
wplua: implement __tostring for GObject
2020-12-18 18:24:27 +02:00
George Kiagiadakis
da375a7408
wplua: use the registry to store vtables & closures
2020-12-16 23:19:07 +02:00
George Kiagiadakis
70931969b4
wplua: remove TypeClass, push constructors as ClassName_new
2020-12-16 23:14:58 +02:00
George Kiagiadakis
5edfc090c6
wplua: allow checking for a specific GType with isobject/isboxed
2020-12-16 23:12:41 +02:00
George Kiagiadakis
630a6f5e1c
configuration: convert file paths from relative to absolute if necessary
2020-12-16 09:43:32 +02:00