~ubuntu-branches/ubuntu/hoary/kdemultimedia/hoary

« back to all changes in this revision

Viewing changes to doc/artsbuilder/tools.docbook

  • Committer: Bazaar Package Importer
  • Author(s): Martin Schulze
  • Date: 2003-01-22 15:00:51 UTC
  • Revision ID: james.westby@ubuntu.com-20030122150051-uihwkdoxf15mi1tn
Tags: upstream-2.2.2
ImportĀ upstreamĀ versionĀ 2.2.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!-- <?xml version="1.0" ?>
 
2
<!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.1-Based Variant V1.0//EN" "dtd/kdex.dtd">
 
3
 
 
4
To validate or process this file as a standalone document, uncomment
 
5
this prolog. Be sure to comment it out again when you are done -->
 
6
 
 
7
<chapter id="arts-tools">
 
8
<title>&arts; Tools</title>
 
9
 
 
10
<para>
 
11
Included with &arts; is a number of utilities for controlling and
 
12
configuring its behavior. You need to have some familiarity with most of
 
13
these tools in order to use &arts; effectively. This section describes
 
14
each of the utilities and their command options.
 
15
</para>
 
16
 
 
17
<sect1 id="kde-control-center">
 
18
<title>&kcontrol;</title>
 
19
 
 
20
<para>
 
21
When running &arts; under &kde;, the &kcontrolcenter; provides a group
 
22
of control panel settings under the <guilabel>Sound</guilabel>
 
23
category. Some of these settings are used by &arts;. You can also
 
24
associate sounds with various window manager and &kde; events using the
 
25
<menuchoice><guilabel>Look &amp; Feel</guilabel><guilabel>System
 
26
Notifications</guilabel></menuchoice> panel. See the &kcontrol; manual
 
27
for information on using the panel settings.
 
28
</para>
 
29
 
 
30
</sect1>
 
31
 
 
32
<sect1 id="artsd">
 
33
<title>&artsd;</title>
 
34
 
 
35
<para>
 
36
Access to the sound hardware resources is controlled by &artsd;, the
 
37
&arts; daemon. This allows different applications to simultaneously send
 
38
requests to the server, where they can be mixed together and
 
39
played. Without a centralized sound server a single application using a
 
40
sound device would prevent other applications from using it.
 
41
</para>
 
42
 
 
43
<para>
 
44
To use &arts; there should be one and only one copy of &artsd;
 
45
running. It is typically run when &kde; starts up if it is enabled in
 
46
the &kcontrol; <guilabel>Sound Server</guilabel> panel.
 
47
</para>
 
48
 
 
49
<para>The program accepts the following arguments:</para>
 
50
 
 
51
<!-- LW: FIX THIS -->
 
52
 
 
53
<cmdsynopsis>
 
54
<command>artsd</command>
 
55
<group choice="opt">
 
56
<option>-n</option>
 
57
<option>-p</option>
 
58
<option>-N</option>
 
59
<option>-W <replaceable>n</replaceable></option>
 
60
 
 
61
</group>
 
62
<group choice="opt">
 
63
<option>-a <replaceable>audiomethod</replaceable></option>
 
64
<option>-r <replaceable>sampling rate</replaceable></option>
 
65
<option>-b <replaceable>bits</replaceable></option>
 
66
<option>-d</option>
 
67
<option>-D <replaceable>devicename</replaceable></option>
 
68
<option>-F <replaceable>fragments</replaceable></option>
 
69
<option>-S <replaceable>size</replaceable></option>
 
70
<option>-s <replaceable>seconds</replaceable></option>
 
71
<option>-m <replaceable>appName</replaceable></option>
 
72
</group>
 
73
<group choice="opt">
 
74
<option>-h</option>
 
75
<option>-A</option>
 
76
<option>-v</option>
 
77
<option>-l <replaceable>level</replaceable></option>
 
78
</group>
 
79
</cmdsynopsis>
 
80
 
 
81
<variablelist><varlistentry>
 
