[LAD] Session Handlers and 'level 1' support

Nedko Arnaudov nedko at arnaudov.name
Fri Jan 8 11:00:56 UTC 2010


Chris Cannam <cannam at all-day-breakfast.com> writes:

> On Fri, Jan 8, 2010 at 10:36 AM, Nedko Arnaudov <nedko at arnaudov.name> wrote:
>> Currently an app cannot do it at software level. The level 1 support
>> just needs to be documented.
>
> What I mean is: if the user starts an application that has no
> knowledge of LADI at all, and they check the level 1 box in ladish, is
> that application then guaranteed to crash on session save and lose
> their data because of an unhandled signal?

If user checks level 1 in ladish when starting the app, then ladish will
send SIGUSR1 to the app. If the app actually does not support level 1,
signal will be sent and chances are that default signal handler will be
executed. The default signal handler is to terminate the app.

> Or will ladish (and/or LADI) only attempt to notify via signal those
> applications that have registered with LADI in some way?  (i.e. "level
> 1" means "aware of LADI but that's as far as it goes")

Applications cannot register themself yet. This will be possible in
future through fileds in the .desktop files. ladish will send SIGUSR1 on
save for apps that have been started with level 1 radio button selected
by user. For app "level 1" means app will save its state when SIGUSR1 is
received. Level 0 means app is usable in ladish but user will have to
save manually the internal state (it it exists). All JACK apps are
supposed to work inladish out of the box at level 0. So far we've found
only one that doesnt, beatrix. The problem was caused by the inability
of beatrix to run with current directory different from the one where
the beatrix executable is. There is a context-less (because of the
license) patch for beatrix that fixes this problem.

The other problem with some apps is fail of connection restoration
for alsa seq ports. The problem is caused by alsa client name being
different each time. QSynth does this for example. This is issue only
with alsa seq clients. JACK clients work because they are associated
with the started app through the pid and not by name.

The alsa seq support in ladish relies on a2jmidid. ladish patches only
jack midi connections.

-- 
Nedko Arnaudov <GnuPG KeyID: DE1716B0>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 188 bytes
Desc: not available
URL: <http://lists.linuxaudio.org/pipermail/linux-audio-dev/attachments/20100108/bafd1bcc/attachment.pgp>


More information about the Linux-audio-dev mailing list