1
<?xml version='1.0' encoding='UTF-8'?>
2
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
3
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
4
<!ENTITY legal SYSTEM "legal.xml">
7
<article id="index" lang="en">
9
<title>terminatorX - Manual</title>
12
<firstname>Alexander</firstname>
14
<surname>König</surname>
28
<holder role="mailto:alex@lisas.de">Alexander König</holder>
31
<releaseinfo>Version 3.81</releaseinfo>
33
<legalnotice id="legalnotice">
34
<para>Permission is granted to copy, distribute and/or modify this
35
document under the terms of the GNU Free Documentation License (GFDL),
36
Version 1.1 or any later version published by the Free Software
37
Foundation with no Invariant Sections, no Front-Cover Texts, and no
38
Back-Cover Texts. You can find a copy of the GFDL at this <ulink
39
type="help" url="ghelp:fdl">link</ulink> or in the file COPYING-DOCS
40
distributed with this manual.</para>
42
<para>Many of the names used by companies to distinguish their products
43
and services are claimed as trademarks. Where those names appear in any
44
ScrollKeeper documentation, and the members of the ScrollKeeper Project
45
are made aware of those trademarks, then the names are in capital
46
letters or initial capital letters.</para>
48
<para>DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER
49
THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER
50
UNDERSTANDING THAT: <orderedlist><listitem><para>DOCUMENT IS PROVIDED ON
51
AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
52
OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE DOCUMENT
53
OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS MERCHANTABLE, FIT
54
FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE
55
QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR MODIFIED VERSION
56
OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR MODIFIED VERSION
57
PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL WRITER, AUTHOR OR
58
ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR
59
CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF
60
THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT
61
IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND</para></listitem><listitem><para>UNDER
62
NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING
63
NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER,
64
ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION
65
OF THE DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO
66
ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR
67
CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION,
68
DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR
69
MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR LOSSES ARISING OUT OF OR
70
RELATING TO USE OF THE DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT,
71
EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH
72
DAMAGES.</para></listitem></orderedlist></para>
76
<sect1 id="INTRODUCTION">
77
<title>Introduction</title>
80
<title>What it is</title>
82
<para>terminatorX is a realtime audio synthesizer that allows you to
83
"scratch" on digitally sampled audio data (*.wav, *.au, *.ogg,
84
*.mp3, etc.) the way hiphop-DJs scratch on vinyl records. It features
85
multiple turntables, realtime effects (buit-in as well as <ulink
86
url="http://www.ladspa.org">LADSPA</ulink> plugin effects), a sequencer
87
and MIDI interface - all accessible through an easy-to-use gtk+ GUI.</para>
89
<para>This is software may have <ulink
90
url="http://terminatorX.cx/bugs.html">bugs</ulink> please help fixing
91
them. See <xref linkend="CONTACT" />. Please read this manual and visit
92
the <ulink url="http://www.terminatorX.cx">homepage</ulink>.</para>
95
<sect2 id="QUICKSTART">
96
<title>Quickstart</title>
98
<para>Try the following steps:</para>
100
<orderedlist inheritnum="ignore" continuation="restarts">
102
<para>If you don't have <application moreinfo="none">LADSPA</application>
103
(Linux Audio Developer's Simple Plugin API) installed, go and
104
get it from the <ulink url="http://www.ladspa.org">LADSPA-homepage</ulink>
105
and install the SDK. terminatorX requires <filename moreinfo="none">ladspa.h</filename>.</para>
109
<para>Install terminatorX (see <filename moreinfo="none">INSTALL</filename>
114
<para>If you want to use the <ulink
115
url="http://jackit.sourceforge.net">JACK</ulink> backend run jackd
116
before starting terminatorX.</para>
120
<para>Run terminatorX</para>
124
<para>Setup Audio Output via <emphasis>Options/Preferences</emphasis>.</para>
128
<para>Load an audiofile into the available turntable (you can add
129
more turntables if you want) (Hint: Click on the button that holds
130
"NONE" to load an audiofile, or drop one over the audiofile
131
display from your GNOME filemanager.</para>
135
<para>Load a LADSPA plugin of your choice by clicking the
136
turntable's <emphasis>FX</emphasis> button and enable it.</para>
140
<para>Click on the "Audio Engine"-button to start playback.</para>
144
<para>Click on the "Mouse-Grab"-button to enter grab mode.
145
The turntable with the red border has the input focus.</para>
149
<para>Press <keycap moreinfo="none">SPACE</keycap> or left mouse
150
button to scratch.</para>
154
<para>Release <keycap moreinfo="none">SPACE</keycap> or left mouse
155
button to let the scratch-file run at the turntable's default
160
<para>Press <keycap moreinfo="none">ESCAPE</keycap> to quit grab
166
<sect2 id="FEATURES">
167
<title>Features</title>
169
<para>The following list summarizes terminatorX' main features:</para>
173
<para>Scratching</para>
177
<para>Multiple turntables</para>
181
<para>Built-in Sequencer</para>
185
<para>MIDI Interface</para>
189
<para>Pitch / Volume settings for each turntable</para>
193
<para>Effects (Lowpass/Echo) configurable for each turntable</para>
197
<para>Syncing tables to one master turntable</para>
201
<para>Broad audiofile-type support</para>
205
<para>Record to disk</para>
209
<para>Save and Load turntable sets (.tX - files)</para>
213
<para>Support for LADSPA plugins.</para>
217
<para>Support for the <emphasis>JACK Audio Connection Kit</emphasis></para>
221
<para>and more</para>
226
<sect2 id="REQUIREMENTS">
227
<title>Requirements</title>
229
<para>To run terminatorX a system should meet the following
234
<para>Software</para>
238
<para>required</para>
242
<para>Linux, FreeBSD or the like</para>
246
<para>glibc2 (pthreads).</para>
250
<para>XFree86 (with DGA DirectMouse support). Note that
251
XFree86 Release 4.0 has a bug resulting in broken
252
DirectMouse support. This has been fixed by the XFree86-Team
253
with Release 4.0.1 available from your distribution or the
254
<ulink url="http://www.xfree86.org">XFree86 homepage</ulink>.</para>
258
<para>The Gimp Toolkit: gtk+ (>= 2.0). If your
259
distribution doesn't provide a current version of gtk+
260
get it from the <ulink url="http://www.gtk.org">gtk+
261
homepage</ulink>.</para>
265
<para>LADSPA - the Linux Audio Developer's Simple Plugin
266
API. Get it from the <ulink url="http://www.ladpsa.org">LADSPA
267
homepage</ulink></para>
271
<para>a compiler (gcc)</para>
277
<para>optional (but highly recommended)</para>
281
<para><ulink url="http://plugin.org.uk/releases/lrdf/">liblrdf</ulink>
282
for easier handling of LADSPA plugins</para>
286
<para><ulink url="http://www.mars.org/home/rob/proj/mpeg/">mad</ulink>
287
for loading mp3 files.</para>
291
<para><ulink url="http://www.xiph.org/ogg/vorbis/">libvorbis</ulink>
292
for loading ogg files.</para>
296
<para><ulink url="http://jackit.sourceforge.net">libjack</ulink>
297
for JACK support.</para>
301
<para><ulink url="http://xmlsoft.org/">libxml2</ulink> to
302
read terminatorX set and rc files</para>
306
<para><ulink url="http://www.gzip.org/zlib/">zlib</ulink> to
307
create compressed XML set files to save diskspaces</para>
311
<para><ulink url="http://www.68k.org/~michael/audiofile/">libaudiofile</ulink>
312
for loading misc other audio files.</para>
316
<para><ulink url="???">libcap</ulink> for capabilties
322
url="http://www-ti.informatik.uni-tuebingen.de/~hippm/mpg123.html">mpg123</ulink>
323
for mp3 pre-listening (and fallback loading if mad is not
328
<para><ulink url="http://www.xiph.org/ogg/vorbis/">ogg123</ulink>
329
for ogg pre-listening (and fallback loading if libvorbis is
330
not installed).</para>
335
url="http://home.sprynet.com/~cbagwell/sox.html">sox</ulink>
336
for misc files pre-listening (and fallback loading of misc
345
<para>Hardware</para>
349
<para>An <ulink url="http://www.alsa-project.org">ALSA</ulink>
350
or OSS compatible soundcard capable of stereo output.</para>
354
<para>A good clean mouse and pad, a good X-Pointer setup.</para>
360
<para>A note on performance: terminatorX is known to run satisfyingly on
361
pentium-class systems (or above of course). Increasing the number of
362
turntables or plugins will of course require more performant systems.</para>
365
<sect2 id="INSTALLATION">
366
<title>Installation</title>
368
<para>For GNU-standards' sake this information is now located in the
369
<filename moreinfo="none">INSTALL</filename> file that came with this
370
distribution of terminatorX.</para>
374
<sect1 id="OPERATION">
375
<title>Operation</title>
377
<para>TerminatorX' user interface is split up into the main controls
378
(master, sequencer, engine controls and menu buttons) and the individual
379
turntable's controls. Each turntable has it's own interface split
380
up into a control and a audio panel (see <xref linkend="TURNTABLECONTROLS" />).</para>
385
<para>To clean-up the user interface a bit further some functions have
386
been moved into a more standard menu bar for the main window (with
387
release 3.80). The following sub-menus are available:</para>
389
<sect3 id="FILEMENU">
390
<title><emphasis>File</emphasis> Menu</title>
392
<para>The <emphasis>File</emphasis> menu features these functions:</para>
396
<para><emphasis>New</emphasis></para>
398
<para>Erases all existing turntables and sequencer events and
399
creates a new and untouched turntable.</para>
403
<para><emphasis>Open</emphasis></para>
405
<para>Allows restoring of a previously saved terminatorX set file.</para>
409
<para><emphasis>Save</emphasis></para>
411
<para>Saves the current turntables and events in a terminatorX set
416
<para><emphasis>Save As</emphasis></para>
418
<para>Like <emphasis>Save</emphasis> but prompts for a new file
423
<para><emphasis>Quit</emphasis></para>
428
<sect3 id="TURNTABLESMENU">
429
<title><emphasis>Turntables</emphasis> Menu</title>
431
<para>The <emphasis>Turntables</emphasis> menu features these
436
<para><emphasis>Add Turntable</emphasis></para>
438
<para>Adds a new turntable to the current set of turntables.</para>
442
<para><emphasis>Assign Default MIDI Mappnigs</emphasis></para>
444
<para>Will assign the Default MIDI Mappings (see <xref
445
linkend="MIDI" />) to all standard parameters. Existing
446
mappings will not be overridden.
451
<para><emphasis>Auto Assign Default MIDI Mappings</emphasis></para>
453
<para>When this option is enabled will always re-apply the Default
454
MIDI Mappings (see <xref linkend="MIDI" />) whenever you load a
455
set, add a new turntable or create a new set. Existing
456
mappings will not be overridden.</para>
460
<para><emphasis>Clear MIDI Mappings</emphasis></para>
462
<para>Removes all currently assigned MIDI mappings.</para>
466
<para><emphasis>Record Audio to Disk</emphasis></para>
468
<para>On activation of this option, terminatorX will prompt for a
469
file name for the RIFF/Wave file to create. Once activated
470
terminatorX will start recording audio to disk the next time the
471
audio engine is started - either by pressing the Power or the Play
472
button. Recording will stop when the audio engine is stopped
473
again. The created RIFF/Wave file will be a 16Bit/Stereo wave-file
474
with the sampling rate selected for the current audio backend.</para>
479
<sect3 id="SEQUENCERMENU">
480
<title><emphasis>Sequencer</emphasis> Menu</title>
482
<para>The <emphasis>Sequencer</emphasis> (see <xref
483
linkend="SEQUENCER" /> for general information on the sequencer) menu
484
features these functions:</para>
488
<para><emphasis>Delete All</emphasis> submenus</para>
490
<para>These submenus allow you to delete sequencer events of a
491
specific parameter or all events for a complete turntable. After
492
selecting the the parameter/turntable of your choice a dialog will
493
pop-up that allows you to delete all events from either:</para>
497
<para>the beginning of the song upto the current song position</para>
501
<para>the current song position upto the end of the song</para>
505
<para>the beginning to the end of the song (all events)</para>
511
<para><emphasis>Delete All Events</emphasis></para>
513
<para>Works the same as the <emphasis>Delete All</emphasis>
514
submenus but selects <emphasis>all</emphasis> events for
515
<emphasis>all</emphasis> turntables.</para>
519
<para><emphasis>Confirm Recorded Events</emphasis></para>
521
<para>Usually terminatorX will add all recorded events of a take
522
to the song event list as soon as you hit the
523
<emphasis>Stop</emphasis> button for the sequencer. If you enable
524
<emphasis>Confirm Recorded Events</emphasis> terminatorX will ask
525
you whether the recorded events should really be fed into the song
526
list. This makes it much easier to record a certain part over and
527
over again until you get it right.</para>
532
<sect3 id="OPTIONSMENU">
533
<title><emphasis>Options</emphasis> Menu</title>
535
<para>The <emphasis>Options</emphasis> menu features these functions:</para>
539
<para><emphasis>Fullscreen</emphasis></para>
541
<para>Maximizes the terminatorX main windows to use the complete
542
screen. Note that this requires a NETWM compliant window manager
543
to work. By toggling this option again terminatorX' window can
544
be resized back to the previous state again. The setting will be
545
stored in the <filename>~/.terminatorXrc</filename> file.</para>
549
<para><emphasis>Preferences</emphasis></para>
551
<para>Will pop up the Preferences dialog. For more details on
552
configuration itself see <xref linkend="CONFIGURATION" />.</para>
557
<sect3 id="HELPMENU">
558
<title><emphasis>Help</emphasis> Menu</title>
560
<para>The <emphasis>Help</emphasis> menu features these functions:</para>
564
<para><emphasis>Contents</emphasis></para>
566
<para>Starts a <emphasis>gnome-help</emphasis> (aka
567
<emphasis>yelp</emphasis>) process to display the very manual you
568
are reading right now.</para>
572
<para><emphasis>About</emphasis></para>
574
<para>Selecting this menu item will cause a small dialog to pop up
575
that contains some information on the compile time settings for
576
the terminatorX binary as well as the license.</para>
580
<para><emphasis>Visit terminatorX.cx</emphasis></para>
582
<para>Will try to spawn a browser process to load the URL <ulink
583
url="http://terminatorX.cx">http://terminatorX.cx</ulink> - for
584
easy update checking or just unecessary bloat.</para>
590
<sect2 id="MAINCONTROLS">
591
<title>Main Controls</title>
593
<para>The controls of the master GUI are located in the top and the
594
right bar of the terminatorX main window.</para>
598
<para><emphasis>Audio Engine Power / Mouse Grab</emphasis></para>
600
<para>With the Audio Engine Button you can en- and disable the audio
601
playback engine without activating the sequencer. Unlike earlier
602
versions you will not automatically enter mouse-grab mode so you can
603
modify volume/pitch/echo settings etc. while you actually hear what
606
<para>Some functions are not available when the audio engine is on,
607
their controls will be marked insensitive when you enable the
608
engine. To actually enter grab mode you'll have to click on the
609
"Mouse Grab" button. See <xref linkend="GRABMODE" /> to find
610
out how to control the software then.</para>
614
<para><emphasis>Sequencer Play / Record / Stop</emphasis></para>
616
<para>Please read <xref linkend="SEQUENCER" /> to find out more
617
about the sequencer.</para>
621
<para><emphasis>Master Volume / Pitch</emphasis></para>
623
<para>The volume and pitch settings of the individual turntables are
624
relative to these master settings. This information will be stored
625
within the .tX set files.</para>
630
<sect2 id="TURNTABLECONTROLS">
631
<title>Turntable Controls</title>
633
<para>The turntable GUI contains multiple controls and the real time
634
displays for each turntable. To save some space on your desktop and to
635
give terminatorX the traditional audio-application look, terminatorX
636
features "knob"-widgets. These widgets work pretty
637
straight-forward: click somewhere within the widget and keep the left
638
mouse-button pressed. Now move the mouse up and down or left and right
639
to increase/decrease the control's value. All those widget are
640
coupled with a text entry field since 3.70, which allows you to enter
641
values directly.</para>
643
<para>A turntable is visualized by two panels: the control and the audio
644
panel. These are no longer combined for better layout management.</para>
646
<para>Sometimes you might find a certain audio or control panel
647
unnecessary - simply eating up space. Since release 3.73 it is possible
648
to minimize audio and control panels to the <emphasis>panel bar</emphasis>
649
with the tiny button with a blue bar icon in the upper right edge of
650
each panel. This bar works just like GNOME's window list or
651
KDE's kicker: When a panel is minimized a button in the bar will
652
appear, representing the minimized window. On clicking this button the
653
button will be removed and the minimized panel is displayed again. When
654
no panels are minimized the panel bar automatically disappears to save
655
display space.</para>
658
<title>Turntable Audio Panel</title>
660
<para>The complete audio-file loaded into a turntable is displayed in
661
the green-on-black audio-widget. When playing terminatorX will
662
indicate the current position within the sample with a red cursor (a
663
blue/green cursor indicates the turntable is muted).</para>
665
<para>Additionally there are some controls above the audio-display:</para>
669
<para><emphasis>Turntable Label</emphasis></para>
671
<para>This label indicates the turntables name. The name can be
672
set via the control panel</para>
676
<para><emphasis>File Button</emphasis></para>
678
<para>This button holds the name of the audio-file currently
679
loaded. When there's no sample loaded the button will read
680
"NONE" to indicate the current status. Click on this
681
button to get a menu from which you can load/reload a sound file
682
or run an external soundfile editor. Alternatively you can
683
drag'n'drop files over the audio-display to load them.</para>
686
<title>The File Button Menu</title>
689
<para><emphasis>Load File</emphasis></para>
691
<para>Choose this menu entry to select a soundfile from the
692
file-selection dialog that will pop-up.</para>
696
<para><emphasis>Reload File</emphasis></para>
698
<para>Choose this menu entry to re-read the audio-file.</para>
702
<para><emphasis>Edit File</emphasis></para>
704
<para>This menu entry will run the external audiofile-editor
705
(that can be specified via the options-dialog) with the
706
current audio-file as a parameter. Choose reload after editing
707
and saving the file.</para>
713
<para><emphasis>Mouse Mapping</emphasis></para>
715
<para>terminatorX allows mapping misc parameters to the mouse axis
716
of your choice. These mappings will be activated in grab mode, so
717
if you move your mouse in X or Y direction in grab mode the
718
parameters you selected from this menu will be affected (for this
719
turntable). Since Version 3.70 this mappings are no longer
720
hardcoded to built-in controls but available for all parameters
721
that qualify as "mappable". Note that this includes
722
plugins' controls as well.</para>
726
<para><emphasis>MIDI Mapping</emphasis></para>
728
<para>This button is available only if terminatorX was built with
729
ALSA MIDI support and the sequencer input port was created
730
successfully on startup. For more information on terminatorX'
731
MIDI interface see <xref linkend="MIDI" />.</para>
737
<title>Turntable Controls</title>
739
<para>These controls are now grouped within functional panels. The
740
number of panels depends on the number of plugins loaded. terminatorX
741
allows hiding the controls not required via the yellow triangle
742
button. To un-hide just click the button again. The first panels are
743
the standard controls for a turntable, then follows the dynamic
744
FX-section and below that follow the pitch and volume controls.</para>
747
<title>Main Panel</title>
751
<para><emphasis>Name Field</emphasis></para>
753
<para>The main panel features a text entry field that allows
754
setting a name for the related turntable. The Labels for the
755
controls and the audio-display will update accordingly.</para>
759
<para><emphasis>Delete Button</emphasis></para>
761
<para>Pressing this button remove the turntable from the current
762
setup. Note that all sequencer events recorded for this
763
turntable will be erased, too.</para>
767
<para><emphasis>Pitch Adj. Button</emphasis></para>
769
<para>Using two (or more) loops and terminatorX'
770
synchronization facility usually requires adjusting the pitch of
771
the loops so that the turntables play in sync. For precisely cut
772
loops this usually means making them run equally fast or one
773
running twice as fast as the other etc. Manually finding the
774
necessary pitch values usually consumes a significant amount of
775
time so the feature <emphasis>Pitch Adjust</emphasis> helps
776
speeding up this process.</para>
778
<para>Clicking this button will cause the <emphasis>Compute
779
Pitch</emphasis> dialog to pop up. With this dialog it is
780
possible to specify how many loops of this turntable should be
781
played as fast as a certain amount of loops of the master
782
turntable. After pressing the <emphasis>Ok</emphasis> button
783
terminatorX will adjust the turntable's ptich accordingly in
784
order to match the given playback speed requirements.</para>
786
<para>Note that this feature is proabably useless when loading
787
complete songs into terminatorX - it's intended for use with
788
precisely cut loops.</para>
794
<title>Trigger Panel</title>
796
<para>The trigger panel holds all controls related to triggering the
797
turntable. For more details on synchronization see <xref
798
linkend="SYNCHRONIZATION" />.</para>
802
<para><emphasis>Trigger! Button</emphasis></para>
804
<para>Pressing this button triggers the turntable now. With the
805
audio engine enabled this will cause the turntable to start
806
playing back audio from the beginning of the sample.</para>
810
<para><emphasis>Stop Button</emphasis></para>
812
<para>Guess what, this stops this turntable's
813
audio-playback.</para>
817
<para><emphasis>Master Button</emphasis></para>
819
<para>Enabling this button makes this turntable the
820
<emphasis>sync-master</emphasis>. Note that only
821
<emphasis>one</emphasis> turntable at a time can be the
826
<para><emphasis>Client Button</emphasis></para>
828
<para>This button marks the turntable as <emphasis>sync-client</emphasis>,
829
so it will be triggered with the master automatically.</para>
833
<para><emphasis>Sync-Cycles Selection</emphasis></para>
835
<para>The sync cycles determine how often a sync-client should
836
be triggered. With a setting of zero the sync-client will be
837
(re-)triggered with <emphasis>every</emphasis> trigger of the
838
sync-master. A setting of 1 will (re-)trigger the client every
839
<emphasis>second</emphasis> master-trigger and so on.</para>
843
<para>Below the effect queue a turntable shows some more controls:
844
<itemizedlist><listitem><para><emphasis>Pitch Control</emphasis></para><para>The
845
pitch control allows setting the default playback speed for that
846
turntable (the "motor" speed). Negative values will result
847
in the sample being played backwards.</para></listitem><listitem><para><emphasis>PAN
848
Control</emphasis></para><para>This parameter allows setting the
849
position of the turntable's main signal within the stereo
850
panorama.</para></listitem><listitem><para><emphasis>VU Meter</emphasis></para><para>The
851
displayed signal shows the turntable's current signal not
852
including the echo-signal which is mixed separately.</para></listitem></itemizedlist></para>
856
<sect3 id="PARAMETERMENU">
857
<title>Parameter Menu</title>
859
<para>TerminatorX can record events for nearly all parameters of a
860
turntable. All of these so-called "sequencable" parameters
861
have an extra pop-up menu since Version 3.81. Simply right-click on
862
the knob, button, slider of the parameter you want to setup, and a
863
menu with the following options will appear:<itemizedlist><listitem><para><emphasis>MIDI
864
Learn</emphasis></para><para>This options provides an easy method to
865
select the MIDI control to modify the parameter you select. If you
866
choose this menu entry, a tiny dialog box will pop up that reads
867
<emphasis>"Waiting for MIDI Event..."</emphasis>. The first
868
MIDI event terminatorX receives will now be mapped to control this
869
parameter.</para></listitem><listitem><para><emphasis>Remove MIDI
870
Binding</emphasis></para><para>If a MIDI event has been bound to a
871
parameter it can be removed by selecting this menu entry.</para></listitem><listitem><para><emphasis>Set
872
Upper MIDI Bound</emphasis></para><para>Sometimes it is preferable to
873
modify a certain parameter only within a specific value range - this
874
can be achieved with this option - by setting an upper and a lower
875
bound for the MIDI control of this parameter. When you select this
876
menu entry, the current setting of this parameter will be used as the
877
upper bound for the parameter's MIDI mapping.</para></listitem><listitem><para><emphasis>Reset
878
Upper MIDI Bound</emphasis></para><para>If an upper MIDI bound was set
879
for this parameter it can be removed by selecting this menu entry.</para></listitem><listitem><para><emphasis>Set
880
Lower MIDI Bound</emphasis></para><para>Works just like setting the
881
uper MIDI bound: when you select this menu entry, the current setting
882
of this parameter will be used as the lower bound for the
883
parameter's MIDI mapping.</para></listitem><listitem><para><emphasis>Reset
884
Lower MIDI Bound</emphasis></para><para>If a lower MIDI bound was set
885
for this parameter it can be removed by selecting this menu entry.</para></listitem><listitem><para><emphasis>Delete
886
Sequencer Events</emphasis></para><para>Just like the Sequencer menu
887
(see <xref linkend="SEQUENCERMENU" />) this entry allows you to delete
888
events recorded for this specific parameter.</para></listitem></itemizedlist></para>
892
<title>The Effect Queue</title>
894
<para>With release 3.70 the effects are no longer hardcoded into the
895
turntable. The effects are now arranged within an per-turntable
896
effect-queue. The effect sequence is configurable by the user. To move
897
an effect to higher position within the queue, press the
898
<emphasis>blue upward arrow button</emphasis>. This will cause the
899
effect to be rendered <emphasis>before</emphasis> the following
900
effects. The <emphasis>blue downward arrow button</emphasis> will move
901
the effect down by one position. It will then be rendered
902
<emphasis>after</emphasis> the preceding effects.</para>
904
<para>There are two types of effects: the traditional built-in effects
905
(Lowpass and Echo) and LADSPA plugins. The built-in effects are always
906
available and cannot be removed (but disabled). There can be only one
907
instance of a built-in effect. The LADSPA plugins on the other hand
908
may be instantiated multiple times and can be removed from the effect
909
queue. Press the <emphasis>blue cross button</emphasis> to achieve
913
<title>An example for a terminatorX effect queue</title>
915
<graphic fileref="figures/signalflow.png" format="PNG" />
918
<para>Now since release 3.71 the built-in echo effect is treated
919
differently from other effects. Where all other effects feed their
920
signal back into the effect queue the echo effect doesn't touch
921
the input signal. It's echo-signal is mixed separately from the
922
turntable's main signal to allow a different panning value for the
923
echo-signal. This mode of operation does have some side-effects:
924
imagine a lowpass filter with a position after the echo effect in the
925
effect queue. This will result in the turntable's main signal
926
being lowpass-filtered but it will leave the echo-signal
927
lowpass-unfiltered.</para>
929
<para>Some may call this behaviour a bug - whereas I would consider it
930
a feature ;). Anyway if the above description didn't clear things
931
up maybe the displayed figure does. It shows a schematic effect queue
932
with the built-in effects and two LADSPA effects enabled. Now with
933
this setup you will not hear anything from the second LADSPA effect in
934
the echo-signal.</para>
936
<para>For more information on a LADSPA plugin, press it's
937
panel's label and a small info box will pop up.</para>
941
<para><emphasis>FX Button</emphasis></para>
943
<para>Press this button to load a LADSPA plugin into the effect
944
queue of the turntable. A menu holding the available
945
(terminatorX-"compatible") LADSPA-plugins will pop up. The
946
plugins are grouped within submenus according to the modules the
947
plugins are contained in. Simply select the plugin you want to
948
load from this menu and a panel for it will pop up at the end of
949
the effect queue.</para>
951
<para>Note that due to the wide parameter ranges some LADSPA
952
plugins have they sometimes might be hard to control with the knob
953
widget. In these cases you might want to use the text field to
954
enter values. For more details on plugins see <xref
955
linkend="LADSPAPLUGINS" />.</para>
961
<title>Lowpass Panel</title>
963
<para>terminatorX features a built-in resonating lowpass filter that
964
can be configured with this panel.</para>
968
<para><emphasis>Enable Button</emphasis></para>
970
<para>Activating this button will enable the lowpass filter for
971
this turntable.</para>
975
<para><emphasis>Input Gain Control</emphasis></para>
977
<para>With this parameter you can amplify the signal that goes
978
into the lowpass filter if required.</para>
982
<para><emphasis>Frequency Control</emphasis></para>
984
<para>Use this parameter to set the cutoff frequency for the
985
lowpass filter. Minimum: 0=0Hz, Maximum: 1=22KHz.</para>
989
<para><emphasis>Resonance</emphasis></para>
991
<para>Use this parameter to set the resonance-value. Minimum: 0=no
992
resonance, Maximum: 1=max resonance.</para>
998
<title>Echo Panel</title>
1000
<para>Additionally terminatorX features a built-in echo effect. It can
1001
be configured with this panel.</para>
1005
<para><emphasis>Enable Button</emphasis></para>
1007
<para>Activating this button will enable the echo effect for this
1012
<para><emphasis>Duration Control</emphasis></para>
1014
<para>Use this parameter to set the length of the echo. The
1015
duration parameter scales to the actual sample length: so if you
1016
set it to 0.5 you will hear the echo when the red playback cursor
1017
is half way through the sample. This is true for samples that are
1018
shorter than terminatorX' maximum echo buffer size only.</para>
1022
<para><emphasis>Feedback Control</emphasis></para>
1024
<para>Set the echo's feedback amount with this parameter.</para>
1028
<para><emphasis>Volume Control</emphasis></para>
1030
<para>This parameter can additionally amplify the echo signal.
1031
Unlike the feedback parameter above this parameter has no
1032
influence on the signal fed back into the echo-buffer, it effects
1033
merely the playback volume of the echo signal.</para>
1037
<para><emphasis>Pan Control</emphasis></para>
1039
<para>The echo effect differs from other effects as it's
1040
output signal will be mixed separately. The main goal here is to
1041
allow positioning the echo signal at a position in the stereo
1042
panorama that differs from the main panning position of the
1043
turntable to achieve a somewhat spacial effect. The easy example
1044
is: turntable's panning left, echo's panning right. As
1045
both pan parameters are sequenceable you can create nice motion
1046
effects from this starting point.</para>
1052
<sect2 id="SYNCHRONIZATION">
1053
<title>Synchronization</title>
1055
<para>Let's start off with an example: Say you have two drum loops
1056
and one bassline loaded in three turntables. Of course you want these
1057
samples to be triggered at the same time but you don't want to
1058
invest time to cut them to the exact length. Therefore you decide which
1059
of the drum loops to make the sync master. You'll have to do this
1060
before you enable the audio engine (for now). Only one turntable can be
1061
the sync master. Now you can make the other two sync clients which will
1062
cause them to be (re-)triggered whenever the master is (re-)triggered.
1063
The number you can select to the right of the <emphasis>client button</emphasis>
1064
sets the trigger delay for the button: if it's set to zero the
1065
turntable will be triggered with every master trigger, if it's set
1066
to 1 it'll be triggered every 2nd master trigger and so on.</para>
1068
<para>A nice side effect of this feature is: you can now scratch the
1069
second (sync client) drum loop and no matter whether you're
1070
scratching is good or not the beat will be triggered correctly again ;)</para>
1073
<sect2 id="GRABMODE">
1074
<title>Grab Mode Operation</title>
1076
<para>After pressing the <emphasis>Mouse Grab button</emphasis>
1077
terminatorX enters "grab mode". This mode actually blocks the
1078
mouse (as its input is now used to control the real time parameters) and
1079
therefore you'll have to know some mouse/keyboard shortcuts to
1080
control the software without the GUI.</para>
1082
<para>Press <keycap moreinfo="none">ESCAPE</keycap> to quit grab mode.</para>
1084
<para>Select the turntable with input focus: The first turntable to hold
1085
the input focus will be the first turntable. You can now use <keycap
1086
moreinfo="none">TAB</keycap> or right mouse button to switch to the next
1087
turntable. Alternatively you can use <keycap moreinfo="none">F1</keycap>
1088
to <keycap moreinfo="none">F12</keycap> to select turntable 1 to 12.</para>
1090
<para>Now the turntable that has the focus is the one you will
1091
manipulate with your mouse and keyboard inputs: Note that you can
1092
actually map different functions to the mouse x/y axis - so what
1093
actually happens when you move your mouse depends on what you select via
1094
the <emphasis>Mouse Mapping</emphasis> for each turntable.</para>
1097
<title>Keyboard Controls in Grab Mode</title>
1104
<entry>Function</entry>
1110
<entry><keycap moreinfo="none">TAB</keycap></entry>
1112
<entry>select next turntable</entry>
1116
<entry><keycap moreinfo="none">F1</keycap> to <keycap
1117
moreinfo="none">F12</keycap></entry>
1119
<entry>select turntable 1 to 12</entry>
1123
<entry><keycap moreinfo="none">RETURN</keycap></entry>
1125
<entry>triggers the turntable</entry>
1129
<entry><keycap moreinfo="none">BACKSPACE</keycap></entry>
1131
<entry>stops the turntable</entry>
1135
<entry><keycap moreinfo="none">S</keycap></entry>
1137
<entry>toggles "Sync Client"</entry>
1141
<entry><keycap moreinfo="none">SPACE</keycap></entry>
1143
<entry>while pressed turntable speed is mapped to mouse speed
1144
(scratching!)</entry>
1148
<entry><keycap moreinfo="none">ALT</keycap></entry>
1150
<entry>mute on/off</entry>
1154
<entry><keycap moreinfo="none">CTRL</keycap></entry>
1156
<entry>mute on/off (inverted)</entry>
1160
<entry><keycap moreinfo="none">F</keycap></entry>
1162
<entry>("fast") warp mode (while scratching)</entry>
1166
<entry><keycap moreinfo="none">W</keycap></entry>
1168
<entry>same as above but the audio will be muted while warping</entry>
1175
<title>Mouse Button Controls in Grab Mode</title>
1180
<entry>Mouse Button</entry>
1182
<entry>Function</entry>
1188
<entry><emphasis>Left button</emphasis></entry>
1190
<entry>same as <keycap moreinfo="none">SPACE</keycap>:
1191
scratching (triggers the turntable when stopped)</entry>
1195
<entry><emphasis>Right button</emphasis></entry>
1197
<entry>select next turntable</entry>
1201
<entry><emphasis>Middle button</emphasis></entry>
1203
<entry>mute on/off</entry>
1209
<para>Scratching works as before: press <keycap moreinfo="none">SPACE</keycap>
1210
or left mouse button to actually scratch: now your mouse controls the
1211
turntables speed. Release it to let that turntable spin at default speed
1215
<sect2 id="DRAGNDROP">
1216
<title>Drag And Drop</title>
1218
<para>Since V3.55 terminatorX provides multiple DND-Drop-Targets for use
1219
with GNOME / gmc (gmc is the GNU Midnight Commander), Nautilus or the
1220
Enlightenment File Manager (efm). You can load an audiofile into an
1221
existing turntable by dragging it from a gmc (or efm or whatever)-window
1222
and drop it over a. the <emphasis>file button</emphasis> (audio-display)
1223
or b. (the easier target ;) over the audio-display (the green on black
1224
widget that displays the audiodata).</para>
1226
<para>To add a file to the set (== to load the file into a *new*
1227
turntable) simply drop the audiofile over the "New Turntable"
1228
Button. To load a complete terminatorX-set simply drop the set file
1229
(*.tX) over the "Load Set" button.</para>
1232
<sect2 id="SEQUENCER">
1233
<title>The Sequencer</title>
1235
<para>Release 3.60 introduced the sequencer. It can record and play back
1236
events for the following parameters:</para>
1240
<para>master volume & pitch</para>
1244
<para>scratching</para>
1248
<para>(turntable) volume & pitch</para>
1252
<para>triggers</para>
1256
<para>loop (on/off)</para>
1260
<para>sync client settings</para>
1268
<para><emphasis>all</emphasis> parameters for the effects. This
1269
includes built-in effects (lowpass and echo) as well as LADSPA
1274
<para>To record events simply press the <emphasis>Record</emphasis>
1275
button of the sequencer, then press the <emphasis>Play</emphasis>
1276
button. All actions (for sequenceable parameters - see above) you now
1277
take will be recorded into the song list. Press <emphasis>Stop</emphasis>
1278
and <emphasis>Play</emphasis> again to see/hear how terminatorX plays
1279
back the events recorded before. You can now record events again for
1280
e.g. another turntable or record other parameters for the same turntable
1281
- whatever you want to do. Recording events for parameters for which
1282
events have been recorded before will result in dubbing: if you touch a
1283
parameter while recording, events previously recorded will be erased
1284
from the moment you touch the parameter until you stop recording.</para>
1286
<para>When recording long sequences/songs you can use the
1287
sequencer-scale to start recording/playback from any song-position you
1288
want. To record a single parameter value at a certain position simply
1289
move the sequencer-scale to that position, press <emphasis>Record,</emphasis>
1290
set the parameter and press <emphasis>Stop</emphasis> again.</para>
1292
<para>To selectively delete events from the sequencer see <xref
1293
linkend="SEQUENCERMENU" /> and <xref linkend="PARAMETERMENU" />.</para>
1296
<sect2 id="LADSPAPLUGINS">
1297
<title>Plugins (LADSPA)</title>
1299
<para>Since release 3.70 terminatorX supports LADSPA-plugins. LADSPA is
1300
the "Linux Audio Developer's Simple Plugin API" which was
1301
designed by developers on the Linux-Audio-Developer-Mailinglist and is
1302
maintained by Richard W.E. Furse. For more information on LADSPA, other
1303
LADSPA-hosts and LADSPA-plugins checkout the <ulink
1304
url="http://www.ladspa.org">LADSPA homepage</ulink>.</para>
1306
<para>Not every plugin is supported by terminatorX though. As the
1307
plugins are inserted into the per-turntable effect-queue, they have to
1308
be mono plugins (as is that queue) for now. This is why terminatorX will
1309
load plugins with <emphasis>one</emphasis> audio-in port and
1310
<emphasis>one</emphasis> audio-out port only.</para>
1312
<para>The decision on whether a plugin is terminatorX-suitable is made
1313
on terminatorX startup, so only plugins that fit into the effect queue
1314
will be offered in the plugin-menu that pops up when the
1315
<emphasis>FX</emphasis> button is clicked. Depending on whether the
1316
terminatorX binary you're using was built with or without liblrdf (<xref
1317
linkend="LIBLRDF" />) support the plugin menu will either contain
1318
sub-menus with plugin categories (with liblrdf) or just a single menu
1319
with the <emphasis>Unclassified</emphasis> category.</para>
1321
<para>On startup terminatorX will print some information on the
1322
LADSPA-plugins analysis process to the standard output. Watch the
1323
terminal you run terminatorX from for that info if you have problems
1324
loading a plugin.</para>
1326
<para>As specified in the LADSPA-standard LADSPA-plugins can be located
1327
in multiple directories across the filesystem. To enable LADSPA-hosts to
1328
find those plugins you have to set the environment variable
1329
<envar>LADSPA_PATH</envar> accordingly. Let's say you store your
1330
plugins in <filename moreinfo="none">/usr/lib/ladspa</filename> and
1331
<filename moreinfo="none">/home/yourlogin/plugins</filename> then you
1332
would have to set:</para>
1334
<para><envar>LADSPA_PATH</envar>=<filename moreinfo="none">/usr/lib/ladspa:/home/yourlogin/plugins</filename></para>
1336
<para>As a fallback terminatorX will look in the standard directories
1337
<filename moreinfo="none">/usr/lib/ladspa</filename> and <filename
1338
moreinfo="none">/usr/local/lib/ladspa</filename> if the environment
1339
variable is not set. Note that this is just a convenience-function, in
1340
order for other LADSPA-hosts to work properly, be sure to set your
1341
<envar>LADSPA_PATH</envar> correctly. It is a good idea to do that from
1342
somewhere in your system configuration (either in your rc-scripts or
1343
<filename moreinfo="none">/etc/profile</filename> or wherever you
1346
<sect3 id="LIBLRDF">
1347
<title>liblrdf support</title>
1349
<para>Release 3.80 introduces support for Steve Harris' great
1350
<ulink url="http://plugin.org.uk/releases/lrdf/">liblrdf</ulink>
1351
library which introduces an RDF based scheme to categorize LADSPA
1352
plugins. This approach allows storing additional meta-data for LADSPA
1353
plugins in separate RDF files. In order to make use of these RDF files
1354
a terminatorX binary (compiled with liblrdf support of course)
1355
requires the main <filename>ladspa.rdfs</filename> file and additional
1356
RDF files containing meta information about the LADSPA plugins
1357
installed. Steve Harris' wonderful plugin library comes with such
1358
an additional description file for example.</para>
1360
<para>By default terminatorX will search the directories
1361
<filename>/usr/share/ladspa/rdf</filename> and <filename>/usr/local/share/ladspa/rdf</filename>
1362
for RDF files. In case the files were installed to other locations it
1363
is possible to configure the LADSPA RDF path in the
1364
<emphasis>Misc</emphasis> tab of the <emphasis>Preferences</emphasis>
1367
<para>If the RDF are read successfully on startup, the LADSPA menu
1368
that pops up when clicking a turntable's <emphasis>FX</emphasis>
1369
button will feature multiple sub-menus with LADSPA plugin categories
1370
(eg <emphasis>Amplitude/Amplifier</emphasis>) in which you will find
1371
the according plugins. Plugins not categorized by the RDF files reside
1372
in the <emphasis>Unclassified</emphasis> menu.</para>
1377
<title>MIDI Interface</title>
1379
<para>Aside of controlling terminatorX with a regular mouse and keyboard
1380
it is possible to control parameters through MIDI events (since 3.80).
1381
The MIDI interface is based upon the ALSA sequencer API. On startup
1382
terminatorX creates a MIDI input port called "terminatorX". You
1383
can now use for example the <ulink
1384
url="http://pkl.net/%7Enode/alsa-patch-bay.html">alsa-patch-pay</ulink>
1385
to connect an output port of your choice (either a hardware MIDI input
1386
device or a software generating midi events) to the terminatorX input
1387
port. If the "<emphasis>Restore MIDI Connections</emphasis>"
1388
option is activated terminatorX will try to re-connect to the MIDI ports
1389
it was connected to with the last run. However this approach is purely
1390
address-based and might fail miserably with software ports, in this case
1391
just disable the configuration options re-wire manually.</para>
1393
<para>There are two ways to map MIDI events to a parameter:<itemizedlist><listitem><para>Via
1394
the <emphasis>Configure MIDI Bindings</emphasis> dialog as described
1395
below</para></listitem><listitem><para>Via the the a parameter's
1396
menu (see <xref linkend="PARAMETERMENU" />)</para></listitem></itemizedlist></para>
1398
<para>Once the connection is set up terminatorX receives MIDI events
1399
through the input port. To configure what MIDI events will have which
1400
effect on a terminatorX turntable you can bind MIDI events to parameters
1401
of your choice by clicking the <emphasis>MIDI</emphasis> button of the
1402
turntable's audio panel. As a result the <emphasis>Configure MIDI
1403
Bindings</emphasis> dialog will pop up which features a field labelled
1404
<emphasis>Selected MIDI Event</emphasis> that will frequently update to
1405
display the contents of the last MIDI event received by terminatorX. So
1406
in order to map a MIDI controller to a specific turntable parameter
1407
select the parameter of your choice from the parameter list, cause your
1408
MIDI event sending device to emit the event you want to map the
1409
parameter on and click the <emphasis>Bind</emphasis> button.</para>
1411
<para>Immediately after binding the event you should see that the
1412
<emphasis>Event</emphasis> column entry of the selected parameter is
1413
updated to match the selected event. From now on all events matching the
1414
selected event will cause the turntable parameter to be updated. The GUI
1415
for that parameter will be refreshed accordingly. Note that it is
1416
possible to map the same event to multiple parameters.</para>
1418
<para>The MIDI mappings are stored within terminatorX set files so you
1419
wont have to reconfigure your bindings every time you start up
1420
terminatorX. If you are unhappy with a chosen binding you can select the
1421
parameter and click the <emphasis>Remove Binding</emphasis> button to
1422
get rid of the parameter's MIDI mapping.</para>
1424
<para>TeriminatorX now features a default MIDI mapping that can be
1425
enabled via the <emphasis>Turntables Menu</emphasis> (see <xref
1426
linkend="TURNTABLESMENU" />). The controllers are mapped in a one
1427
channel per turntable fashion:</para>
1430
<title>Default MIDI Controller Mapping</title>
1435
<entry>Turntable Parameter</entry>
1437
<entry>MIDI Controller</entry>
1439
<entry>MIDI CC Name</entry>
1445
<entry>Volume</entry>
1449
<entry><quote>Main Volume</quote></entry>
1457
<entry><quote>Pan</quote></entry>
1461
<entry>Lowpass Cutoff Frequency</entry>
1465
<entry><quote>Effect Control 1</quote></entry>
1469
<entry>Lowpass Resonance</entry>
1473
<entry><quote>Effect Control 2</quote></entry>
1477
<entry>Lowpass Gain</entry>
1481
<entry><quote>General Purpose Controller 1</quote></entry>
1485
<entry>Speed</entry>
1489
<entry><quote>General Purpose Controller 2</quote></entry>
1493
<entry>Pitch</entry>
1497
<entry><quote>General Purpose Controller 3</quote></entry>
1501
<entry>Sync Cycles</entry>
1505
<entry><quote>General Purpose Controller 4</quote></entry>
1509
<entry>Echo Length</entry>
1513
<entry><quote>Sound Controller 6</quote></entry>
1517
<entry>Echo Feedback</entry>
1521
<entry><quote>Sound Controller 7</quote></entry>
1525
<entry>Echo Volume</entry>
1529
<entry><quote>Sound Controller 8</quote></entry>
1533
<entry>Echo Pan</entry>
1537
<entry><quote>Sound Controller 9</quote></entry>
1543
<para>The toggle parameters of a turntable (where things can only be
1544
turned on or off) are mapped to MIDI NOTE events, where the first
1545
turntable is mapped to 'C', the next to 'C#', the next
1546
to 'D' and so on. The "function" of the toggle is
1547
defined via the selected MIDI channel:</para>
1550
<title>Default MIDI Note On/Off Mapping</title>
1555
<entry>Turntable Parameter</entry>
1557
<entry>MIDI Channel</entry>
1563
<entry>Trigger</entry>
1569
<entry>Sync Client</entry>
1581
<entry>Lowpass Enable</entry>
1587
<entry>Echo Enable</entry>
1599
<entry>Motor Spin On/Off</entry>
1607
<para>If you want to use your joystick to control terminatorX - I wrote
1608
a tiny tool to create MIDI events from joystick motion called
1609
<emphasis>aseqjoy</emphasis>. It's available from the <ulink
1610
url="http://terminatorX.cx/aseqjoy.html">terminatorX website</ulink>,
1614
<sect2 id="JACKSUPPORT">
1615
<title>JACK Support</title>
1617
<para>TerminatorX Version 3.81 brings support for the
1618
<emphasis>JACK Audio Connection Kit</emphasis>. Instead of writing audio
1619
data directly to some audio device terminatorX can send data to the JACK
1620
Daemon for further processing.</para>
1622
<para>To use the JACK backend you have to ensure that the JACK Daemon is
1623
up and running before you start terminatorX. The JACK backend is only
1624
available if terminatorX was capable of connecting to the JACK Daemon on
1625
startup. By default the two output ports of terminatorX will be
1626
connected to physical ports if available. You can then re-wire the ports
1627
whatever way you want. They will not be deactivated - when
1628
terminatorX' audio engine is turned off, the audio backend emits
1629
continuous silence.</para>
1633
<sect1 id="CONFIGURATION">
1634
<title>Configuration</title>
1636
<para>The main terminatorX configuration parameters can be set up via the
1637
<emphasis>Preferences</emphasis> dialog, which can be activated from the
1638
terminatorX menu. The new <emphasis>Preferences</emphasis> dialog features
1639
multiple tabs for several aspects of configuration.</para>
1641
<para>A word on the settings in general: your settings are stored in an
1642
XML file ( <filename moreinfo="none">~/.terminatorXrc).</filename> So if
1643
you think you completely messed up your settings you will have to exit
1644
terminatorX - delete this file - and then re-run terminatorX with the
1645
default settings. Note: is this file is now an XML file you can edit with
1646
an editor of your choice.</para>
1648
<sect2 id="AUDIOTAB">
1649
<title><emphasis>Audio</emphasis> Tab</title>
1651
<para>This tab allows to select which audio backend terminatorX should
1652
use. Currently there are three options: the OSS (Open Sound System)
1653
backend, the ALSA (Advanced Linux Sound Architecture) backend and the
1654
JACK (JACK Audio Connection Kit) backend. Some of these options might
1655
not be available, if your terminatorX binary wasn't compiled to
1656
support a certain backend.</para>
1658
<para>The OSS and ALSA backends have dedicated configuration tabs, JACK
1659
requires no further configuration - for more details on JACK support see
1660
<xref linkend="JACKSUPPORT" />.</para>
1664
<title><emphasis>Audio: OSS</emphasis> Tab</title>
1666
<para>Select the audio device you are going to use from the available
1667
options (or simply enter one yourself). terminatorX renders audio
1668
block-wise. In order to achieve close-to-realtime performance it is
1669
necessary to keep this blocks as small as possible. The main parameters
1670
that determine how close-to-realtime terminatorX will perform are
1671
<emphasis>No. of Buffers</emphasis> and <emphasis>Buffersize</emphasis>.
1672
The <emphasis>No. of Buffers</emphasis> parameter determines how many
1673
buffers the audio driver should use in most cases <emphasis>2</emphasis>
1674
should be the best setting and in rare cases <emphasis>3</emphasis>
1675
might give better results.</para>
1677
<para>The value for the <emphasis>Buffersize</emphasis> setting will be
1678
evaluated as 2^buffersize by OSS. So if you set the value to
1679
<emphasis>8</emphasis> the actual buffer size will be 2^8=256 Bytes. The
1680
smaller the buffers' size the better terminatorX will perform. The
1681
default setting of <emphasis>9</emphasis> should be acceptable in most
1682
conditions, but if you here "clicks", or "drops" in
1683
audio output that are not related to your sample-material you will have
1684
to increase the buffer size. On the other hand if you believe
1685
terminatorX does not react fast enough you have to decrease this
1688
<para>Additionally you can select the sampling rate you want terminatorX
1689
to operate on - note that recording to disk will use the same sample
1693
<sect2 id="ALSATAB">
1694
<title><emphasis>Audio: ALSA</emphasis> Tab</title>
1696
<para>Using ALSA for audio output allows specifing the buffer sizes in
1697
microseconds. ALSA uses a ring-buffer to process audio. The
1698
<emphasis>Buffer Time</emphasis> option lets you set the size for the
1699
complete ring buffer, while the <emphasis>Period Time</emphasis>
1700
determines how many audio samples will be transferred to the audio
1701
device per cycle. I'm not really sure on what kind of settings to
1702
recommend, however I had best results when setting the
1703
<emphasis>Period Time</emphasis> to 3rd or half of the
1704
<emphasis>Buffer Time</emphasis>.</para>
1706
<para>It's advisable to set the <emphasis>Buffer Time</emphasis> to
1707
at least the double of the <emphasis>Period Time</emphasis>, but for a
1708
more detailed description check out the ALSA documentation.</para>
1711
<sect2 id="INPUTTAB">
1712
<title><emphasis>Input</emphasis> Tab</title>
1714
<para>Between rendering and outputting these blocks terminatorX checks
1715
for mouse motion. The problem with mice is: they don't report when
1716
they have stopped. This is why terminatorX assumes your mouse has
1717
stopped if there is no motion reported for certain amount of
1718
render/output-cycles. This value is configurable via the
1719
<emphasis>Stop-sense-cycles</emphasis> option. If you decrease your
1720
buffersize of course you shorten the cycle time as well, therefore if
1721
you here strange stop/run behaviour of the audio output while scratching
1722
after you decreased the buffer size you might have to increase the
1723
stop-sense value too.</para>
1725
<para>XInput Device: <emphasis>WARNING:</emphasis> Use this option
1726
*only* if you want to use an input device other than your default-mouse
1727
for scratching. Selecting your default pointer will cause terminatorX to
1728
crash. See the "Using a turntable" section on the terminatorX
1729
homepage for details.</para>
1732
<sect2 id="USERINTERFACETAB">
1733
<title><emphasis>User Interface</emphasis> Tab</title>
1735
<para>With <emphasis>Update Idle</emphasis> / <emphasis>Update Delay</emphasis>
1736
you can configure GUI responsiveness: Higher <emphasis>Update Idle</emphasis>
1737
will cause the wave display (position display) and flash-widgets to
1738
update less often. Higher <emphasis>Update Delay</emphasis> values will
1739
cause the parameter widgets to update less often.</para>
1743
<title><emphasis>Audio Colors</emphasis> and <emphasis>VU Colors</emphasis>
1746
<para>Since Version 3.81 it is possible to configure the colors
1747
terminatorX' audio widgets. Simply click on the color you want to
1748
modify and select the tone you prefer.</para>
1751
<sect2 id="MISCTAB">
1752
<title><emphasis>Misc</emphasis> Tab</title>
1754
<para>You can now enter the soundfile editor of your choice in the
1755
"Sound file editor" field. This editor will be started when
1756
clicking the <emphasis>Edit</emphasis>-button in the main panel of the
1757
vtt-gui. If you enter for example "myeditor" terminatorX will
1758
run "myeditor sample_in_vtt.wav".</para>
1760
<para>The <emphasis>LADSPA RDF Path</emphasis> defines where liblrdf
1761
will look for the RDF files for LADPSA Plugins.</para>
1763
<para>If <emphasis>Compress set files</emphasis> is activated
1764
terminatorX will use zlib to compress set files. This is very usefull
1765
for sets that have many events recorded.</para>
1767
<para>See <xref linkend="MIDI" /> for more details on
1768
<emphasis>Restore MIDI Connections</emphasis>. If you disable the
1769
<emphasis>Ask for "Quit" Confirmation</emphasis> option
1770
terminatorX will no longer ask if you really want to quit.</para>
1774
<sect1 id="CONTACT">
1775
<title>Contact / Download</title>
1777
<para>Find out more about terminatorX at it's <ulink
1778
url="http://www.terminatorX.cx">homepage</ulink>.</para>
1780
<para>Send me comments, bug-reports, patches or scratches (see scratches
1781
section on the terminatorX homepage) at: <email>alex@lisas.de</email></para>