Commit graph

25 commits

Author SHA1 Message Date
Jason Nader
b1b5bf2f5f
wpctl: add option to limit set-volume final value 2022-08-16 23:57:20 +09:00
Julian Bouzas
ca16201034 wpctl: accept 0 as ID in clear-default subcommand
Unlike the rest of subcommands, The ID for the clear-default subcommand must be
a setting ID, not a pipewire Object ID. This means we cannot use the parse_id()
and translate_id() helper functions because the setting ID 0 is acceptable, and
the @DEFAULT_AUDIO_SINK@, @DEFAULT_AUDIO_SOURCE@ and @DEFAULT_VIDEO_SOURCE@
strings are not acceptable.
2022-07-28 18:00:11 +00:00
George Kiagiadakis
180ecab04d wpctl: set-volume: improve the code, treat percentage as pactl does
10% should be written as 10%, not as 0.1%
and 0.7 + 10% in pactl translates to the volume becoming 0.8, not 0.77
2022-07-05 15:40:32 +03:00
George Kiagiadakis
d6241f7f0d wpctl: remove unused variables 2022-07-05 14:32:18 +03:00
George Kiagiadakis
e33922ff7b wpctl: remove double % sign printouts, fix the style of the set-volume summary 2022-07-05 14:30:33 +03:00
George Kiagiadakis
6954105589 wpctl: fix inspect for metadata objects
metadata objects do not implement WpPipewireObject
2022-06-28 10:57:09 +03:00
Varnit Singh
f53efaabf1 wpctl: allow modifying volume levels using percentage/step amount. 2022-06-08 09:25:45 +00:00
Varnit Singh
e192deb7bc wpctl: Add get-volume command and functionality 2022-06-08 09:18:34 +00:00
George Kiagiadakis
b345468e82 wpctl: print link states in the status output 2022-05-30 11:06:46 +03:00
Julian Bouzas
70ae393166 wpctl: support changing volume and mute by PID number
The 'set-volume' and 'set-mute' commands have a new --pid flag to allow changing
the volume or mute for all client nodes that are created by a specific process.
2022-05-03 09:36:57 +00:00
George Kiagiadakis
0f3bb516f8 wpexec: fix script activation to work with per-script plugins 2022-05-02 11:01:34 +03:00
Théo Lebrun
7784cfad92 wpctl: support @DEFAULT_{AUDIO,VIDEO}_{SINK,SOURCE}@ as ID 2022-04-26 13:51:32 +00:00
Pauli Virtanen
7e6e0e9ba0 src: setlocale in main() for tools and the daemon
Previously, pw_init calls setlocale(), but this will change in future.
Setting the locale should be done by the main application, and is needed
in wireplumber for e.g. for translated UI elements.

Set the locale in main() for wireplumber daemon and tools, to have the
locale set also with the new pw_init behavior.

Set also LC_NUMERIC to C, to match old pw_init behavior.
2022-03-24 07:11:39 +00:00
George Kiagiadakis
cfee1f0c65 wpctl: ensure that the result of strtol() is < G_MAXUINT32
Fixes overflows on 64-bit architectures

Closes #173
2022-01-26 15:09:55 +02:00
Julian Bouzas
0272e11c53 wpctl: add clear-default option to clear default configured node names
This also improves the status output to display the configured default node
names using the new get-default-configured-node-name API, and refactors
set-default to also use the new set-default-configured-node-name API from
the default-nodes-api module.
2022-01-25 09:57:33 +00:00
Julian Bouzas
2792cecbcf properties: use a boxed WpPropertiesItem type when iterating
Needed for JavaScript bindings
2021-07-15 08:55:00 -04:00
George Kiagiadakis
a57647769a metadata: filter for the "default" metadata object in all places where we use it
there can be more metadata objects around...
2021-06-18 10:39:47 +03:00
George Kiagiadakis
86fde56ddd daemon/wpexec: standardize exit codes based on sysexits.h 2021-06-08 20:39:36 +03:00
George Kiagiadakis
aa618e99cb wpexec: force the log level to be at least 1 and use fprintf() for local errors
pipewire's client.conf sets the default log level to 0, which is not
good for wpexec, as lua runtime errors are reported as warnings currently.

Also, let's use fprintf() for local cli errors to make sure they get printed
even if the log level is 0
2021-06-08 20:39:36 +03:00
George Kiagiadakis
ac23e60267 wpctl: fix iterator cleanup 2021-05-21 20:04:27 +03:00
George Kiagiadakis
ac9e1e89c4 wp: remove WpSession and WpEndpointLink
We have ended up not using them, so let's not carry them
in the ABI of 0.4

We can always revert that, but let's first decide how
these objects should be used
2021-05-21 19:57:31 +03:00
George Kiagiadakis
b46587393c lua: change the "wireplumber.interactive" property to "wireplumber.daemon"
with inverted semantics
2021-04-22 13:48:06 +03:00
George Kiagiadakis
e13b2bc8ad wpctl: handle endpoints nicely and enable volume controls on them
Instead of adding Props on endpoints again and syncing with the associated
node, it is easier to just use the volume controls of the associated node
2021-04-12 12:46:40 +03:00
George Kiagiadakis
1ba99739c2 tools: split wireplumber script execution mode to a separate wpexec tool
This is mainly for security reasons. This way, we can limit the
permissions of wpexec without limiting wireplumber, for instance
with pipewire's default module-access, which limits apps based on
their executable name
2021-04-12 09:53:30 +03:00
George Kiagiadakis
e654f7709f tools: move under the 'src' directory 2021-04-12 09:53:30 +03:00