[LAD] [PATCH] jack dbus and logs improvement
wdev at foltman.com
Tue Dec 11 13:56:21 UTC 2007
Nedko Arnaudov wrote:
> * The logs patch replaces various calls to fprintf(),printf() and
> fputs() with calls to jack_error() and newly appeared jack_info()
> functionality. It also fixes some obvious error/info log mismatches
> in current code.
Good idea. Using printf() and friends as means of communicating status
is good for prototype code, but some error message "framework" (like
this one) is usually better - more flexible, easier to maintain etc.
> * The dbus patch provides additional fronted to jack server, alternative
> to jackd. the dbus object is auto activatated when
> needed. Starting and stopping of the jack server are methods of the
> dbus object. Other methods are for setting/getting jack
> settings. Settings are being persisted.
I wish it worked like that from start. Seamless integration with desktop
is always nice. Qjackctl was a step in the right direction and I'm using
it very often, but this, plus a dockable or tray-based control app,
would be even better.
> * Provide access to clock source parameter (tricky)
What would it return? A driver and sound device ID?
> * Provide access to debug-timer parameter (not fully documented -
What's a debug-timer?
> * Send signals to (control) apps (status changes, connections, clients,
> port renames, xruns, error and info logs)
That's a must! :)
> * In client library, when compiled with dbus support, try to start via
> dbus frontend first (auto-activation)
Auto-activation and auto-shutdown is definitely a good idea as well. At
least, if we want JACK to "just work".
> * Implement configurator supporting multiple user configurations
> (separate D-Bus object)
Do you mean switchable or simultaneous configs? Switchable, I suppose?
Yes, that would be useful as well. Is it how sampling frequency
selection would work?
> Currently there is problem with ffado driver (freebob works). libffado
> uses libxml++ that uses libxml2.
Do you *need* XML support at all? Can't it be done with something
simpler, like plain text config?
> Multiconfig functionality is provided by separate object to be reused by
> control apps like patchage and qjackctl.
How does multiconfig relate to LASH? Is jackdbus configuration name
stored in LASH session, or...?
More information about the Linux-audio-dev