2
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.1-Based Variant V1.0//EN" "dtd/kdex.dtd" [
3
<!ENTITY kappname "&arts;" >
4
<!ENTITY tools SYSTEM "tools.docbook">
5
<!ENTITY arts-builder SYSTEM "artsbuilder.docbook">
6
<!ENTITY detail SYSTEM "detail.docbook">
7
<!ENTITY arts-midi SYSTEM "midi.docbook">
8
<!ENTITY gui SYSTEM "gui.docbook">
9
<!ENTITY mcop-ref SYSTEM "mcop.docbook">
10
<!ENTITY arts-mcop SYSTEM "mcop.docbook">
11
<!ENTITY apis SYSTEM "apis.docbook">
12
<!ENTITY modules SYSTEM "modules.docbook">
13
<!ENTITY porting SYSTEM "porting.docbook">
14
<!ENTITY helping SYSTEM "helping.docbook">
15
<!ENTITY future SYSTEM "future.docbook">
16
<!ENTITY references SYSTEM "references.docbook">
17
<!ENTITY arts-faq SYSTEM "faq.docbook">
18
<!ENTITY arts-glossary SYSTEM "glossary.docbook">
19
<!ENTITY digitalaudio SYSTEM "digitalaudio.docbook">
20
<!ENTITY midiintro SYSTEM "midiintro.docbook">
21
<!ENTITY MCOP "<acronym>MCOP</acronym>">
22
<!ENTITY DCOP "<acronym>DCOP</acronym>">
23
<!ENTITY MIDI "<acronym>MIDI</acronym>">
24
<!ENTITY mcopidl "<application>mcopidl</application>">
25
<!ENTITY IDL "<acronym>IDL</acronym>">
26
<!ENTITY % English "INCLUDE" > <!-- change language only here -->
27
<!ENTITY % addindex "IGNORE">
29
<book lang="&language;">
31
<title>The &arts; Handbook</title>
35
<firstname>Stefan</firstname>
36
<surname>Westerfeld</surname>
38
<address><email>stefan@space.twc.de</email></address>
43
<firstname>Jeff</firstname>
44
<surname>Tranter</surname>
46
<address><email>tranter@kde.org</email></address>
50
<!-- TRANS:ROLES_OF_TRANSLATORS -->
54
<year>1999-2001</year>
55
<holder>Stefan Westerfeld & Jeff Tranter</holder>
57
<legalnotice>&FDLNotice;</legalnotice>
59
<date>2001-06-10</date>
60
<releaseinfo>1.00.09</releaseinfo>
62
<abstract><para>This handbook describes &arts;, the Analog Real-time
68
<keyword>aRts</keyword>
69
<keyword>artsbuilder</keyword>
70
<keyword>synthesizer</keyword>
71
<keyword>multimedia</keyword>
72
<keyword>structure</keyword>
73
<keyword>music</keyword>
74
<keyword>sound</keyword>
75
<keyword>KDE</keyword>
79
<chapter id="introduction">
80
<title>Introduction</title>
82
<sect1 id="what-is-arts">
83
<title>What is &arts;?</title>
85
<para>The Analog Real-Time Synthesizer, or &arts;, is a modular system
86
for synthesizing sound and music on a digital computer. Using small
87
building blocks called modules, the user can easily build complex audio
88
processing tools. Modules typically provide functions such as sound
89
waveform generators, filters, audio effects, mixing, and playback of
90
digital audio in different file formats.</para>
92
<para>The &artsd; sound server mixes audio from several sources in real
93
time, allowing multiple sound applications to transparently share access
94
to sound hardware.</para>
96
<para>Using &MCOP;, the Multimedia Communication Protocol, multimedia
97
applications can be network transparent, authenticated for security, and
98
cross-platform using interfaces defined in a language-independent way
99
using &IDL;. Support is also provided for non &arts;-aware legacy
100
applications. As a core component of the &kde; 2 desktop environment,
101
&arts; provides the basis for the &kde; multimedia architecture, and
102
will in future support more media types including video. Like &kde;,
103
&arts; runs on a number of operating systems, including &Linux; and BSD
104
variants. It can also be used independently of &kde;.</para>
108
<sect1 id="using-this-manual">
109
<title>Using This Manual</title>
111
<para>This manual is intended to provide comprehensive documentation on
112
&arts; for users at different skill levels. Depending on whether you are
113
a casual user of multimedia applications that make use of &arts; or a
114
multimedia application developer, you may want to take different paths
115
through the manual.</para>
117
<para>It is suggested that you first read the <link
118
linkend="installation">Downloading and Building &arts;</link> chapter if
119
you need to get &arts; initially installed and running. If you already
120
have a working system, likely bundled with your operating system
121
distribution, you may choose to skip this section.</para>
123
<para>You should then read the sections in the <link
124
linkend="arts-tools">&arts; Tools</link> chapter, especially &artsd;,
125
artscontrol;, &artsshell;, and &artsdsp;. This will help you make the
126
most effective use of &arts;.</para>
128
<para>If you are interested in going further with &arts;, read the
129
chapter on <link linkend="artsbuilder">&artsbuilder;</link> and go
130
through the tutorial. This should give you an appreciation of the
131
powerful capabilities of &arts; and the provided modules that can be
132
used without the need to be a programmer.</para>
134
<para>If you want to know more about the internals of &arts;, either to
135
develop multimedia applications or extend &arts; itself, read some or
136
all of the chapter <link linkend="arts-in-detail">&arts; in
137
Detail</link>. This should give you an understanding of all of the
138
concepts that are prerequisites to &arts; software development.</para>
140
<para>If you are interested specifically in the <acronym>MIDI</acronym>
141
capabilities of &arts;, you should read the chapter on <link
142
linkend="midi">&MIDI;</link>.</para>
145
<para>To learn more about the &arts; graphical elements, either as an advanced
146
user of artsbuilder or to create new elements, read the section on <link
147
linkend="gui-elements"><acronym>GUI</acronym> Elements</link>.</para>
150
<para>If you want to develop &arts;-aware multimedia applications, the
151
<link linkend="arts-apis">&arts; Application Programming
152
Interfaces</link> chapter covers the different <acronym>API</acronym>s
155
<para>If you want to extend &arts; by creating new modules, read the
156
<link linkend="arts-modules">&arts; Modules</link> chapter.</para>
158
<para>If you are modifying an existing application to run under &arts;,
159
read the chapter on <link linkend="porting">Porting Applications to
160
&arts;</link>.</para>
162
<para>You you can find out how to help contribute to the &arts; project
163
in the <link linkend="contributing">Contributing to &arts;</link>
164
chapter, read about upcoming &arts; development in the chapter on <link
165
linkend="future-work">Future Work</link>, and find links to more
166
information in the <link linkend="references">References</link>
169
<para>We have also rounded out the manual with some additional material,
170
including <link linkend="faq">answers to frequently asked
171
questions</link>, a <link linkend="contributors">list of
172
contributors</link>, the details on &arts; <link
173
linkend="copyright-and-licenses">copyright and licensing</link>, and
174
some background material on <link linkend="intro-digital-audio">digital
175
audio</link> and <link
176
linkend="midi-introduction">&MIDI;</link>. A <link
177
linkend="glossary">glossary</link> of terms is also included.</para>
181
This manual is still very much a work in progress. You are welcome to
182
contribute by writing portions of it, but if you wish to do so, contact
183
Jeff Tranter <email>tranter@kde.org</email> or Stefan Westerfeld
184
<email>stefan@space.twc.de</email> first to avoid duplication of effort.
191
<title>History</title>
194
In late 1997 Stefan Westerfeld started working on a real-time, modular
195
system for sound synthesis. The code initially ran on a PowerPC system
196
running &AIX;. This first implementation was quite simple but supported
197
a full-featured flow system that was able to do such things as play MP3
198
files and pipe audio streams through effects modules.
202
<para>The next step was to implement a &GUI; so that modules could be
203
manipulated graphically. Stefan had had some good experience using
204
&kde;, so that was chosen as the &GUI; toolkit, (knowing that it might
205
be necessary to do a Gnome/Gtk+ version as well) and this later led to
206
using &Linux; as the main development platform. Originally named
207
<application>ksynth</application>, the project was renamed &arts; and
208
the pace of development accelerated. The project at this stage was quite
209
complete, with a <acronym>CORBA</acronym>-based protocol, dozens of
210
modules, a graphical module editing tool, C and C++
211
<acronym>API</acronym>s, documentation, utilities, and a mailing list
212
and web site with a small group of developers. The project had come a
213
long way after only a little more than a year of development.</para>
215
<para>As the &kde; team started planning for &kde; 2.0, it became clear
216
that &kde; needed a more powerful infrastructure for sound and other
217
streaming media. It was decided to adapt &arts;, as it was a good step
218
in this direction with a proven architecture. Much new development
219
effort went into this new version of &arts;, most notably the
220
replacement of the <acronym>CORBA</acronym> code with an entirely new
221
subsystem, &MCOP;, optimized for multimedia. Version 0.4 of &arts; was
222
included in the &kde; 2.0 release.</para>
224
<para>Work continues on &arts;, improving performance and adding new
225
functionality. It should be noted that even though &arts; is now a core
226
component of &kde;, it can be used without &kde;, and is also being used
227
for applications that go beyond traditional multimedia. The project has
228
attracted some interest from the Gnome team, opening up the possibility
229
that it may someday become the standard multimedia architecture for
230
&UNIX; desktop systems.</para>
250
<chapter id="copyright-and-licenses">
252
<title>&arts; Copyright and Licensing</title>
254
<para>&arts; software copyright 1998-2001 Stefan Westerfeld
255
<email>stefan@space.twc.de</email></para>
257
<para><anchor id="contributors" />
258
Documentation copyright 1999-2001
259
Stefan Westerfeld <email>stefan@space.twc.de</email> and
260
Jeff Tranter <email>tranter@kde.org</email>.
262
<!-- TRANS:CREDIT_FOR_TRANSLATORS -->
267
All libraries that are in &arts; are licensed under the terms of the
268
<acronym>GNU</acronym> Lesser General Public license. The vast majority of the
269
&arts; code is in the libraries, including the whole of <acronym>MCOP</acronym>
270
and ArtsFlow. This allows the libraries to be used for non-free/non-open source
271
applications if desired.
274
<para>There are a few programs (such as <application>artsd</application>), that
275
are released under the terms of the <acronym>GNU</acronym> General Public
276
License. As there have been different opinions on whether or not linking
277
<acronym>GPL</acronym> programs with &Qt; is legal, I also added an explicit
278
notice which allows that, in addition to the <acronym>GPL</acronym>: permission
279
is also granted to link this program with the &Qt; library, treating &Qt; like a
280
library that normally accompanies the operating system kernel, whether or not
281
that is in fact the case.</para>
285
<appendix id="installation">
286
<title>Installing &arts;</title>
289
In order to use &arts; you obviously need to have it installed and running on
290
your system. There are two approaches for doing this, which are described in the
294
<sect1 id="binary-install">
295
<title>Installing a Precompiled Binary Release</title>
298
The quickest and easiest way to get &arts; up and running is to install
299
precompiled binary packages for your system. Most recent &Linux; distributions
300
include &kde;, and if it is &kde; 2.0 or later it will include &arts;. If &kde;
301
is not included on your installation media it may be available as a download
302
from your operating system vendor. Alternatively it may be available from third
303
parties. Make sure that you use packages that are compatible with your operating
308
A basic install of &kde; will include the sound server, allowing most
309
applications to play sound. If you want the full set of multimedia tools and
310
applications you will likely need to install additional optional packages.
314
The disadvantage of using precompiled binaries is that they may not be the most
315
recent version of &arts;. This is particularly likely if they are provided on
316
&CD-ROM;, as the pace of development of &arts; and &kde; is such that &CD-ROM;
317
media cannot usually keep pace. You may also find that, if you have one of the
318
less common architectures or operating system distributions, precompiled binary
319
packages may not be available and you will need to use the second method.
324
<sect1 id="source-install">
325
<title>Building From Source</title>
328
While time consuming, the most flexible way to build &arts; is to compile it
329
yourself from source code. This ensures you have a version compiled optimally
330
for your system configuration and allows you to build the most recent version.
334
You have two choices here -- you can either install the most recent stable
335
version included with &kde; or you can get the most recent (but possibly
336
unstable) version directly from the &kde; project <acronym>CVS</acronym>
337
repository. Most users who aren't developing for &arts; should use the stable
338
version. You can download it from <ulink
339
url="ftp://ftp.kde.org">ftp://ftp.kde.org</ulink> or one of the many mirror
340
sites. If you are actively developing for &arts; you probably want to use the
341
<acronym>CVS</acronym> version. If you want to use aRts without KDE, you can
342
download a standalone development snapshot from
343
<ulink url="http://space.twc.de/~stefan/kde/arts-snapshot-doc.html">
344
http://space.twc.de/~stefan/kde/arts-snapshot-doc.html</ulink>.
348
Note that if you are building from <acronym>CVS</acronym>, some components
349
of &arts; (&ie; the basic core components including the sound server) are found
350
in the <acronym>CVS</acronym> module kdelibs, while additional components (⪚
351
<application>artsbuilder</application>) are included in the. This may change in
352
the future. You may also find a version in the kmusic module; this is the old
353
(pre-&kde; 2.0) version which is now obsolete.
357
The requirements for building &arts; are essentially the same as for building
358
&kde;. The configure scripts should detect your system configuration and
359
indicate if any required components are missing. Make sure that you have a
360
working sound driver on your system (either the <acronym>OSS</acronym>/Free
361
driver in the kernel, <acronym>OSS</acronym> driver from 4Front
363
<acronym>ALSA</acronym> driver with <acronym>OSS</acronym> emulation).
366
<para>More information on downloading and installing &kde; (including &arts;)
367
can be found in the <ulink
368
url="http://www.kde.org/documentation/faq/index.html">&kde;
369
&FAQ;</ulink>.</para>
385
sgml-namecase-general:t
386
sgml-general-insert-case:lower
387
sgml-minimize-attributes:nil
388
sgml-always-quote-attributes:t