LASH stands for LASH Audio Session Handler. It is a session management
system for audio applications on GNU/Linux. It understands the
JACK low latency audio API and the ALSA MIDI sequencer interface. The
system is comprised of a server program, @command{lashd}, an application
library, liblash
, and a control program - either the command-line
@command{lash_control} or the GTK @command{lash_panel}. The server and
clients communicate over TCP sockets. There are three kinds of clients:
normal clients (audio applications), user interfaces for the server,
and connection patchbays.
In order to describe the system, we should introduce some terminology. First of all, the server is the @command{lashd} server program, an omni-present marshaller and database for storing arbitrary application data. The library is the `liblash' shared library. It contains all the functions that an application uses to communicate with the server and take part in the system. Such an application is called a client.
The server deals with things in terms of collections of clients, called projects. A project has a unique string name, a current directory and a list of clients that are in that project. The server can have one client that is a server interface that allows the user to control the server. There are two server interface included with the system, the @command{lash_control} command-line interface, and the @command{lash_panel} GTK interface.
Go to the first, previous, next, last section, table of contents.