82
<term><option>-r <replaceable>sampling rate</replaceable></option></term>
 
83
<listitem>
 
84
<para>Set sampling rate to use.</para>
 
85
</listitem>
 
86
</varlistentry>
 
87
 
 
88
<varlistentry>
 
89
<term><option>-h</option></term>
 
90
<listitem>
 
91
<para>Display command usage.</para>
 
92
</listitem>
 
93
</varlistentry>
 
94
 
 
95
<varlistentry>
 
96
<term><option>-n</option></term>
 
97
<listitem>
 
98
<para>Enable network transparency.</para>
 
99
</listitem>
 
100
</varlistentry>
 
101
 
 
102
<varlistentry>
 
103
<term><option>-p <replaceable>port</replaceable></option>
 
104
</term>
 
105
<listitem>
 
106
<para>Set <acronym>TCP</acronym> port to use (implies
 
107
<option>-n</option>).</para>
 
108
</listitem>
 
109
</varlistentry>
 
110
 
 
111
<varlistentry>
 
112
<term><option>-u</option></term>
 
113
<listitem>
 
114
<para>Public, no authentication (dangerous).</para>
 
115
</listitem>
 
116
</varlistentry>
 
117
 
 
118
<varlistentry>
 
119
<term><option>-d</option></term>
 
120
<listitem>
 
121
<para>Enable full duplex operation.</para>
 
122
</listitem>
 
123
</varlistentry>
 
124
<varlistentry>
 
125
<term><option>-D <replaceable>device name</replaceable></option></term>
 
126
<listitem>
 
127
<para>Specify audio device (usually <filename>/dev/dsp</filename>).</para>
 
128
</listitem>
 
129
</varlistentry>
 
130
 
 
131
<varlistentry>
 
132
<term><option>-F <replaceable>fragments</replaceable></option></term>
 
133
<listitem>
 
134
<para>Set number of fragments.</para>
 
135
</listitem>
 
136
</varlistentry>
 
137
 
 
138
<varlistentry>
 
139
<term><option>-S <replaceable>size</replaceable></option></term>
 
140
<listitem>
 
141
<para>Set fragment size, in bytes.</para>
 
142
</listitem>
 
143
</varlistentry>
 
144
 
 
145
<varlistentry>
 
146
<term><option>-s <replaceable>seconds</replaceable></option></term>
 
147
<listitem>
 
148
<para>Set server auto-suspend time, in seconds. A value of zero
 
149
disables auto-suspend.</para>
 
150
</listitem>
 
151
</varlistentry>
 
152
 
 
153
<varlistentry>
 
154
<term><option>-m <replaceable>appName</replaceable></option></term>
 
155
<listitem>
 
156
<para>Specify the name of an application to be used to display error,
 
157
warning, and informational messages. If you are running KDE you can
 
158
use the <application>artsmessage</application> utility for this.</para>
 
159
</listitem>
 
160
</varlistentry>
 
161
 
 
162
<varlistentry>
 
163
<term><option>-N</option></term>
 
164
<listitem>
 
165
<para>
 
166
Increase the size of network buffers to a value suitable for running over
 
167
a 10 mbps LAN. This is equivalent to using the -w 5 option (see below).
 
168
</para>
 
169
</listitem>
 
170
</varlistentry>
 
171
<varlistentry>
 
172
<term><option>-w <replaceable>n</replaceable></option></term>
 
173
<listitem>
 
174
<para>
 
175
When running <application>artsd</application> over a network connection
 
176
to another host you typically want to use a larger buffer size to
 
177
avoid dropouts. ARts provides applications with a suggested minimum
 
178
buffer size. Without this option the default size is based on the
 
179
fragement size * fragment count. Using this option you can increase
 
180
the size from the default by a factor of <replaceable>n</replaceable>.
 
181
</para>
 
182
</listitem>
 
183
</varlistentry>
 
184
 
 
185
<varlistentry>
 
