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