Go to the first, previous, next, last section, table of contents.


1. Introduction

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.

1.1 Nomenclature

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.