186
<term><option>-l <replaceable>level</replaceable></option></term>
 
187
<listitem>
 
188
<para>Set information level - 3 (quiet), 2 (warnings), 1 (info), 0
 
189
(debug).</para>
 
190
</listitem>
 
191
</varlistentry>
 
192
 
 
193
<varlistentry>
 
194
<term><option>-v</option></term>
 
195
<listitem>
 
196
<para>Display version level.</para>
 
197
</listitem>
 
198
</varlistentry>
 
199
 
 
200
</variablelist>
 
201
 
 
202
<para>
 
203
In most cases simply running &artsd; will suffice.
 
204
</para>
 
205
</sect1>
 
206
 
 
207
<sect1 id="artswrapper">
 
208
<title>&artswrapper;</title>
 
209
 
 
210
<para>
 
211
To provide good real-time response, &artsd; is usually run as a
 
212
real-time process (on platforms where real-time priorities are
 
213
supported). This requires <systemitem class="username">root</systemitem>
 
214
permissions, so to minimize the security implications, &artsd; can be
 
215
started using the small wrapper program &artswrapper; which simply sets
 
216
real-time priority (running as <systemitem
 
217
class="username">root</systemitem>) and then executes &artsd; as a
 
218
non-<systemitem class="username">root</systemitem> user.
 
219
</para>
 
220
 
 
221
</sect1>
 
222
 
 
223
<sect1 id="artsshell">
 
224
<title>&artsshell;</title>
 
225
 
 
226
<para>
 
227
The &artsshell; command is intended as a utility to perform
 
228
miscellaneous functions related to the sound server. It is expected that
 
229
the utility will be extended with new commands in the future (see the
 
230
comments in the source code for some ideas).
 
231
</para>
 
232
 
 
233
<para>
 
234
The command accepts the following format:
 
235
</para>
 
236
 
 
237
<!-- LW: FIX THIS -->
 
238
 
 
239
<cmdsynopsis>
 
240
<command>artsshell</command>
 
241
<group>
 
242
<arg>suspend</arg><arg>status</arg>
 
243
<arg>terminate</arg>
 
244
<arg>autosuspend <replaceable>secs</replaceable></arg>
 
245
<arg>networkbuffers <replaceable>n</replaceable></arg>
 
246
<arg>volume [<replaceable>volume</replaceable>]</arg>
 
247
<arg>stereoeffect <replaceable>options</replaceable></arg>
 
248
</group>
 
249
<group>
 
250
<option>-h</option>
 
251
<option>-q</option>
 
252
</group>
 
253
</cmdsynopsis>
 
254
 
 
255
<para>artsshell [options] <replaceable>command</replaceable> [<replaceable>command-options</replaceable>] </para>
 
256
 
 
257
<para>
 
258
The following options are supported:
 
259
</para>
 
260
 
 
261
<variablelist>
 
262
 
 
263
<varlistentry>
 
264
<term><option>-q</option></term>
 
265
<listitem>
 
266
<para>Suppress all output.</para>
 
267
</listitem>
 
268
</varlistentry>
 
269
 
 
270
<varlistentry>
 
271
<term><option>-h</option></term>
 
272
<listitem>
 
273
<para>Display command usage.</para>
 
274
</listitem>
 
275
</varlistentry>
 
276
 
 
277
</variablelist>
 
278
 
 
279
<para>The following commands are supported:</para>
 
280
 
 
281
<variablelist>
 
282
 
 
283
<varlistentry>
 
284
<term><option>suspend</option></term>
 
285
<listitem>
 
286
<para>
 
287
Suspend the sound server.
 
288
</para>
 
289
</listitem>
 
290
</varlistentry>
 
291
 
 
292
<varlistentry>
 
293
<term><option>status</option></term>
 
294
<listitem>
 
295
<para>Display sound server status information.</para>
 
296
</listitem>
 
297
</varlistentry>
 
298
 
 
299
<varlistentry>
 
300
<term><option>terminate</option></term>
 
