[Feature Request / Regression] D-Bus interface
EasyEffects Version
8.0.0 (8.0.0.r14.g1290d7d8d-10)
What package are you using?
AUR (easyeffects-git)
Distribution
Arch Linux
Describe the bug
Before the Qt rewrite EasyEffects used to use Dconf to store its settings. This allowed to control EasyEffects settings and plugins from the command line or other applications by simply writing to Dconf, e.g.:
dconf write /com/github/wwmm/easyeffects/streaminputs/input-device "'alsa_input.usb-HTC_VIVE_Pro_Mutimedia_Audio-00.iec958-stereo'"
After the Qt rewrite, EasyEffects now seems to use KConfig XT, which doesn't look like it offers the same functionality. It would be nice to have some sort of IPC interface, perhaps D-Bus, to replace this functionality.
Expected Behavior
No response
Debug Log
No response
Additional Information
No response
EasyEffects v8.0 offers new command line options that might replace the need for d-bus to some extent:
-b, --bypass <bypass-state> Global bypass. 1 to enable and 2 to
disable.
-l, --load-preset <preset-name> Load a preset. Example: easyeffects -l
music
-p, --presets Show available presets.
-a, --active-preset <preset-type> Get the active input/output preset.
-s, --active-presets Get the active input and output presets.
It would be nice to have some sort of IPC interface
We already have a QLocalServer in place https://github.com/wwmm/easyeffects/blob/22d9287e4b46f1f6e96b9bed2dd483edb0d61836/src/local_server.cpp#L177. But so far only plugins setting can be read/written by it. For the others more setters/getters need to be implemented.
But so far only plugins setting can be read/written by it.
Actually the only plugin setting that can be set right now is the loudness from the loudness plugin. For everything else more code needs to be written. And for reads all parameters of the loudness plugin should be available. More work needed for other plugins.
Allowing access for all the settings will obviously require a lot of work. So this should be done only for what is really necessary. Most of the times people wanted external access so custom tray icon menus could be implemented. Now that we have one the necessity for external access should not be as important as before.