The K Desktop Environment

1.3. History

In late 1997 Stefan Westerfeld started working on a real-time, modular system for sound synthesis. The code initially ran on a PowerPC system running AIX™. This first implementation was quite simple but supported a full-featured flow system that was able to do such things as play MP3 files and pipe audio streams through effects modules.

The next step was to implement a GUI so that modules could be manipulated graphically. Stefan had had some good experience using KDE, so that was chosen as the GUI toolkit, (knowing that it might be necessary to do a Gnome/Gtk+ version as well) and this later led to using Linux® as the main development platform. Originally named ksynth, the project was renamed aRts and the pace of development accelerated. The project at this stage was quite complete, with a CORBA-based protocol, dozens of modules, a graphical module editing tool, C and C++ APIs, documentation, utilities, and a mailing list and web site with a small group of developers. The project had come a long way after only a little more than a year of development.

As the KDE team started planning for KDE 2.0, it became clear that KDE needed a more powerful infrastructure for sound and other streaming media. It was decided to adapt aRts, as it was a good step in this direction with a proven architecture. Much new development effort went into this new version of aRts, most notably the replacement of the CORBA code with an entirely new subsystem, MCOP, optimized for multimedia. Version 0.4 of aRts was included in the KDE 2.0 release.

Work continues on aRts, improving performance and adding new functionality. It should be noted that even though aRts is now a core component of KDE, it can be used without KDE, and is also being used for applications that go beyond traditional multimedia. The project has attracted some interest from the Gnome team, opening up the possibility that it may someday become the standard multimedia architecture for UNIX® desktop systems.