301
<listitem>
 
302
<para>
 
303
Terminate the sound server. This may confuse and/or crash any
 
304
applications that are currently using it.
 
305
</para>
 
306
</listitem>
 
307
</varlistentry>
 
308
 
 
309
<varlistentry>
 
310
<term><option>autosuspend</option> <parameter>seconds</parameter></term>
 
311
<listitem>
 
312
<para>
 
313
Set the autosuspend time to the specified number of seconds. The sound
 
314
server will suspend itself if idle for that period of time. A value of
 
315
zero disables auto-suspend.
 
316
</para>
 
317
</listitem>
 
318
</varlistentry>
 
319
 
 
320
<varlistentry>
 
321
<term><option>networkbuffers</option> <parameter>n</parameter></term>
 
322
<listitem>
 
323
<para>
 
324
Set the size of the nework buffers to be a factor of
 
325
<parameter>n</parameter> times the default size.
 
326
</para>
 
327
</listitem>
 
328
</varlistentry>
 
329
 
 
330
<varlistentry>
 
331
<term><option>volume</option> [<replaceable>volume</replaceable>]</term>
 
332
<listitem>
 
333
<para>
 
334
Sets volume scaling for sound server audio output. The
 
335
<replaceable>volume</replaceable> argument is a floating point
 
336
value. With no argument the current volume is displayed.
 
337
</para>
 
338
</listitem>
 
339
</varlistentry>
 
340
 
 
341
<varlistentry>
 
342
<term><option>stereoeffect list</option></term>
 
343
<listitem>
 
344
<para>List all of the available stereo effect modules.</para>
 
345
</listitem>
 
346
</varlistentry>
 
347
 
 
348
<varlistentry>
 
349
<term><option>stereoeffect insert [top|bottom]</option> <replaceable>name</replaceable></term>
 
350
<listitem>
 
351
<para>Insert a stereo effect into the stereo effect stack. Returns
 
352
an identifier that can be used for later removing it. It can be
 
353
installed at the top or the bottom (the default).</para>
 
354
</listitem>
 
355
</varlistentry>
 
356
 
 
357
<varlistentry>
 
358
<term><option>stereoeffect remove</option> <replaceable>id</replaceable></term>
 
359
<listitem>
 
360
<para>Removes the stereo effect with identifier
 
361
<replaceable>id</replaceable> from the effects stack.</para>
 
362
</listitem>
 
363
</varlistentry>
 
364
 
 
365
</variablelist>
 
366
 
 
367
</sect1>
 
368
 
 
369
<sect1 id="artsplay">
 
370
<title><application>artsplay</application></title>
 
371
 
 
372
<para>The <application>artsplay</application> command is a simple utility to
 
373
play a sound file. It accepts a single argument corresponding to the name of a
 
374
sound file which is sent to the sound server to be played. The sound
 
375
file can be any common sound file type such as <literal
 
376
role="extension">wav</literal> or <literal
 
377
role="extension">au</literal>. This utility is good for testing that the
 
378
sound server is working. By running two commands in parallel or in rapid
 
379
succession you can demonstrate how the sound servers mixes more than one
 
380
sound source.</para>
 
381
 
 
382
</sect1>
 
383
 
 
384
<sect1 id="artsdsp">
 
385
<title><application>artsdsp</application></title>
 
386
 
 
387
<para>
 
388
The sound server only supports applications that are &arts;-aware.  Many
 
389
legacy applications want to access the sound device directly.  The
 
390
&artsdsp; command provides an interim solution that
 
391
allows most of these applications to run unchanged.
 
392
</para>
 
393
 
 
394
<para>
 
395
When an application is run under &artsdsp; all accesses to the <filename
 
396
class="devicefile">/dev/dsp</filename> audio device are intercepted and
 
397
mapped into &arts; <acronym>API</acronym> calls. While the device
 
398
emulation is not perfect, most applications work this way, albeit with
 
399
some degradation in performance and latency.
 
