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.