Previously the package version used for the gir file was hardcoded and did not change
when the `wireplumber_api_version` definition was changed, which has now been fixed to
use that definition.
Fix gen-api-gtkdoc.py to also parse an enums detailed description, which may contain a `since` attribute.
This makes the enums documentation and `Since` attribute end up in the final .gir file.
Fix gen-api-gtkdoc.py to also parse a structs detailed description, which may contain a `since` attribute,
and to generate a gtkdoc definition for those structs in the output wp-gtkdoc.h.
This makes the structs documentation and `Since` attribute end up in the final .gir file.
This adds three meson options to enable or disable building daemon, tools, and modules.
Building the daemon or tools depends on building the modules, and disabling modules without disabling
the other two will result in meson giving an appropriate error.
These new options will let users skip building and installing unneeded items when they are not needed,
e.g. when only using the C API in another application.
This adds information about the name of the pkg-config package provided by wireplumber
as well as which header a C program needs to include to use the library to the
generated .gir file.
* Add information about multiple instances
* Document better how the lua config files work
* Document how lua config files get merged from different places
* Copy over additional documentation for ALSA from pw-media-session
* Fix rst syntax issues
This allows for WIREPLUMBER_DEBUG="D" which avoids users having to
remember which numerical value the various levels have. The strings to
select are the ones printed by the logger, i.e. UECWMIDT.
The previous approach to loading config files was to ask WP for the
directory and then search those for the config files. This patch changes the
approach - a caller now asks WP to search for a specific config file or
iterate over a config file directory.
This allows us to implement a directory lookup order, i.e.
"wireplumber.conf" may be in XDG_CONFIG_DIR, /etc/,
/usr/share and the first one found is used.
For configuration directories, the new method iterates over all matching
entries (files + directories) and invokes a callback for each entry.
This enables distributions to ship default files in /usr/share/wireplumber
but have admins and users override them on a local basis. For lua scripts in
particular, overriding a distribution-provided file with an empty file
effectively disables it, adding a file adds it in the right sort order.
Aim for 8 pointers on each struct, wich exceptions:
- 12 pointers for already crowded/important ones
- 4 pointers for empty ones that are used for proxies; we are
unlikely to add any virtual methods on these classes ever