400
</para>
 
401
 
 
402
<para>The &artsdsp; command follows the format:
 
403
</para>
 
404
 
 
405
<!-- LW: FIX THIS -->
 
406
<para>
 
407
artsdsp [<replaceable>options</replaceable>] <replaceable>application arguments</replaceable>
 
408
</para>
 
409
 
 
410
<para>
 
411
The following options are recognized:
 
412
</para>
 
413
 
 
414
<variablelist>
 
415
 
 
416
<varlistentry>
 
417
<term><option>-h</option>,  <option>--help</option></term>
 
418
<listitem>
 
419
<para>Show brief help.</para>
 
420
</listitem>
 
421
</varlistentry>
 
422
<varlistentry>
 
423
<term><option>-n</option> <option>--name</option> = <replaceable>name</replaceable></term>
 
424
<listitem>
 
425
<para>Use <replaceable>name</replaceable> to identify player to <command>artsd</command>.</para>
 
426
 
 
427
</listitem>
 
428
</varlistentry>
 
429
 
 
430
<varlistentry>
 
431
<term><option>-m</option> <option>--mmap</option></term>
 
432
<listitem>
 
433
<para>Emulate memory mapping (&eg; for <application>Quake</application>).</para>
 
434
</listitem>
 
435
</varlistentry>
 
436
 
 
437
<varlistentry>
 
438
<term><option>-v</option> <option>--verbose</option></term>
 
439
<listitem>
 
440
<para>Show parameters.</para>
 
441
</listitem>
 
442
</varlistentry>
 
443
 
 
444
</variablelist>
 
445
 
 
446
<para>
 
447
A typical invocation is:
 
448
</para>
 
449
 
 
450
<para>
 
451
<userinput><command>artsdsp</command> <option>-v</option> <option>-m</option> <parameter>realplay <replaceable>song.mp3</replaceable></parameter></userinput>
 
452
</para>
 
453
 
 
454
<para>
 
455
Some applications work better with the <option>--mmap</option>
 
456
option. Not all features of the sound device are fully emulated, but
 
457
most applications should work. If you find one that does not, submit a
 
458
detailed bug report and the developers may be able to fix it. Again,
 
459
remember this is an interim solution and something of an ugly hack; the
 
460
best solution is to add native &arts; support to the applications.  If
 
461
your favorite sound application does not have &arts; support, ask the
 
462
developer to provide it.
 
463
</para>
 
464
 
 
465
</sect1>
 
466
 
 
467
<sect1 id="artscat">
 
468
<title><application>artscat</application></title>
 
469
 
 
470
<para>
 
471
This is a simple utility to send raw audio data to the sound server.
 
472
You need to specify the data format (sampling rate, sample size, and
 
473
number of channels). This is probably not a utility that you will use
 
474
often, but it can be handy for testing purposes. The command syntax is:
 
475
</para>
 
476
 
 
477
<!-- LW: FIX THIS -->
 
478
 
 
479
<para>
 
480
artscat [ <replaceable>options</replaceable> ] [ <replaceable>filename</replaceable> ]
 
481
</para>
 
482
 
 
483
<para>
 
484
If no file name is specified, it reads standard input. The following
 
485
options are supported:
 
486
</para>
 
487
 
 
488
<variablelist>
 
489
<varlistentry>
 
490
<term><option>-r</option> <parameter>sampling
 
491
rate</parameter></term>
 
492
<listitem>
 
493
<para>
 
494
Set the sampling rate to use.
 
495
</para>
 
496
</listitem>
 
497
</varlistentry>
 
498
 
 
499
<varlistentry>
 
500
<term><option>-b</option> <parameter>bits</parameter></term>
 
501
<listitem>
 
502
<para>
 
503
Set sample size to use (8 or 16).
 
504
</para>
 
505
</listitem>
 
506
</varlistentry>
 
507
 
 
508
<varlistentry>
 
509
<term><option>-c</option> <parameter>channels</parameter></term>
 
