Re: [LAD] [ANN] LADI Session Handler - Preview 2

From: rosea grammostola <rosea.grammostola@email-addr-hidden>
Date: Tue Dec 29 2009 - 15:40:59 EET

Nedko Arnaudov wrote:
> The second milestone is reached and result is a tarball that brave souls
> may want to download and try. It can start apps and restore their
> connections. Level 1 apps are supported.
>
> Beware that no apps have implemented level 1 yet. If non-level-1 app is
> started at level 1, it will probably quit on save, because the default
> signal handler for SIGUSR1 terminates the process.
>
> This preview also features a2jmidid support. Run the a2j script as an
> app in the studio.
>
> This is a beta quality software, use it with double caution.
>
> I would like to thank the early adopters and especially Frank Kober for
> their help with testing the git ladish code and for the valuable
> suggestions they gave.
>
> Build will produce three operational components:
> * ladishd - The daemon, a D-Bus service
> * gladish - GTK GUI interface
> * ladish_control - Command-line interface
>
> In the tarball you will also find bundled:
> * flowcanvas-0.6.0
> * LADI Tools (svn version)
> * a2jmidid-6 (contains the a2j script for use in ladish)
> * jack2 from the ladi branch
>
> The jack2 ladi branch contains fixes for two important issues:
> * Race that causes connection restore to fail sometimes during studio
> startup (http://ladish.org/ticket/28)
> * A deadlock on studio start (http://ladish.org/ticket/35)
>
> Hopefully, these fixes with be in the next jack2 release (1.9.5).
>
> The jack2 ladi branch also contains the no-self-connect changeset that
> adds new engine option, for disabling self connect of apps. Default
> value for this option is to allow self connections.
>
> Make sure to configure jack2 with --dbus (and maybe with --classic too).
>
> Download:
> http://ladish.org/download/ladish-0.2.tar.bz2
> http://ladish.org/download/ladish-0.2.tar.bz2.sig
>
> Homepage: http://ladish.org/
> Roadmap: http://ladish.org/roadmap
>
> ---------------------------------------------------------------------
> LADI Session Handler or simply ladish is a session management system
> for JACK applications on GNU/Linux. Its aim is to allow you to have
> many different audio programs running at once, to save their setup,
> close them down and then easily reload the setup at some other
> time. ladish doesn't deal with any kind of audio or MIDI data itself;
> it just runs programs, deals with saving/loading (arbitrary) data and
> connects JACK ports together. It can also be used to move entire
> sessions between computers, or post sessions on the Internet for
> download.
>
> Project goals:
> * Save and restore sets of JACK (audio and MIDI) enabled
> applications.
> * Provide JACK clients with virtual hardware ports, so projects can
> be transfered (or backups restored) between computers running
> different hardware and backups.
> * Don't require session handling library to be used. There is no need
> of such library for restoring connections between JACK clients.
> * Flow canvas based GUI. Positions of elements on the canvas are
> saved/restored.
> * Allow clients to use external storage to save its state. This
> includes storing internal state to non-filesystem place like memory
> of a hardware synth. This also includes storing client internal
> state (client project data) in a way that is not directly bound to
> ladish project.
> * Import/export operations, as opposed to save/load. Save/load
> operate in current system and may cause saving data outside of
> project itself (external storage). Import/export uses/produces
> "tarball" suitable for transferring session data over network to
> other computer or storing it in a backup archive.
> * Hierarchical or tag-based organization of projects.
> * List of JACK applications. Applications are always started through
> ladish to have restored runtime environment closer to one existed
> before project save.
> * Distributed studio - network connected computers. Netjack
> configuration is part of the studio and thus is saved/restored.
> * Collaborate with the X11 window manager so window properties like
> window position, virtual desktop and screen (multimonitor) are
> saved/restored.
>
>

Hi all,

I must admit I was skeptical about Ladish, after the disappointing
progress of LASH and the jackdbus debate on LAD. By accident I got an
conversation with Nedko on IRC and being in an 'tweak-mode' I was so
'stupid' to try ladish, not knowing what to expect really cause the
website couldn't make that clear to me at that point. But also with in
mind that an Session Handler is what Linux needs if you want to work
'the modular way'.

Since I met Linux it has been an debate, whether the modular approach on
Linux is good or bad. It became obvious to me that technical spoken
there where advantages for sure, and after I did see the JACK design
presentation on jackaudio.org I found it a intelligent concept, which
could especially be useful in an open source community, where it seems
to be harder for people to spend a lot of time on a big 'all-in-one-app'
or to work together like you can do within a company. So an approach
where developer A works on an 'one-task-one-tool-app' for task Y and
developer B is working on a 'one-task-one-tool-app' for task X, and
being able to connect one tool with another, looked like it was the best
way to gain success when working as an community.

But, all though striving hard to proof wrong, the disadvantage of the
modular approach was hard to tackle. Launching all apps and settings
manually again and again. Especially till approximately one year ago,
when I was less capable of configuring my system for RT properly and
when the RT kernels where not as good as they are now, and JACK was
shutting down more often then the recent JACK2, it was really bad often.
Just launched four apps with their settings, made some sounds and then
"jack shuts down unexpectedly", end of party, restart party. Being busy
for 15minuts to get it all back again...

With an session handler like Ladish, I feel the modular approach gets
another chance. It could fulfill the potential of the modular approach,
the-one-task-one-tool, the unix philosophy. It makes working on Linux
beneficial again in certain areas compared to other OS. I'm not saying
an 'all-in-one-app' with plugins is not good. No I like that to, but
with the LinuxAudio infrastructure at the moment in mind, it is a 'must'
to be able to work both ways. Now (there are no LV2 plugins of Hydrogen,
ams, etc. soon) but also in the future.

After some testing (I decided to compile jack2 from git and ladi branch
with --dbus and --classic so I was able to use both jackdbus and jackd.
) I must say that I'm enthusiastic about Ladish. It does make working
the modular way on Linux far more pleasurable already. It launches apps
automatically with in a studio and restores the connections. As a
'tester' I found the support excellent via IRC (#ladi at freenode). I
had some Debian related issues and they where fixed within an hour.
Fixes where quick not only for ladish but also for the laditools and
a2jmidid (I build them all from git). Also the devs are open to
suggestions and critique.

I really can recommend everyone with a bit of Linux experience to try it
out! I think Ladish is especially useful for the 'Light' music musicians
(pop, rock, dance etc.). It is not necessarily the best session
handling approach for everyone though. I can imagine that projects who
work with a very stable set of tools (openoctave for example) , could
equally benefit from some kind of scripting solution, like the
openoctave project is using already. But when I think about the
discussion on LAU about 'fast composing tools' by Atte and Ken, I really
think Ladish could be great for that kind of projects. It could even be
a alternative to Renoise, when launching tools like Aldrin/ Epichord,
Lv2rack, fst/vsthost, jack-mixer together in a 'studio' in Ladish (just
an example). Why not sit around the table with some people who have the
same goals and make those apps work perfectly together with each other
and are doing the things you want in your workfow (the openoctave
approach)? The same is true for the discussion about 'Ableton live
alternative on Linux' imo.

I'm not saying Ladish is already there. There has been a firm debate
about the good and the bad of jackdbus on LAD (which I don't want to do
over again in this thread ;) ). It doesn't seems to be totally clear
what are actually the benefits or disadvantages of jackdbus, what are
myths about jackdbus and what not... So I think another benefit of
having more testers, users and developers involved in Ladish, is that
you can influence the development of Ladish a bit and that the community
can point to, and solve some problems if they are there (btw the
developers are not necessarily sticking with jackdbus for ever, it seems
to be the best choice atm and we have to see how it develops). Another
point later in it's development is the implementation of level 1 and
higher in other apps (http://ladish.org/wiki/levels). How could this be
done as easy and good as possible and how can apps implement Ladish support?

At least I go further with testing and enjoying the features of Ladish
for my workflow. I hope more people (users and developers) will join to
test, stimulate and criticize it. If Ladish succeed it will be a major
breakthrough for LinuxAudio and especially the users imho.

Happy new year! :)

\r

 
_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-dev
Received on Tue Dec 29 16:15:04 2009

This archive was generated by hypermail 2.1.8 : Tue Dec 29 2009 - 16:15:04 EET