George Kiagiadakis
f91653dbfe
tests: store temporary WpState files in the build directory
...
or else the .config sub-directory stays in the source directory
and clutters it
2021-06-04 18:36:19 +03:00
George Kiagiadakis
38f7483793
state: remove support for groups and propagate save errors
...
There is no real use for groups in our API. Just use the name of
the file as the default group and be done with it...
Storing multiple groups with this API is problematic because it
forces flushing the file to disk multiple times, one for each group,
and it's just more performant if we use a prefix in the keys
to implement some form of logical separation.
This commit also makes the GKeyFile a temporary object. As we
always load the file from the file system in _load()
and we always replace its contents with a new dictionary in _save(),
there is no point in keeping the keyfile's internal data structures
stored in memory.
Save errors are now also propagated to adhere to the programming
practices of GObject
2021-06-04 18:36:19 +03:00
George Kiagiadakis
4948f6f2f6
state: don't stat() before creating the dir or removing the state file
...
there is no point
2021-06-04 18:36:19 +03:00
George Kiagiadakis
917cef25d8
policy: don't crash if some node properties are not set
...
- sanitize printing properties with tostring(), which will properly
convert nil values to the string "nil"
- ensure some properties become empty strings if they are nil
2021-06-04 18:36:19 +03:00
Julian Bouzas
cde38daabf
pipewire-object: fix memory leaks when getting properties
2021-06-03 14:53:00 -04:00
Julian Bouzas
1f65012abf
m-default-profiles: finalize parent when plugin is destroyed
2021-06-03 14:53:00 -04:00
Julian Bouzas
f8cf723b19
si-adapter: take ownership of format argument
...
The wp_si_adapter_set_port_config API must take ownership of the param argument
as described by the documentation.
2021-06-03 14:53:00 -04:00
Julian Bouzas
214c7a444a
endpoint: free media_class when disposing WpImplEndpoint
2021-06-03 14:53:00 -04:00
Julian Bouzas
3fbcf05c9b
pipewire-object: take ownership of param argument
...
The wp_pipewire_object_set_param API must take ownership of the param argument
as described by the documentation.
2021-06-03 14:53:00 -04:00
George Kiagiadakis
47ed9bb527
monitors: sanitize device names like media-session does
2021-06-03 18:58:49 +03:00
Julian Bouzas
d28f1241cc
object: advance pending transitions if activation fails
2021-06-03 09:38:19 -04:00
George Kiagiadakis
d84d897b59
modules: remove the old m-default-routes
2021-06-03 16:33:32 +03:00
Julian Bouzas
22dbdea894
m-device-activation: don't set device routes
...
This is already done by module-default-routes
2021-06-03 16:32:12 +03:00
George Kiagiadakis
ee87161d29
default-routes: re-implement the default-routes module in lua
...
using the logic from the default-routes of pipewire-media-session
Fixes : #28 , #30
Related: !156
2021-06-03 16:26:28 +03:00
Jason Francis
d9cd0e4fdf
docs: Write gtk-doc comments for constant variables
2021-06-02 17:38:34 +00:00
Jason Francis
1b5df6096a
docs: include wp.h in gir sources
2021-06-02 17:38:34 +00:00
Jason Francis
ed8346e77d
docs: Add brief descriptions to all functions
...
This ensures all of these functions are picked up by g-ir-scanner.
2021-06-02 17:38:34 +00:00
Julian Bouzas
35c7196454
policy: destroy node if defined target was not found and reconnect is false
...
Avoids number of PulseAudio Volume Control nodes to keep growing each time a
new client node is linked.
2021-06-02 16:42:15 +00:00
Julian Bouzas
4a1ee67303
global-proxy: make sure registry is valid before requesting destroy
...
Avoids segfault when requesting destroy if core is disconnected
2021-06-02 16:42:15 +00:00
George Kiagiadakis
a604ac4c0c
lua: don't crash if an iterator is NULL
...
simply behave as if the iterator is valid and has no items in it
2021-06-02 19:38:51 +03:00
George Kiagiadakis
9db0e741cd
lua: allow the Log api to debug boxed objects (useful for pods)
2021-06-02 19:38:51 +03:00
George Kiagiadakis
132de309cb
lua: fix PipewireObject api: s/set_params/set_param/ and cleanup
2021-06-02 19:38:51 +03:00
George Kiagiadakis
53fdc14d5d
lua: add WpState bindings
2021-06-02 19:38:51 +03:00
Julian Bouzas
8698d4f43a
object: use weakref when advancing current transition
...
Fixes reference count leak when activating an object and transition fails
2021-06-01 13:46:52 -04:00
Julian Bouzas
efb0f83d1f
object: use destroy notify to keep self alive while advancing transitions
2021-06-01 13:43:25 -04:00
George Kiagiadakis
ec7541e840
docs: make progress on lua api documentation
2021-05-28 19:22:56 +03:00
George Kiagiadakis
7c8b91c94e
policy-{node,endpoint-client}: do not crash if media.class is nil
2021-05-28 18:44:11 +03:00
George Kiagiadakis
f038666399
meson: add reference to bugfix
...
so that we can safely remove our hack in the future, when we
will be able to depend on the next version of meson
2021-05-28 17:42:16 +03:00
George Kiagiadakis
94dd3c4c1c
config: disable role-based endpoints in the default configuration
2021-05-28 17:36:57 +03:00
George Kiagiadakis
ae99e50182
tests: si-audio-adapter: test is.device property
2021-05-27 17:01:55 +03:00
George Kiagiadakis
bf9d4c4ed7
m-si-standard-link: fix number of links check
...
self->node_links is a GPtrArray*
2021-05-27 17:01:00 +03:00
George Kiagiadakis
b5ad7b3996
tests: si-standard-link: fix racy test
...
- use si-audio-adapter, to keep the original test's spirit
of linking two terminal nodes, not two intermediate ones
- setup null sink to be a virtual device sink with 2 channels
and the audiotestsrc to be a stream, so that it is also configured
to have 2 channels via si-standard-link's logic
- don't use a second client core, as it introduces races;
we don't need that anymore because we don't export endpoint-links
2021-05-27 16:55:26 +03:00
George Kiagiadakis
bfbe97c8b3
meson: force the gir target to depend on wp-gtkdoc.h
...
With a hacky workaround, because the generate_gir() implementation
has a bug and does not pass the file dependencies properly down
to the custom_target() that it creates internally
2021-05-26 21:22:24 +03:00
George Kiagiadakis
5d7cdfabec
docs: tidy up most documents and try to update the information in them
...
- use code blocks properly
- use note/important blocks
- stop using ` for emphasis, use `` or * appropriately
- update info on contributing, community, running, logging
2021-05-26 19:20:05 +03:00
George Kiagiadakis
f2d4ed17da
docs: use the default sidebar color to make the version easier to read
2021-05-26 15:59:41 +03:00
George Kiagiadakis
fa6db589da
docs: show version number on the sidebar
2021-05-26 15:58:40 +03:00
George Kiagiadakis
46043d27bc
release 0.3.96
2021-05-26 11:14:03 +03:00
George Kiagiadakis
ff410d8ea1
Makefile: use wp-uninstalled.sh to implement the run target
2021-05-26 09:44:59 +03:00
George Kiagiadakis
f20e46c5d0
gitignore: remove obsolete entry
2021-05-26 09:38:03 +03:00
George Kiagiadakis
0a13997d21
editorconfig: remove obsolete entry and add python script rules
2021-05-26 09:36:41 +03:00
George Kiagiadakis
ca69b987a6
LICENSE: update copyright years
2021-05-26 09:33:18 +03:00
George Kiagiadakis
8b340a5705
docs: convert NEWS to rst and add it in the generated docs
2021-05-26 09:30:06 +03:00
George Kiagiadakis
87403eb1d4
docs: update installing-wireplumber page
2021-05-25 15:01:43 +03:00
George Kiagiadakis
7970c9cc69
ci: bump distribution tag date to the actual branch merge day
2021-05-25 14:19:53 +03:00
George Kiagiadakis
cdcb38e4e6
gir: fix generate_gir()
...
The path to libwireplumber-0.4.so is not set otherwise and the
linker cannot find it
2021-05-25 14:19:53 +03:00
George Kiagiadakis
e567637d37
docs: convert lua api docs to pure rst
...
Not all the docs are there yet, this is WIP
2021-05-25 14:19:53 +03:00
George Kiagiadakis
c3ee52506b
docs: fix gobject-introspection data generation
...
Let g-ir-scanner parse the original headers for the C signatures
and just add the gtk-doc comments in the generated wp-gtkdoc.h file
Also cleanup a bit gen-api-gtkdoc.py and make it omit printing most of the
whitespace clutter that it used to print inside the gtk-doc comments
2021-05-25 14:19:53 +03:00
George Kiagiadakis
4dfb4e1780
ci: update fdo template, fedora image and dependencies for docs
2021-05-25 14:19:53 +03:00
George Kiagiadakis
fb77a9fcc7
docs: improve the home page and toc; use README.rst as a base; add badges
2021-05-25 14:19:53 +03:00
George Kiagiadakis
b812e912d2
docs: fix C API documentation to work nicely with doxygen & sphinx
2021-05-25 14:19:53 +03:00