510
<listitem>
 
511
<para>
 
512
Set number of channels (1 or 2).
 
513
</para>
 
514
</listitem>
 
515
</varlistentry>
 
516
 
 
517
<varlistentry>
 
518
<term><option>-h</option></term>
 
519
<listitem>
 
520
<para>
 
521
Display command usage and exit.
 
522
</para>
 
523
</listitem>
 
524
</varlistentry>
 
525
 
 
526
</variablelist>
 
527
</sect1>
 
528
 
 
529
<sect1 id="artscontrol">
 
530
<title>&artscontrol;</title>
 
531
 
 
532
<para>
 
533
This is a graphical utility for performing a number of tasks related to
 
534
the sound server. The default window displays two volume level
 
535
indicators and a slider to control overall output volume. From the
 
536
<guimenu>View</guimenu> menu you can select other functions:
 
537
</para>
 
538
 
 
539
<variablelist>
 
540
 
 
541
<varlistentry>
 
542
<term><guimenuitem>FFT Scope</guimenuitem></term>
 
543
<listitem>
 
544
<para>
 
545
Opens a window which shows a real-time spectrum analyzer style display.
 
546
</para>
 
547
</listitem>
 
548
</varlistentry>
 
549
 
 
550
<varlistentry>
 
551
<term><guimenuitem>Audio Manager</guimenuitem></term>
 
552
<listitem>
 
553
<para>
 
554
Displays active sound sources and allows you to connect them to any of
 
555
the available busses.
 
556
</para>
 
557
</listitem>
 
558
</varlistentry>
 
559
 
 
560
<varlistentry>
 
561
<term><guimenuitem>aRts Status</guimenuitem></term>
 
562
<listitem>
 
563
<para>
 
564
Shows if the sound server is running and if scheduling is
 
565
real-time. Indicates when server will autosuspend and allows you to
 
566
suspend it immediately.
 
567
</para>
 
568
</listitem>
 
569
</varlistentry>
 
570
 
 
571
<varlistentry>
 
572
<term><guimenuitem>Midi Manager</guimenuitem></term>
 
573
<listitem>
 
574
<para>
 
575
Shows active &MIDI; inputs and outputs and allows you to make connections
 
576
[TODO: Does this work yet? Need more detail]. 
 
577
</para>
 
578
</listitem>
 
579
</varlistentry>
 
580
 
 
581
<varlistentry>
 
582
<term><guimenuitem>FreeVerb</guimenuitem></term>
 
583
<listitem>
 
584
<para>
 
585
Connects a FreeVerb reverb effect to the stack of &arts; output effects
 
586
and allows you to control the effect parameters graphically.
 
587
</para>
 
588
</listitem>
 
589
</varlistentry>
 
590
 
 
591
<varlistentry>
 
592
<term><guimenuitem>Leds-like volume display</guimenuitem></term>
 
593
<listitem>
 
594
<para>
 
595
Changes the volume indicators in the main window to use a colored
 
596
<acronym>LED</acronym> display format instead of progress bars.
 
597
</para>
 
598
</listitem>
 
599
</varlistentry>
 
600
 
 
601
</variablelist>
 
602
 
 
603
</sect1>
 
604
 
 
605
<sect1 id="artsc-config">
 
606
<title><application>artsc-config</application></title>
 
607
 
 
608
<para>
 
609
This is a utility to assist developers using the &arts; C
 
610
<acronym>API</acronym>. It outputs the appropriate compiler and linker
 
611
options needed when compiling and linking code with &arts;. It is
 
612
intended to be used within make files to assist in portability. The
 
613
command accepts three options:
 
614
</para>
 
615
 
 
616
<variablelist>
 
617
<varlistentry>
 
618
<term><option>--cflags</option></term>
 
619
<listitem>
 
620
<para>
 
621
Displays the compiler flags needed when compiling with the &arts; C
 
622
<acronym>API</acronym>.
 
623
</para>
 
624
</listitem>
 
