Age | Commit message (Collapse) | Author | Files | Lines |
|
- Add Equalizer gain controls.
- Add a simple app to test the controls.
Bug-AGL: SPEC-4931
Change-Id: Ib33eb0e829747c401861e99acd67291462ec6a97
Signed-off-by: Ashok Sidipotu <ashok.sidipotu@collabora.com>
|
|
Rework to use the "VAL" gRPC API from the KUKSA.val databroker
instead of the older server's WebSocket interface. Some source
files have been renamed to match the class naming to provide
a bit more consistency.
Bug-AGL: SPEC-4762
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I5ded74cfbd6987cd045b7b142fd9f38971aaef66
|
|
As boost has deprecated string_file helper functions since 1.81,
define one locally with minor changes to use std types where needed.
Bug-AGL: SPEC-4578
Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
Change-Id: I231ff70857e8d4ed827337a52c60e58d01ab6ea5
|
|
Set _XOPEN_SOURCE=700 to fix the compilation error with pipewire headers.
Bug-AGL: SPEC-4732
Signed-off-by: Ashok Sidipotu <ashok.sidipotu@collabora.com>
Change-Id: Ib009c9ecb1828286fd83173ac5cb6ebba5c78b97
|
|
KUKSA.val 0.2.1 always returned numeric values as floating point, this
has changed with 0.2.5 and support is required to handle data points
actually having integer or unsigned integer types.
Bug-AGL: SPEC-4598
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: Ica9b3e5fc27e110c02788dde6549e0bb194ffeb1
|
|
Repurpose repository for a spiritual successor of the previous
binding. The replacement is a daemon that demonstrates servicing
the volume actuator from the VSS schema via VIS signals from
KUKSA.val. Currently the connection to KUKSA.val is websocket based
using the boost::asio framework, but the plan is to migrate to gRPC
as that becomes more robust in KUKSA.val. As well, this new code
will serve as the base for implementing a gRPC API to expose the full
set of WirePlumber controls as was done with the previous binding.
Notable changes:
- New code is completely C++, partly to leverage using Boost, but
also to futureproof future work with gRPC. The WirePlumber
interfacing code that has been kept from the old binding is
still C for now, converting it to C++ is a planned future
rework.
- Switch from CMake to meson for ease of development and some
degree of futureproofing.
- Use with systemd is assumed; behavior follows the systemd
daemon guidelines barring the use of journald logging prefixes,
which may be addressed with future work. A systemd unit is
also installed as part of the build.
- SPDX license headers using SPDX "short identifiers" are used in
source files rather than the full copyright headers used in the
previous codebase. This follows the direction that projects such
as the Linux kernel are going in.
Bug-AGL: SPEC-4409
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: Ibb7091c4354432bb094147d1419ab475486a4abc
(cherry picked from commit 298bbf445a731b85cb8d5d19a3b595e8870d8701)
|
|
* actually get values instead of storing them into intermediate
pointers on the stack
* fix crash on 32-bit architectures
* no need to use NULL sentinel
Bug-AGL: SPEC-3976
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
Change-Id: I88647ae21405fe3bd7e57c82d3e953be2767c0c9
|
|
* use module-mixer-api and module-default-nodes-api
* use endpoints without endpoint streams (new design)
* improve thread safety a little bit
Bug-AGL: SPEC-3844
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
Change-Id: Ia180d607698d7a8875c19cc48bd2b2c503772945
|
|
The build of the tests would fail with a parsing error. Fix it.
Bug-AGL: SPEC-3590
Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
Change-Id: I3c257210cb2fb7031513e919750b369216de6f07
|
|
Update widget config.xml.in to add "run-by-default" permission.
Bug-AGL: SPEC-3558
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: Ib59442b3ee318f47f8da4412691e29257eefc381
|
|
- Create the file and folders structure required.
for building test bindings. Add all required Cmake files.
- Create aft-agl-audiomixer.json configuration file for
testing binding.
- Create audiomixer.lua for testing bindings.
Bug-AGL: SPEC-3458
Change-Id: I16d43abb29d4a124801c704b4080ba5cba16e1c8
Signed-off-by: Li, Xiaoming <lixm.fnst@cn.fujitsu.com>
|
|
Update autobuild scripts with reworked version that fixes building
outside of the source tree.
Bug-AGL: SPEC-2049, SPEC-3300
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: Ic93266a0ad6d909fe4c19349d06102fa88f71612
|
|
Update autobuild script to create multiple widget target debug, coverage and all
Bug-AGL: SPEC-2049
Signed-off-by: Frederic Marec <frederic.marec@iot.bzh>
Change-Id: I7340889e46b92b2a8cea2f3c243717e0aaaf0b8a
|
|
This updates the gitreview file in the project
.
Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
Change-Id: I172d215baca1f5ce186dc705409e02ea6fda169e
|
|
Previously there was a race condition that would happen when
audiomixer was the first client to connect to pipewire.
It would get a session first and then a default endpoint id
from the session, but at the time the default endpoint id
would be known, the WpProxyEndpoints would still not be ready.
This would cause the populate_controls() algorithm to end up
with no controls and the binding would therefore report that
no controls were exposed.
Now we also handle objects-changed from the endpoints object manager.
This is an additional trigger, so that when we end up in the
situation described above, the objects-changed from the endpoints om
will trigger the controls to be exposed eventually.
In order to avoid signalling control changes all the time,
there are now some checks to change controls only under
certain conditions.
Change-Id: Ied705592f889a0262465ed5efa711233a66d579b
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
|
|
... using wireplumber API to access endpoint information instead
of the low-level pipewire API.
This exports only the master volume for the moment.
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
Change-Id: I4fc78c4182259b6405c1eeaa1823c3bac83ba2ee
|
|
No homepage url found. Please set a PROJECT_URL cmake variable in
your config.cmake.
Bug-AGL: SPEC-2804
Change-Id: I6e135c06c6aa5315ffb9db3907bb20c533ddc79e
Signed-off-by: Li Xiaoming <lixm.fnst@cn.fujitsu.com>
|
|
Subscribe to volume events from the agl-service-signal-composer
service, and enable up/down/mute event processing applied to the
Master mixer control.
Bug-AGL: SPEC-3024
Change-Id: I76bb66c7274875371a581568092c600dfd543e0f
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
|
|
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
Change-Id: I4c00d355a2dc452ebae413f0abf39308ba314f56
|
|
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
Change-Id: Ieba770a3902fa4081ea4b9a1c9506b9abd82f35b
|
|
Bug-AGL: SPEC-2473
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
Change-Id: Ic9fbbf6cc1f91f8699a3ba897b3984d8e4ddf244
|
|
Apparently the binder does not like manual interventions to the
event loop and it has its own mechanism for queueing events
to run asynchronously.
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
Change-Id: Iefef031b4ad8932bbf36a5213a119908de48b41f
|
|
Because the binder doesn't like printing messages with its own
mechanism from other threads.
Change-Id: I6fac81fc6de58f7cbbf2f93b9795c0833e44d85c
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
|
|
This makes the code actually work now
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
Change-Id: I8dad07fc463ca00d4f16be63f0ad73946f6da0bc
|
|
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
Change-Id: I89e493d88c7fa1309f1b2991d346fc496caa6898
|
|
|