[LAD] [PATCH] jack dbus and logs improvement

Krzysztof Foltman 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 -
>    optarg)

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 mailing list