625
</varlistentry>
 
626
 
 
627
<varlistentry>
 
628
<term><option>--libs</option></term>
 
629
<listitem>
 
630
<para>
 
631
Displays the linker flags needed when linking with the &arts; C
 
632
<acronym>API</acronym>.
 
633
</para>
 
634
</listitem>
 
635
</varlistentry>
 
636
<varlistentry>
 
637
<term><acronym>--version</acronym></term>
 
638
<listitem>
 
639
<para>
 
640
Displays the version of the <command>artsc-config</command> command.
 
641
</para>
 
642
</listitem>
 
643
</varlistentry>
 
644
</variablelist>
 
645
 
 
646
<para>Typical output from the command is shown below:</para>
 
647
 
 
648
<screen width="40">
 
649
<prompt>%</prompt> <userinput><command>artsc-config</command> <option>--cflags</option></userinput>
 
650
<computeroutput>-I/usr/local/kde2/include/artsc</computeroutput>
 
651
<prompt>%</prompt> <userinput><command>artsc-config</command> <option>--libs</option></userinput>
 
652
<computeroutput>-L/usr/local/kde2/lib -ldl -lartsc -DPIC -fPIC -lpthread</computeroutput>
 
653
<prompt>%</prompt> <userinput><command>artsc-config</command> <option>--version</option></userinput>
 
654
<computeroutput>0.9.5</computeroutput>
 
655
</screen>
 
656
 
 
657
<para>
 
658
You could use this utility in a make file using a rule such as:
 
659
</para>
 
660
 
 
661
<programlisting>
 
662
artsc: artsc.c
 
663
        gcc `artsc-config --cflags` -o artsc artsc.c `artsc-config --libs`
 
664
</programlisting>
 
665
 
 
666
</sect1>
 
667
 
 
668
<sect1 id="mcopidl">
 
669
<title>&mcopidl;</title>
 
670
 
 
671
<para>
 
672
The &mcopidl; command is the &IDL; file compiler for &MCOP;, the
 
673
Multimedia Communication Protocol used by &arts;. Interfaces in &arts;
 
674
are defined in &IDL;, a language independent Interface Definition
 
675
Language. The &mcopidl; utility accepts an &IDL; file as input and
 
676
generates C++ header and source files for a class implementing the
 
677
interface. The command accepts the following syntax:
 
678
</para>
 
679
 
 
680
<!-- LW: FIX THIS -->
 
681
 
 
682
<para>mcopidl [ <replaceable>options</replaceable> ] <replaceable>filename</replaceable>
 
683
</para>
 
684
 
 
685
<para>The valid options are:</para>
 
686
<variablelist>
 
687
<varlistentry>
 
688
<term><option>-I</option> <parameter>directory</parameter></term>
 
689
<listitem>
 
690
<para>
 
691
Search in <parameter>directory</parameter> for includes.
 
692
</para>
 
693
</listitem>
 
694
</varlistentry>
 
695
 
 
696
<varlistentry>
 
697
<term><option>-e</option> <parameter>name</parameter></term>
 
698
<listitem>
 
699
<para>
 
700
Exclude a struct, interface, or enum type <parameter>name</parameter>
 
701
from code generation.
 
702
</para>
 
703
</listitem>
 
704
</varlistentry>
 
705
 
 
706
<varlistentry>
 
707
<term><option>-t</option></term>
 
708
<listitem>
 
709
<para>
 
710
Also create <literal role="extension">.mcoptype</literal>/<literal 
 
711
role="extension">.mcopclass</literal> files containing type information
 
712
for the &IDL; file.
 
713
</para>
 
714
</listitem>
 
715
</varlistentry>
 
716
</variablelist>
 
717
 
 
718
<para>
 
719
More information about &MCOP; and &IDL; is covered in the section <link
 
720
linkend="interfaces">Interfaces and &IDL;</link>.
 
721
</para>
 
722
 
 
723
</sect1>
 
724
 
 
725
</chapter>