Merge ladish.org index.adoc and README into README.adoc
This commit is contained in:
parent
b5d21e1829
commit
e04f2324d3
66
README
66
README
|
@ -1,66 +0,0 @@
|
||||||
========================
|
|
||||||
LADI Session Handler
|
|
||||||
========================
|
|
||||||
|
|
||||||
http://ladish.org/
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
ladish has GUI frontend, gladish, based on lpatchage (LADI Patchage)
|
|
||||||
and the ladish_control command line app for headless operation. LADI
|
|
||||||
Tools is set of apps that interface with ladish, JACK server and
|
|
||||||
a2jmidid
|
|
||||||
|
|
||||||
ladish requires D-Bus and JACK compiled with D-Bus support.
|
|
||||||
|
|
||||||
LADI Session Handler is rewrite of LASH.
|
|
||||||
|
|
||||||
Features:
|
|
||||||
* 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 their 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.
|
|
||||||
|
|
||||||
Some of the following features may be already implemented
|
|
||||||
as part of KXStudio project [1] by its frontend GUI applications
|
|
||||||
for ladish backend services. In particular check Claudia [2],
|
|
||||||
Claudia-Launcher [3] and Cadence [4].
|
|
||||||
|
|
||||||
Planned features:
|
|
||||||
* 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 the 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.
|
|
||||||
|
|
||||||
[1] https://kx.studio/
|
|
||||||
[2] https://kx.studio/Applications:Claudia
|
|
||||||
[3] https://kx.studio/Applications:Claudia-Launcher
|
|
||||||
[4] https://kx.studio/Applications:Cadence
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
<div class="banner">
|
||||||
|
<a href="https://ladish.org/">
|
||||||
|
<img src="ladish_dark.png" alt="LADI Session Handler" height="140" width="497" />
|
||||||
|
</a>
|
||||||
|
</div>
|
|
@ -0,0 +1,5 @@
|
||||||
|
<link rel="shortcut icon" type="image/x-icon" sizes="32x32" href="ladish-logo-32x32.ico" />
|
||||||
|
<link rel="icon" type="image/x-icon" sizes="32x32" href="ladish-logo-32x32.ico" />
|
||||||
|
<link rel="icon" type="image/x-icon" sizes="128x128" href="ladish-logo-128x128.png" />
|
||||||
|
<link rel="apple-touch-icon" type="image/x-icon" sizes="140x140" href="ladi-140x140.png" />
|
||||||
|
<link rel="apple-touch-icon" type="image/x-icon" sizes="128x128" href="ladish-logo-128x128.png" />
|
|
@ -0,0 +1,109 @@
|
||||||
|
:title: LADI Session Handler
|
||||||
|
:docinfo: private-head,private-header
|
||||||
|
:keywords: LADI, JACK, jack-audio-connection-kit, session management
|
||||||
|
|
||||||
|
= LADISH
|
||||||
|
|
||||||
|
LADI Session Handler or simply ladish is a session management system
|
||||||
|
for https://jackaudio.org[JACK] applications on https://kernel.org/[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.
|
||||||
|
|
||||||
|
The LADISH graphical interface (GTK+ based reference front end)
|
||||||
|
image:https://static.lwn.net/images/2013/audio-session/1-gladish-reteo.png["gladish screenshot", link="https://lwn.net/Articles/533594/", width="100%"]
|
||||||
|
|
||||||
|
The Claudia LADISH front end (Python + Qt based)
|
||||||
|
image:https://static.lwn.net/images/2013/audio-session/2-claudia.png["Claudia screenshot", link="https://lwn.net/Articles/533594/", width="100%"]
|
||||||
|
|
||||||
|
Features:
|
||||||
|
|
||||||
|
* Save and restore sets of JACK (audio and MIDI) enabled
|
||||||
|
applications.
|
||||||
|
* Subgraph management, the Studio & Rooms concept.
|
||||||
|
Provide JACK clients with virtual hardware ports, so projects can
|
||||||
|
be transfered (or backups restored) between computers running
|
||||||
|
different hardware and backups.
|
||||||
|
Allows to decouple projects (loaded in a Room) from
|
||||||
|
hardware audio IO used in particular Studio.
|
||||||
|
A virtual jack-multicore cable connects room IO ports
|
||||||
|
to hardware IO ports.
|
||||||
|
* Don't require session handling library to be used. There is no need
|
||||||
|
of such library for restoring connections between JACK clients.
|
||||||
|
LADISH is able to manage JACK apps that don\'t link to liblash (or liblo).
|
||||||
|
This is known as L0 (level zero) in LADISH.
|
||||||
|
* Seamless handling of apps using ALSA sequencer ports.
|
||||||
|
This is achieved by use of a2jmidid and libalsapid.so.
|
||||||
|
The former creates jack-midi ports for the alsa sequencer ones.
|
||||||
|
The latter reports the alsa application process ID to ladishd,
|
||||||
|
so that ladishd can associate the a2jmidid-created ports with application.
|
||||||
|
* Flow canvas based GUI. Positions of elements on the canvas are
|
||||||
|
saved/restored.
|
||||||
|
* Allow clients to use external storage to save their 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.
|
||||||
|
|
||||||
|
Among project future goals are:
|
||||||
|
|
||||||
|
* Support for pipewire setups (in addition JACK1 and JACK2)
|
||||||
|
* List of available JACK applications.
|
||||||
|
* Hierarchical and/or tag-based organization of projects.
|
||||||
|
* Support for applications that create more than one jack client per process
|
||||||
|
* Support for applications that create use more than one jack client process
|
||||||
|
* https://ladish.org/nsm-proto.html[Non Session Manager protocol] support
|
||||||
|
* https://new-session-manager.jackaudio.org/api/index.html[New Session Manager protocol] support
|
||||||
|
* Collaborate with the X11 window manager so window properties like
|
||||||
|
window position, virtual desktop and screen (multimonitor) are
|
||||||
|
saved/restored.
|
||||||
|
* Distributed studio - network connected computers. Netjack
|
||||||
|
configuration is part of the studio and thus is saved/restored.
|
||||||
|
Saving/restoring state in multi-machine network
|
||||||
|
* Ability to move entire sessions between computers,
|
||||||
|
or post sessions on the Internet for download.
|
||||||
|
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.
|
||||||
|
* Session versioning via Git
|
||||||
|
|
||||||
|
GIT repositories:
|
||||||
|
|
||||||
|
* https://github.com/LADI/ladish.git[LADI/ladish at github.com] +
|
||||||
|
Cloud hosted
|
||||||
|
* https://repo.or.cz/ladish.git[Primary backup GIT repository at repo.or.cz] +
|
||||||
|
Cloud hosted
|
||||||
|
* https://git.nedk.org/lad/ladish.git[Upstream development GIT repository] +
|
||||||
|
The network node has issues, SSL certificate has expired and node needs reinstall
|
||||||
|
|
||||||
|
LADI Session Handler was forked from the
|
||||||
|
https://lac.linuxaudio.org/2009/cdm/Thursday/02_Alasuutari/02.pdf[D-Bus-ified LASH project].
|
||||||
|
Things that LADISH can do but LASH (D-Bus-ified or not) cannot:
|
||||||
|
|
||||||
|
* Subgraph management, the Studio & Rooms concept.
|
||||||
|
Allows to decouple projects (loaded in a Room) from
|
||||||
|
hardware audio IO used in particular Studio.
|
||||||
|
A virtual jack-multicore cable connects room IO ports
|
||||||
|
to hardware IO ports.
|
||||||
|
* Don't require session handling library to be used. There is no need
|
||||||
|
of such library for restoring connections between JACK clients.
|
||||||
|
LADISH is able to manage JACK apps that don\'t link to liblash (or liblo).
|
||||||
|
This is known as L0 (level zero) in LADISH.
|
||||||
|
* Seamless handling of apps using ALSA sequencer ports.
|
||||||
|
This is achieved by use of a2jmidid and libalsapid.so.
|
||||||
|
The former creates jack-midi ports for the alsa sequencer ones.
|
||||||
|
The latter reports the alsa application process ID to ladishd,
|
||||||
|
so that ladishd can associate the a2jmidid-created ports with application.
|
||||||
|
|
||||||
|
See also:
|
||||||
|
|
||||||
|
* https://github.com/LADI/[LADI at GitHub]
|
||||||
|
* https://ladish.org/jackdbus.html[jackdbus]
|
||||||
|
* https://lac.linuxaudio.org/2009/cdm/Thursday/02_Alasuutari/02.pdf[Juuso ALASUUTARI, LASH Audio Session Handler: Past, Present, and Future]
|
||||||
|
|
||||||
|
For related discussions, you are invited to join
|
||||||
|
https://libera.chat/[Libera.Chat] channel #ladi
|
Loading…
Reference in New Issue