### aRts/MCOP documentation index

#### The basics

aRts is a short form for "analog realtime synthesizer". The idea of the whole thing is to create/process sound using small modules which do certain tasks. These may be create a waveform (oscillators), play samples, filter data, add signals, perform effects like delay/flanger/chorus, or output the data to the soundcard.

By connecting all those small modules together, you can perform complex tasks like simulating a mixer, generating an instrument or things like playing a wave file with some effects.

#### What is this MCOP stuff? What is happening with CORBA?

All "stable" aRts releases until now (that is until arts-0.3.4) were using CORBA. That was a convenient way to let the GUI components of aRts run in one process, while the sound calculations ran in another. Due to that, a blocking X-Server would never let the sound stop, and the sound server could run as realtime process with very low latency.

However, CORBA has also some disadvantages (for instance speed of communication, the lack to work with "streams" of media, bloat).

MCOP is a try to get around these problems by providing a new, fast IPC mechanism (ORB) for aRts.

Since the "old" aRts releases (until 0.3.4) use CORBA a lot, lots of stuff needs to be redone to get a new release based on MCOP instead of CORBA.

#### Available documentation

The documentation (currently more or less a collection of associated notes to the aRts/MCOP/KDE developments).

LICENSE | some notes about the licensing
MCOP | the detailed description of the protocol/marshalling MCOP servers use
TODO | the TODO list
book.html | multimedia chapter of the KDE2.0 development book
structure.html | a brief overview over the structure of aRts
corba-user-intro.html | an introduction to MCOP for CORBA users
stream-types.html | about synchronous vs. asynchronous streams
async-streams.html | how to use asynchronous streams
default-streams.html | how to make object connection smarter
using-references.html | references and error handling
latency.html | how latency, streaming and cpu usage interact
why-not-dcop.html | details why aRts doesn't use DCOP
security.html | description of the MCOP security model
artsc.html | The C Api: how to make plain-C programs use the aRts server
modules.html | Documentation about namespaces (which correspond to modules in the IDL).
trading.html | How to register and search components.
new-tech.html | Work in progress - collection of some notes about ongoing projects.
artsd-faq.html | User oriented FAQ regarding the aRts sound server.

#### Downloading the sources

aRts is in the KDE2.0 CVS, so if you get a KDE2.0 snapshot, you also get an aRts. On the other hand, if you want only the aRts sources, and no KDE, there are daily snapshots.

download a snapshot of the sources

#### More information

- aRts homepage http://www.arts-project.org
- the mailing list for aRts
- the kde-multimedia mailing list
- the kdelibs/arts CVS tree in the KDE2 CVS - browse code online!
- contact stefan@space.twc.de if you want to join the team / have questions