2 <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
3 <!ENTITY version "3.90">
4 <!ENTITY date "2014-01-31">
6 <article id="index" lang="en">
9 <abstract role="description"><para>terminatorX is a realtime audio synthesizer that allows you
10 to "scratch" on digitally sampled audio data (*.wav, *.au, *.ogg,
11 *.mp3, etc.) the way hiphop-DJs scratch on vinyl records.</para></abstract>
13 <title>terminatorX - Manual</title>
15 <author role="maintainer"><firstname>Alexander</firstname><surname>König</surname></author>
17 <copyright><year>1999</year><year>2000</year><year>2001</year><year>2002</year><year>2003</year><year>2004</year><year>2005</year><year>2006</year><year>2014</year>
18 <holder role="mailto:alex@lisas.de">Alexander König</holder></copyright>
21 <revnumber>terminatorX Manual &version;</revnumber>
25 <releaseinfo>Version &version;</releaseinfo>
27 <legalnotice id="legalnotice">
29 <para>Permission is granted to copy, distribute and/or modify
30 this document under the terms of the GNU Free Documentation
31 License (GFDL), Version 1.1 or any later version published by the
32 Free Software Foundation with no Invariant Sections, no
33 Front-Cover Texts, and no Back-Cover Texts. You can find a copy
34 of the GFDL at this <ulink type="help" url="ghelp:fdl">
35 link</ulink> or in the file COPYING-DOCS distributed with this
38 <para>Many of the names used by companies to distinguish their
39 products and services are claimed as trademarks. Where those
40 names appear in any ScrollKeeper documentation, and the members
41 of the ScrollKeeper Project are made aware of those trademarks,
42 then the names are in capital letters or initial capital
47 DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED
48 UNDER THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE WITH THE
49 FURTHER UNDERSTANDING THAT:
54 <para>DOCUMENT IS PROVIDED ON AN "AS IS" BASIS, WITHOUT
55 WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
56 INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE DOCUMENT
57 OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS
58 MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR
59 NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY,
60 ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR MODIFIED
61 VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR
62 MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT
63 THE INITIAL WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE
64 COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS
65 DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF
66 THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION OF
67 THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS
68 DISCLAIMER; AND</para>
74 <para>UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY,
75 WHETHER IN TORT (INCLUDING NEGLIGENCE), CONTRACT, OR
76 OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY
77 CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED
78 VERSION OF THE DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH
79 PARTIES, BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT,
80 SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY
81 CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS
82 OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR
83 MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR LOSSES ARISING
84 OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED
85 VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE
86 BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES.</para>
98 <sect1 id="INTRODUCTION">
100 <title>Introduction</title>
102 <sect2 id="WHATITIS">
104 <title>What it is</title>
106 <para>terminatorX is a realtime audio synthesizer that allows you
107 to "scratch" on digitally sampled audio data (*.wav, *.au, *.ogg,
108 *.mp3, etc.) the way hiphop-DJs scratch on vinyl records. It
109 features multiple turntables, realtime effects (buit-in as well
110 as <ulink url="http://www.ladspa.org">LADSPA</ulink> plugin
111 effects), a sequencer and MIDI interface - all accessible through
112 an easy-to-use gtk+ GUI.</para>
114 <para>This is software may have
115 <ulink url="http://terminatorX.org/bugs.html">bugs</ulink> please
116 help fixing them. See <xref linkend="CONTACT"/>. Please read this
117 manual and visit the <ulink url="http://terminatorX.org">
118 homepage</ulink>.</para>
122 <sect2 id="QUICKSTART">
124 <title>Quickstart</title>
126 <para>Try the following steps:</para>
132 <para>If you don't have <application>LADSPA</application>
133 (Linux Audio Developer's Simple Plugin API) installed, go and
134 get it from the <ulink url="http://www.ladspa.org">
135 LADSPA-homepage</ulink> and install the SDK. terminatorX
136 requires <filename>ladspa.h</filename>.</para>
142 <para>Install terminatorX (see <filename>INSTALL</filename>
149 <para>If you want to use the
150 <ulink url="http://jackit.sourceforge.net">JACK</ulink>
151 backend run jackd before starting terminatorX.</para>
157 <para>Run terminatorX</para>
163 <para>Setup Audio Output via
164 <emphasis>Options/Preferences</emphasis>.</para>
170 <para>Load an audiofile into the available turntable (you can
171 add more turntables if you want) (Hint: Click on the button
172 that holds "NONE" to load an audiofile, or drop one over the
173 audiofile display from your GNOME filemanager.</para>
179 <para>Load a LADSPA plugin of your choice by clicking the
180 turntable's <emphasis>FX</emphasis> button and enable
187 <para>Click on the "Audio Engine"-button to start
194 <para>Click on the "Mouse-Grab"-button to enter grab mode.
195 The turntable with the red border has the input focus.</para>
201 <para>Press <keycap>SPACE</keycap> or left mouse button to
208 <para>Release <keycap>SPACE</keycap> or left mouse button to
209 let the scratch-file run at the turntable's default
216 <para>Press <keycap>ESCAPE</keycap> to quit grab mode.</para>
224 <sect2 id="FEATURES">
226 <title>Features</title>
228 <para>The following list summarizes terminatorX' main
235 <para>Scratching</para>
241 <para>Multiple turntables</para>
247 <para>Built-in Sequencer</para>
253 <para>MIDI Interface</para>
259 <para>Pitch / Volume settings for each turntable</para>
265 <para>Effects (Lowpass/Echo) configurable for each
272 <para>Syncing tables to one master turntable</para>
278 <para>Broad audiofile-type support</para>
284 <para>Record to disk</para>
290 <para>Save and Load turntable sets (.tX - files)</para>
296 <para>Support for LADSPA plugins.</para>
302 <para>Support for the <emphasis>JACK Audio Connection
303 Kit</emphasis></para>
309 <para>and more</para>
317 <sect2 id="REQUIREMENTS">
319 <title>Requirements</title>
321 <para>To run terminatorX a system should meet the following
328 <para>Software</para>
334 <para>required</para>
340 <para>Linux, FreeBSD or the like</para>
346 <para>glibc2 (pthreads).</para>
352 <para>XFree86 (with DGA DirectMouse support). Note
353 that XFree86 Release 4.0 has a bug resulting in
354 broken DirectMouse support. This has been fixed by
355 the XFree86-Team with Release 4.0.1 available from
356 your distribution or the
357 <ulink url="http://www.xfree86.org">XFree86
358 homepage</ulink>.</para>
364 <para>The Gimp Toolkit: gtk+ (>= 2.0). If your
365 distribution doesn't provide a current version of
366 gtk+ get it from the <ulink url="http://www.gtk.org">
367 gtk+ homepage</ulink>.</para>
373 <para>LADSPA - the Linux Audio Developer's Simple
374 Plugin API. Get it from the
375 <ulink url="http://www.ladpsa.org">LADSPA
376 homepage</ulink></para>
382 <para>a compiler (gcc)</para>
392 <para>optional (but highly recommended)</para>
399 <ulink url="http://plugin.org.uk/releases/lrdf/">liblrdf</ulink>
400 for easier handling of LADSPA plugins</para>
407 <ulink url="http://www.mars.org/home/rob/proj/mpeg/">mad</ulink>
408 for loading mp3 files.</para>
415 <ulink url="http://www.xiph.org/ogg/vorbis/">libvorbis</ulink>
416 for loading ogg files.</para>
423 <ulink url="http://jackit.sourceforge.net">libjack</ulink>
424 for JACK support.</para>
431 <ulink url="http://xmlsoft.org/">libxml2</ulink> to
432 read terminatorX set and rc files</para>
439 <ulink url="http://www.gzip.org/zlib/">zlib</ulink>
440 to create compressed XML set files to save
448 <ulink url="http://www.68k.org/~michael/audiofile/">libaudiofile</ulink>
449 for loading misc other audio files.</para>
455 <para><ulink url="???">libcap</ulink> for capabilties
463 <ulink url="http://www-ti.informatik.uni-tuebingen.de/~hippm/mpg123.html">mpg123</ulink>
464 for mp3 pre-listening (and fallback loading if mad is
465 not installed).</para>
472 <ulink url="http://www.xiph.org/ogg/vorbis/">ogg123</ulink>
473 for ogg pre-listening (and fallback loading if
474 libvorbis is not installed).</para>
481 <ulink url="http://home.sprynet.com/~cbagwell/sox.html">sox</ulink>
482 for misc files pre-listening (and fallback loading of
497 <para>Hardware</para>
503 <para>An <ulink url="http://www.alsa-project.org">
504 ALSA</ulink> or OSS compatible soundcard capable of
505 stereo output.</para>
511 <para>A good clean mouse and pad, a good X-Pointer
522 <para>A note on performance: terminatorX is known to run
523 satisfyingly on pentium-class systems (or above of course).
524 Increasing the number of turntables or plugins will of course
525 require more performant systems.</para>
529 <sect2 id="INSTALLATION">
531 <title>Installation</title>
533 <para>For GNU-standards' sake this information is now located in
534 the <filename>INSTALL</filename> file that came with this
535 distribution of terminatorX.</para>
541 <sect1 id="OPERATION">
543 <title>Operation</title>
545 <para>TerminatorX' user interface is split up into the main
546 controls (master, sequencer, engine controls and menu buttons) and
547 the individual turntable's controls. Each turntable has it's own
548 interface split up into a control and a audio panel (see
549 <xref linkend="TURNTABLECONTROLS"/>).</para>
555 <para>To clean-up the user interface a bit further some functions
556 have been moved into a more standard menu bar for the main window
557 (with release 3.80). The following sub-menus are available:</para>
559 <sect3 id="FILEMENU">
561 <title><emphasis>File</emphasis> Menu</title>
563 <para>The <emphasis>File</emphasis> menu features these
570 <para><emphasis>Load Audio File</emphasis></para>
572 <para>The "official" position functionality is located at
573 the file button (that reads "NONE" on startup) for each
574 turntable. However, a lot of people expect to find this
575 functionality in the menu, so you can load an audio file
576 from here, too.</para>
582 <para><emphasis>New Set</emphasis></para>
584 <para>Erases all existing turntables and sequencer events
585 and creates a new and untouched turntable.</para>
591 <para><emphasis>Open Set File</emphasis></para>
593 <para>Allows restoring of a previously saved terminatorX
600 <para><emphasis>Save Set</emphasis></para>
602 <para>Saves the current turntables and events in a
603 terminatorX set file.</para>
609 <para><emphasis>Save Set As</emphasis></para>
611 <para>Like <emphasis>Save</emphasis> but prompts for a new
618 <para><emphasis>Quit</emphasis></para>
626 <sect3 id="TURNTABLESMENU">
628 <title><emphasis>Turntables</emphasis> Menu</title>
630 <para>The <emphasis>Turntables</emphasis> menu features these
637 <para><emphasis>Add Turntable</emphasis></para>
639 <para>Adds a new turntable to the current set of
646 <para><emphasis>Assign Default MIDI
647 Mappnigs</emphasis></para>
649 <para>Will assign the Default MIDI Mappings (see
650 <xref linkend="MIDI"/>) to all standard parameters.
651 Existing mappings will not be overridden.</para>
657 <para><emphasis>Auto Assign Default MIDI
658 Mappings</emphasis></para>
660 <para>When this option is enabled will always re-apply the
661 Default MIDI Mappings (see <xref linkend="MIDI"/>) whenever
662 you load a set, add a new turntable or create a new set.
663 Existing mappings will not be overridden.</para>
669 <para><emphasis>Clear MIDI Mappings</emphasis></para>
671 <para>Removes all currently assigned MIDI mappings.</para>
677 <para><emphasis>Record Audio to Disk</emphasis></para>
679 <para>On activation of this option, terminatorX will prompt
680 for a file name for the RIFF/Wave file to create. Once
681 activated terminatorX will start recording audio to disk
682 the next time the audio engine is started - either by
683 pressing the Power or the Play button. Recording will stop
684 when the audio engine is stopped again. The created
685 RIFF/Wave file will be a 16Bit/Stereo wave-file with the
686 sampling rate selected for the current audio backend.</para>
694 <sect3 id="SEQUENCERMENU">
696 <title><emphasis>Sequencer</emphasis> Menu</title>
698 <para>The <emphasis>Sequencer</emphasis> (see
699 <xref linkend="SEQUENCER"/> for general information on the
700 sequencer) menu features these functions:</para>
706 <para><emphasis>Delete All</emphasis> submenus</para>
708 <para>These submenus allow you to delete sequencer events
709 of a specific parameter or all events for a complete
710 turntable. After selecting the the parameter/turntable of
711 your choice a dialog will pop-up that allows you to delete
712 all events from either:</para>
718 <para>the beginning of the song upto the current song
725 <para>the current song position upto the end of the
732 <para>the beginning to the end of the song (all
743 <para><emphasis>Delete All Events</emphasis></para>
745 <para>Works the same as the <emphasis>Delete All</emphasis>
746 submenus but selects <emphasis>all</emphasis> events for
747 <emphasis>all</emphasis> turntables.</para>
753 <para><emphasis>Confirm Recorded Events</emphasis></para>
755 <para>Usually terminatorX will add all recorded events of a
756 take to the song event list as soon as you hit the
757 <emphasis>Stop</emphasis> button for the sequencer. If you
758 enable <emphasis>Confirm Recorded Events</emphasis>
759 terminatorX will ask you whether the recorded events should
760 really be fed into the song list. This makes it much easier
761 to record a certain part over and over again until you get
770 <sect3 id="OPTIONSMENU">
772 <title><emphasis>Options</emphasis> Menu</title>
774 <para>The <emphasis>Options</emphasis> menu features these
781 <para><emphasis>Fullscreen</emphasis></para>
783 <para>Maximizes the terminatorX main windows to use the
784 complete screen. Note that this requires a NETWM compliant
785 window manager to work. By toggling this option again
786 terminatorX' window can be resized back to the previous
787 state again. The setting will be stored in the <filename>
788 ~/.terminatorXrc</filename> file.</para>
794 <para><emphasis>Preferences</emphasis></para>
796 <para>Will pop up the Preferences dialog. For more details
797 on configuration itself see <xref linkend="CONFIGURATION"/>
806 <sect3 id="HELPMENU">
808 <title><emphasis>Help</emphasis> Menu</title>
810 <para>The <emphasis>Help</emphasis> menu features these
817 <para><emphasis>Contents</emphasis></para>
819 <para>Starts a <emphasis>gnome-help</emphasis> (aka
820 <emphasis>yelp</emphasis>) process to display the very
821 manual you are reading right now.</para>
827 <para><emphasis>About</emphasis></para>
829 <para>Selecting this menu item will cause a small dialog to
830 pop up that contains some information on the compile time
831 settings for the terminatorX binary as well as the
838 <para><emphasis>Visit terminatorX.org</emphasis></para>
840 <para>Will try to spawn a browser process to load the URL
841 <ulink url="http://terminatorX.org">
842 http://terminatorX.org</ulink> - for easy update checking or
843 just unecessary bloat.</para>
853 <sect2 id="MAINCONTROLS">
855 <title>Main Controls</title>
857 <para>The controls of the master GUI are located in the top and
858 the right bar of the terminatorX main window.</para>
864 <para><emphasis>Audio Engine Power / Mouse
865 Grab</emphasis></para>
867 <para>With the Audio Engine Button you can en- and disable
868 the audio playback engine without activating the sequencer.
869 Unlike earlier versions you will not automatically enter
870 mouse-grab mode so you can modify volume/pitch/echo settings
871 etc. while you actually hear what you do.</para>
873 <para>Some functions are not available when the audio engine
874 is on, their controls will be marked insensitive when you
875 enable the engine. To actually enter grab mode you'll have to
876 click on the "Mouse Grab" button. See
877 <xref linkend="GRABMODE"/> to find out how to control the
878 software then.</para>
884 <para><emphasis>Sequencer Play / Record /
885 Stop</emphasis></para>
887 <para>Please read <xref linkend="SEQUENCER"/> to find out
888 more about the sequencer.</para>
894 <para><emphasis>Master Volume / Pitch</emphasis></para>
896 <para>The volume and pitch settings of the individual
897 turntables are relative to these master settings. This
898 information will be stored within the .tX set files.</para>
906 <sect2 id="TURNTABLECONTROLS">
908 <title>Turntable Controls</title>
910 <para>The turntable GUI contains multiple controls and the real
911 time displays for each turntable. To save some space on your
912 desktop and to give terminatorX the traditional audio-application
913 look, terminatorX features "knob"-widgets. These widgets work
914 pretty straight-forward: click somewhere within the widget and
915 keep the left mouse-button pressed. Now move the mouse up and
916 down or left and right to increase/decrease the control's value.
917 All those widget are coupled with a text entry field since 3.70,
918 which allows you to enter values directly.</para>
920 <para>A turntable is visualized by two panels: the control and
921 the audio panel. These are no longer combined for better layout
924 <para>Sometimes you might find a certain audio or control panel
925 unnecessary - simply eating up space. Since release 3.73 it is
926 possible to minimize audio and control panels to the
927 <emphasis>panel bar</emphasis> with the tiny button with a blue
928 bar icon in the upper right edge of each panel. This bar works
929 just like GNOME's window list or KDE's kicker: When a panel is
930 minimized a button in the bar will appear, representing the
931 minimized window. On clicking this button the button will be
932 removed and the minimized panel is displayed again. When no
933 panels are minimized the panel bar automatically disappears to
934 save display space.</para>
938 <title>Turntable Audio Panel</title>
940 <para>The complete audio-file loaded into a turntable is
941 displayed in the green-on-black audio-widget. When playing
942 terminatorX will indicate the current position within the
943 sample with a red cursor (a blue/green cursor indicates the
944 turntable is muted).</para>
946 <para>Additionally there are some controls above the
947 audio-display:</para>
953 <para><emphasis>Turntable Label</emphasis></para>
955 <para>This label indicates the turntables name. The name
956 can be set via the control panel</para>
962 <para><emphasis>File Button</emphasis></para>
964 <para>This button holds the name of the audio-file
965 currently loaded. When there's no sample loaded the button
966 will read "NONE" to indicate the current status. Click on
967 this button to get a menu from which you can load/reload a
968 sound file or run an external soundfile editor.
969 Alternatively you can drag'n'drop files over the
970 audio-display to load them.</para>
974 <title>The File Button Menu</title>
978 <para><emphasis>Load File</emphasis></para>
980 <para>Choose this menu entry to select a soundfile from
981 the file-selection dialog that will pop-up.</para>
987 <para><emphasis>Reload File</emphasis></para>
989 <para>Choose this menu entry to re-read the
996 <para><emphasis>Edit File</emphasis></para>
998 <para>This menu entry will run the external
999 audiofile-editor (that can be specified via the
1000 options-dialog) with the current audio-file as a
1001 parameter. Choose reload after editing and saving the
1012 <para><emphasis>Mouse Mapping</emphasis></para>
1014 <para>terminatorX allows mapping misc parameters to the
1015 mouse axis of your choice. These mappings will be activated
1016 in grab mode, so if you move your mouse in X or Y direction
1017 in grab mode the parameters you selected from this menu
1018 will be affected (for this turntable). Since Version 3.70
1019 this mappings are no longer hardcoded to built-in controls
1020 but available for all parameters that qualify as
1021 "mappable". Note that this includes plugins' controls as
1028 <para><emphasis>MIDI Mapping</emphasis></para>
1030 <para>This button is available only if terminatorX was
1031 built with ALSA MIDI support and the sequencer input port
1032 was created successfully on startup. For more information
1033 on terminatorX' MIDI interface see <xref linkend="MIDI"/>
1044 <title>Turntable Controls</title>
1046 <para>These controls are now grouped within functional panels.
1047 The number of panels depends on the number of plugins loaded.
1048 terminatorX allows hiding the controls not required via the
1049 yellow triangle button. To un-hide just click the button again.
1050 The first panels are the standard controls for a turntable,
1051 then follows the dynamic FX-section and below that follow the
1052 pitch and volume controls.</para>
1056 <title>Main Panel</title>
1062 <para><emphasis>Name Field</emphasis></para>
1064 <para>The main panel features a text entry field that
1065 allows setting a name for the related turntable. The
1066 Labels for the controls and the audio-display will update
1073 <para><emphasis>Delete Button</emphasis></para>
1075 <para>Pressing this button remove the turntable from the
1076 current setup. Note that all sequencer events recorded
1077 for this turntable will be erased, too.</para>
1083 <para><emphasis>Pitch Adj. Button</emphasis></para>
1085 <para>Using two (or more) loops and terminatorX'
1086 synchronization facility usually requires adjusting the
1087 pitch of the loops so that the turntables play in sync.
1088 For precisely cut loops this usually means making them
1089 run equally fast or one running twice as fast as the
1090 other etc. Manually finding the necessary pitch values
1091 usually consumes a significant amount of time so the
1092 feature <emphasis>Pitch Adjust</emphasis> helps speeding
1093 up this process.</para>
1095 <para>Clicking this button will cause the
1096 <emphasis>Compute Pitch</emphasis> dialog to pop up. With
1097 this dialog it is possible to specify how many loops of
1098 this turntable should be played as fast as a certain
1099 amount of loops of the master turntable. After pressing
1100 the <emphasis>Ok</emphasis> button terminatorX will
1101 adjust the turntable's ptich accordingly in order to
1102 match the given playback speed requirements.</para>
1104 <para>Note that this feature is proabably useless when
1105 loading complete songs into terminatorX - it's intended
1106 for use with precisely cut loops.</para>
1116 <title>Playback Panel</title>
1118 <para>The playback panel holds all controls related to
1119 triggering the turntable. For more details on synchronization
1120 see <xref linkend="SYNCHRONIZATION"/>.</para>
1126 <para><emphasis>Trigger! Button</emphasis></para>
1128 <para>Pressing this button triggers the turntable now.
1129 With the audio engine enabled this will cause the
1130 turntable to start playing back audio from the beginning
1131 of the sample.</para>
1137 <para><emphasis>Stop Button</emphasis></para>
1139 <para>Guess what, this stops this turntable's
1140 audio-playback.</para>
1146 <para><emphasis>Master Button</emphasis></para>
1148 <para>Enabling this button makes this turntable the
1149 <emphasis>sync-master</emphasis>. Note that only
1150 <emphasis>one</emphasis> turntable at a time can be the
1157 <para><emphasis>Client Button</emphasis></para>
1159 <para>This button marks the turntable as
1160 <emphasis>sync-client</emphasis>, so it will be triggered
1161 with the master automatically.</para>
1167 <para><emphasis>Sync-Cycles Selection</emphasis></para>
1169 <para>The sync cycles determine how often a sync-client
1170 should be triggered. With a setting of zero the
1171 sync-client will be (re-)triggered with
1172 <emphasis>every</emphasis> trigger of the sync-master. A
1173 setting of 1 will (re-)trigger the client every
1174 <emphasis>second</emphasis> master-trigger and so
1183 Below the effect queue a turntable shows some more controls:
1188 <para><emphasis>Pitch Control</emphasis></para>
1190 <para>The pitch control allows setting the default
1191 playback speed for that turntable (the "motor" speed).
1192 Negative values will result in the sample being played
1199 <para><emphasis>PAN Control</emphasis></para>
1201 <para>This parameter allows setting the position of the
1202 turntable's main signal within the stereo
1209 <para><emphasis>VU Meter</emphasis></para>
1211 <para>The displayed signal shows the turntable's
1212 current signal not including the echo-signal which is
1213 mixed separately.</para>
1225 <sect3 id="PARAMETERMENU">
1227 <title>Parameter Menu</title>
1231 TerminatorX can record events for nearly all parameters of a
1232 turntable. All of these so-called "sequencable" parameters
1233 have an extra pop-up menu since Version 3.81. Simply
1234 right-click on the knob, button, slider of the parameter you
1235 want to setup, and a menu with the following options will
1241 <para><emphasis>MIDI Learn</emphasis></para>
1243 <para>This options provides an easy method to select the
1244 MIDI control to modify the parameter you select. If you
1245 choose this menu entry, a tiny dialog box will pop up
1246 that reads <emphasis>"Waiting for MIDI
1247 Event..."</emphasis>. The first MIDI event terminatorX
1248 receives will now be mapped to control this
1255 <para><emphasis>Remove MIDI Binding</emphasis></para>
1257 <para>If a MIDI event has been bound to a parameter it
1258 can be removed by selecting this menu entry.</para>
1264 <para><emphasis>Map MIDI Reverse</emphasis></para>
1266 <para>This option can be turned either on or off: when
1267 enabled the maximum value of the MIDI controller will be
1268 mapped to the minimum value of the controlled parameter
1269 and the other way round.</para>
1271 <para>Note that this allows mapping a MIDI controller as
1272 a crossfader: simply map the same MIDI controller to two
1273 different turntables's volume controls (or optionally
1274 extra amplifier plugins) and reverse one of these MIDI
1281 <para><emphasis>Set Upper MIDI Bound</emphasis></para>
1283 <para>Sometimes it is preferable to modify a certain
1284 parameter only within a specific value range - this can
1285 be achieved with this option - by setting an upper and a
1286 lower bound for the MIDI control of this parameter. When
1287 you select this menu entry, the current setting of this
1288 parameter will be used as the upper bound for the
1289 parameter's MIDI mapping.</para>
1295 <para><emphasis>Reset Upper MIDI Bound</emphasis></para>
1297 <para>If an upper MIDI bound was set for this parameter
1298 it can be removed by selecting this menu entry.</para>
1304 <para><emphasis>Set Lower MIDI Bound</emphasis></para>
1306 <para>Works just like setting the uper MIDI bound: when
1307 you select this menu entry, the current setting of this
1308 parameter will be used as the lower bound for the
1309 parameter's MIDI mapping.</para>
1315 <para><emphasis>Reset Lower MIDI Bound</emphasis></para>
1317 <para>If a lower MIDI bound was set for this parameter it
1318 can be removed by selecting this menu entry.</para>
1324 <para><emphasis>Delete Sequencer Events</emphasis></para>
1326 <para>Just like the Sequencer menu (see
1327 <xref linkend="SEQUENCERMENU"/>) this entry allows you to
1328 delete events recorded for this specific parameter.</para>
1340 <title>The Effect Queue</title>
1342 <para>With release 3.70 the effects are no longer hardcoded
1343 into the turntable. The effects are now arranged within an
1344 per-turntable effect-queue. Additionally Version 3.82
1345 introduces a second effect-queue that follows the first: the
1346 queue for stereo LADSPA plugin effects. The effect sequence is
1347 configurable by the user. To move an effect to higher position
1348 within the queue, press the <emphasis>blue upward arrow
1349 button</emphasis>. This will cause the effect to be rendered
1350 <emphasis>before</emphasis> the following effects. The
1351 <emphasis>blue downward arrow button</emphasis> will move the
1352 effect down by one position. It will then be rendered
1353 <emphasis>after</emphasis> the preceding effects.</para>
1355 <para>There are two types of effects: the traditional built-in
1356 effects (Lowpass and Echo) and LADSPA plugins. The built-in
1357 effects are always available and cannot be removed (but
1358 disabled). There can be only one instance of a built-in effect.
1359 The LADSPA plugins on the other hand may be instantiated
1360 multiple times and can be removed from the effect queue. Press
1361 the <emphasis>blue cross button</emphasis> to achieve
1366 <title>An example for a terminatorX effect queue</title>
1368 <graphic fileref="figures/signalflow.png" format="PNG"/>
1371 <para>Now since release 3.71 the built-in echo effect is
1372 treated differently from other effects. Where all other effects
1373 feed their signal back into the effect queue the echo effect
1374 doesn't touch the input signal. It's echo-signal is mixed
1375 separately from the turntable's main signal to allow a
1376 different panning value for the echo-signal. This mode of
1377 operation does have some side-effects: imagine a lowpass filter
1378 with a position after the echo effect in the effect queue. This
1379 will result in the turntable's main signal being
1380 lowpass-filtered but it will leave the echo-signal
1381 lowpass-unfiltered.</para>
1383 <para>Some may call this behaviour a bug - whereas I would
1384 consider it a feature ;). Anyway if the above description
1385 didn't clear things up maybe the displayed figure does. It
1386 shows a schematic effect queue with the built-in effects and
1387 two LADSPA effects enabled. Now with this setup you will not
1388 hear anything from the second LADSPA effect in the
1391 <para>Release 3.82 introduces a menu for each LADSPA plugin.
1392 Simply click on the Plugin's label to operate the menu. Aside
1393 of displaying detailed information about a plugin, the menu
1394 also contains some new functionality: <emphasis>Add Dry/Wet
1395 Control</emphasis>. When activated the effect receives an extra
1396 Dry/Wet control that allows you to modify to what extent the
1397 effect will actually effect the turntable's signal. The extra
1398 control doesn't differ from the other controls: you can record
1399 events for it, etc. The additional control can be removed via
1400 the very same menu item that adds the control.</para>
1406 <para><emphasis>FX</emphasis> and <emphasis>Stereo FX
1407 Buttons</emphasis></para>
1409 <para>Press this button to load a LADSPA plugin into the
1410 effect queue of the turntable. A menu holding the available
1411 (terminatorX-"compatible") LADSPA-plugins will pop up -
1412 mono plugins are available from the <emphasis>FX</emphasis>
1413 menu, stereo plugins from the <emphasis>Stereo
1414 FX</emphasis> menu. The plugins are grouped within submenus
1415 according to the modules the plugins are contained in.
1416 Simply select the plugin you want to load from this menu
1417 and a panel for it will pop up at the end of the effect
1420 <para>Note that due to the wide parameter ranges some
1421 LADSPA plugins have they sometimes might be hard to control
1422 with the knob widget. In these cases you might want to use
1423 the text field to enter values. For more details on plugins
1424 see <xref linkend="LADSPAPLUGINS"/>.</para>
1434 <title>Lowpass Panel</title>
1436 <para>terminatorX features a built-in resonating lowpass filter
1437 that can be configured with this panel.</para>
1443 <para><emphasis>Enable Button</emphasis></para>
1445 <para>Activating this button will enable the lowpass filter
1446 for this turntable.</para>
1452 <para><emphasis>Input Gain Control</emphasis></para>
1454 <para>With this parameter you can amplify the signal that
1455 goes into the lowpass filter if required.</para>
1461 <para><emphasis>Frequency Control</emphasis></para>
1463 <para>Use this parameter to set the cutoff frequency for
1464 the lowpass filter. Minimum: 0=0Hz, Maximum: 1=22KHz.</para>
1470 <para><emphasis>Resonance</emphasis></para>
1472 <para>Use this parameter to set the resonance-value.
1473 Minimum: 0=no resonance, Maximum: 1=max resonance.</para>
1483 <title>Echo Panel</title>
1485 <para>Additionally terminatorX features a built-in echo effect.
1486 It can be configured with this panel.</para>
1492 <para><emphasis>Enable Button</emphasis></para>
1494 <para>Activating this button will enable the echo effect
1495 for this turntable.</para>
1501 <para><emphasis>Duration Control</emphasis></para>
1503 <para>Use this parameter to set the length of the echo. The
1504 duration parameter scales to the actual sample length: so
1505 if you set it to 0.5 you will hear the echo when the red
1506 playback cursor is half way through the sample. This is
1507 true for samples that are shorter than terminatorX' maximum
1508 echo buffer size only.</para>
1514 <para><emphasis>Feedback Control</emphasis></para>
1516 <para>Set the echo's feedback amount with this
1523 <para><emphasis>Volume Control</emphasis></para>
1525 <para>This parameter can additionally amplify the echo
1526 signal. Unlike the feedback parameter above this parameter
1527 has no influence on the signal fed back into the
1528 echo-buffer, it effects merely the playback volume of the
1535 <para><emphasis>Pan Control</emphasis></para>
1537 <para>The echo effect differs from other effects as it's
1538 output signal will be mixed separately. The main goal here
1539 is to allow positioning the echo signal at a position in
1540 the stereo panorama that differs from the main panning
1541 position of the turntable to achieve a somewhat spacial
1542 effect. The easy example is: turntable's panning left,
1543 echo's panning right. As both pan parameters are
1544 sequenceable you can create nice motion effects from this
1545 starting point.</para>
1555 <sect2 id="SYNCHRONIZATION">
1557 <title>Synchronization</title>
1559 <para>Let's start off with an example: Say you have two drum
1560 loops and one bassline loaded in three turntables. Of course you
1561 want these samples to be triggered at the same time but you don't
1562 want to invest time to cut them to the exact length. Therefore
1563 you decide which of the drum loops to make the sync master.
1564 You'll have to do this before you enable the audio engine (for
1565 now). Only one turntable can be the sync master. Now you can make
1566 the other two sync clients which will cause them to be
1567 (re-)triggered whenever the master is (re-)triggered. The number
1568 you can select to the right of the <emphasis>client
1569 button</emphasis> sets the trigger delay for the button: if it's
1570 set to zero the turntable will be triggered with every master
1571 trigger, if it's set to 1 it'll be triggered every 2nd master
1572 trigger and so on.</para>
1574 <para>A nice side effect of this feature is: you can now scratch
1575 the second (sync client) drum loop and no matter whether you're
1576 scratching is good or not the beat will be triggered correctly
1581 <sect2 id="GRABMODE">
1583 <title>Grab Mode Operation</title>
1585 <para>After pressing the <emphasis>Mouse Grab button</emphasis>
1586 terminatorX enters "grab mode". This mode actually blocks the
1587 mouse (as its input is now used to control the real time
1588 parameters) and therefore you'll have to know some mouse/keyboard
1589 shortcuts to control the software without the GUI.</para>
1591 <para>Press <keycap>ESCAPE</keycap> to quit grab mode.</para>
1593 <para>Select the turntable with input focus: The first turntable
1594 to hold the input focus will be the first turntable. You can now
1595 use <keycap>TAB</keycap> or right mouse button to switch to the
1596 next turntable. Alternatively you can use <keycap>F1</keycap> to
1597 <keycap>F12</keycap> to select turntable 1 to 12.</para>
1599 <para>Now the turntable that has the focus is the one you will
1600 manipulate with your mouse and keyboard inputs: Note that you can
1601 actually map different functions to the mouse x/y axis - so what
1602 actually happens when you move your mouse depends on what you
1603 select via the <emphasis>Mouse Mapping</emphasis> for each
1608 <title>Keyboard Controls in Grab Mode</title>
1614 <row><entry>Key</entry><entry>Function</entry></row>
1620 <row><entry><keycap>TAB</keycap></entry><entry>select next
1621 turntable</entry></row>
1623 <row><entry><keycap>F1</keycap> to <keycap>
1624 F12</keycap></entry><entry>select turntable 1 to
1627 <row><entry><keycap>RETURN</keycap></entry><entry>triggers
1628 the turntable</entry></row>
1630 <row><entry><keycap>BACKSPACE</keycap></entry><entry>stops
1631 the turntable</entry></row>
1633 <row><entry><keycap>S</keycap></entry><entry>toggles "Sync
1634 Client"</entry></row>
1636 <row><entry><keycap>SPACE</keycap></entry><entry>while
1637 pressed turntable speed is mapped to mouse speed
1638 (scratching!)</entry></row>
1640 <row><entry><keycap>ALT</keycap></entry><entry>mute
1641 on/off</entry></row>
1643 <row><entry><keycap>CTRL</keycap></entry><entry>mute on/off
1644 (inverted)</entry></row>
1646 <row><entry><keycap>F</keycap></entry><entry>("fast") warp
1647 mode (while scratching)</entry></row>
1649 <row><entry><keycap>W</keycap></entry><entry>same as above
1650 but the audio will be muted while warping</entry></row>
1660 <title>Mouse Button Controls in Grab Mode</title>
1667 Button</entry><entry>Function</entry></row>
1673 <row><entry><emphasis>Left
1674 button</emphasis></entry><entry>same as <keycap>
1675 SPACE</keycap>: scratching (triggers the turntable when
1676 stopped)</entry></row>
1678 <row><entry><emphasis>Right
1679 button</emphasis></entry><entry>select next
1680 turntable</entry></row>
1682 <row><entry><emphasis>Middle
1683 button</emphasis></entry><entry>mute on/off</entry></row>
1691 <para>Scratching works as before: press <keycap>SPACE</keycap> or
1692 left mouse button to actually scratch: now your mouse controls
1693 the turntables speed. Release it to let that turntable spin at
1694 default speed again.</para>
1698 <sect2 id="DRAGNDROP">
1700 <title>Drag And Drop</title>
1702 <para>Since V3.55 terminatorX provides multiple DND-Drop-Targets
1703 for use with GNOME / gmc (gmc is the GNU Midnight Commander),
1704 Nautilus or the Enlightenment File Manager (efm). You can load an
1705 audiofile into an existing turntable by dragging it from a gmc
1706 (or efm or whatever)-window and drop it over a. the
1707 <emphasis>file button</emphasis> (audio-display) or b. (the
1708 easier target ;) over the audio-display (the green on black
1709 widget that displays the audiodata).</para>
1711 <para>To add a file to the set (== to load the file into a *new*
1712 turntable) simply drop the audiofile over the "New Turntable"
1713 Button. To load a complete terminatorX-set simply drop the set
1714 file (*.tX) over the "Load Set" button.</para>
1718 <sect2 id="SEQUENCER">
1720 <title>The Sequencer</title>
1722 <para>Release 3.60 introduced the sequencer. It can record and
1723 play back events for the following parameters:</para>
1729 <para>master volume & pitch</para>
1735 <para>scratching</para>
1741 <para>(turntable) volume & pitch</para>
1747 <para>triggers</para>
1753 <para>loop (on/off)</para>
1759 <para>sync client settings</para>
1771 <para><emphasis>all</emphasis> parameters for the effects.
1772 This includes built-in effects (lowpass and echo) as well as
1773 LADSPA plugins.</para>
1779 <para>To record events simply press the
1780 <emphasis>Record</emphasis> button of the sequencer, then press
1781 the <emphasis>Play</emphasis> button. All actions (for
1782 sequenceable parameters - see above) you now take will be
1783 recorded into the song list. Press <emphasis>Stop</emphasis> and
1784 <emphasis>Play</emphasis> again to see/hear how terminatorX plays
1785 back the events recorded before. You can now record events again
1786 for e.g. another turntable or record other parameters for the
1787 same turntable - whatever you want to do. Recording events for
1788 parameters for which events have been recorded before will result
1789 in dubbing: if you touch a parameter while recording, events
1790 previously recorded will be erased from the moment you touch the
1791 parameter until you stop recording.</para>
1793 <para>When recording long sequences/songs you can use the
1794 sequencer-scale to start recording/playback from any
1795 song-position you want. To record a single parameter value at a
1796 certain position simply move the sequencer-scale to that
1797 position, press <emphasis>Record,</emphasis> set the parameter
1798 and press <emphasis>Stop</emphasis> again.</para>
1800 <para>To selectively delete events from the sequencer see
1801 <xref linkend="SEQUENCERMENU"/> and
1802 <xref linkend="PARAMETERMENU"/>.</para>
1806 <sect2 id="LADSPAPLUGINS">
1808 <title>Plugins (LADSPA)</title>
1810 <para>Since release 3.70 terminatorX supports LADSPA-plugins.
1811 LADSPA is the "Linux Audio Developer's Simple Plugin API" which
1812 was designed by developers on the
1813 Linux-Audio-Developer-Mailinglist and is maintained by Richard
1814 W.E. Furse. For more information on LADSPA, other LADSPA-hosts
1815 and LADSPA-plugins checkout the
1816 <ulink url="http://www.ladspa.org">LADSPA homepage</ulink>.</para>
1818 <para>Not every plugin is supported by terminatorX though. As the
1819 plugins are inserted into the per-turntable effect-queue, they
1820 have to be mono or (as of Version 3.82) stereo plugins. This is
1821 why terminatorX will load plugins with <emphasis>one</emphasis>
1822 or <emphasis>two</emphasis> audio-in ports and
1823 <emphasis>one</emphasis> or <emphasis>two</emphasis> audio-out
1826 <para>The decision on whether a plugin is terminatorX-suitable is
1827 made on terminatorX startup, so only plugins that fit into the
1828 effect queue will be offered in the mono plugin-menu that pops up
1829 when the <emphasis>FX</emphasis> button is clicked or in the
1830 stereo plugin menu when the <emphasis>Stereo FX</emphasis> button
1831 si clicked. Depending on whether the terminatorX binary you're
1832 using was built with or without liblrdf (
1833 <xref linkend="LIBLRDF"/>) support the plugin menu will either
1834 contain sub-menus with plugin categories (with liblrdf) or just a
1835 single menu with the <emphasis>Unclassified</emphasis>
1838 <para>On startup terminatorX will print some information on the
1839 LADSPA-plugins analysis process to the standard output if you
1840 have enabled "Verbose Plugin Loading" in the Preferences dialog.
1841 Watch the terminal you run terminatorX from for that info if you
1842 have problems loading a plugin.</para>
1844 <para>As specified in the LADSPA-standard LADSPA-plugins can be
1845 located in multiple directories across the filesystem. To enable
1846 LADSPA-hosts to find those plugins you have to set the
1847 environment variable <envar>LADSPA_PATH</envar> accordingly.
1848 Let's say you store your plugins in <filename>
1849 /usr/lib/ladspa</filename> and <filename>
1850 /home/yourlogin/plugins</filename> then you would have to
1853 <para><envar>LADSPA_PATH</envar>= <filename>
1854 /usr/lib/ladspa:/home/yourlogin/plugins</filename></para>
1856 <para>As a fallback terminatorX will look in the standard
1857 directories <filename>/usr/lib/ladspa</filename> and <filename>
1858 /usr/local/lib/ladspa</filename> if the environment variable is
1859 not set. Note that this is just a convenience-function, in order
1860 for other LADSPA-hosts to work properly, be sure to set your
1861 <envar>LADSPA_PATH</envar> correctly. It is a good idea to do
1862 that from somewhere in your system configuration (either in your
1863 rc-scripts or <filename>/etc/profile</filename> or wherever you
1866 <sect3 id="LIBLRDF">
1868 <title>liblrdf support</title>
1870 <para>Release 3.80 introduces support for Steve Harris' great
1871 <ulink url="http://plugin.org.uk/releases/lrdf/">
1872 liblrdf</ulink> library which introduces an RDF based scheme to
1873 categorize LADSPA plugins. This approach allows storing
1874 additional meta-data for LADSPA plugins in separate RDF files.
1875 In order to make use of these RDF files a terminatorX binary
1876 (compiled with liblrdf support of course) requires the main
1877 <filename>ladspa.rdfs</filename> file and additional RDF files
1878 containing meta information about the LADSPA plugins installed.
1879 Steve Harris' wonderful plugin library comes with such an
1880 additional description file for example.</para>
1882 <para>By default terminatorX will search the directories
1883 <filename>/usr/share/ladspa/rdf</filename> and <filename>
1884 /usr/local/share/ladspa/rdf</filename> for RDF files. In case
1885 the files were installed to other locations it is possible to
1886 configure the LADSPA RDF path in the <emphasis>Misc</emphasis>
1887 tab of the <emphasis>Preferences</emphasis> dialog.</para>
1889 <para>If the RDF are read successfully on startup, the LADSPA
1890 menu that pops up when clicking a turntable's
1891 <emphasis>FX</emphasis> button will feature multiple sub-menus
1892 with LADSPA plugin categories (eg
1893 <emphasis>Amplitude/Amplifier</emphasis>) in which you will
1894 find the according plugins. Plugins not categorized by the RDF
1895 files reside in the <emphasis>Unclassified</emphasis>
1904 <title>MIDI Interface</title>
1906 <para>Aside of controlling terminatorX with a regular mouse and
1907 keyboard it is possible to control parameters through MIDI events
1908 (since 3.80). The MIDI interface is based upon the ALSA sequencer
1909 API. On startup terminatorX creates a MIDI input port called
1910 "terminatorX". You can now use for example the
1911 <ulink url="http://pkl.net/%7Enode/alsa-patch-bay.html">
1912 alsa-patch-pay</ulink> to connect an output port of your choice
1913 (either a hardware MIDI input device or a software generating
1914 midi events) to the terminatorX input port. If the
1915 "<emphasis>Restore MIDI Connections</emphasis>" option is
1916 activated terminatorX will try to re-connect to the MIDI ports it
1917 was connected to with the last run. However this approach is
1918 purely address-based and might fail miserably with software
1919 ports, in this case just disable the configuration options
1920 re-wire manually.</para>
1924 There are two ways to map MIDI events to a parameter:
1929 <para>Via the <emphasis>Configure MIDI Bindings</emphasis>
1930 dialog as described below</para>
1936 <para>Via the the a parameter's menu (see
1937 <xref linkend="PARAMETERMENU"/>)</para>
1945 <para>Once the connection is set up terminatorX receives MIDI
1946 events through the input port. To configure what MIDI events will
1947 have which effect on a terminatorX turntable you can bind MIDI
1948 events to parameters of your choice by clicking the
1949 <emphasis>MIDI</emphasis> button of the turntable's audio panel.
1950 As a result the <emphasis>Configure MIDI Bindings</emphasis>
1951 dialog will pop up which features a field labelled
1952 <emphasis>Selected MIDI Event</emphasis> that will frequently
1953 update to display the contents of the last MIDI event received by
1954 terminatorX. So in order to map a MIDI controller to a specific
1955 turntable parameter select the parameter of your choice from the
1956 parameter list, cause your MIDI event sending device to emit the
1957 event you want to map the parameter on and click the
1958 <emphasis>Bind</emphasis> button.</para>
1960 <para>Immediately after binding the event you should see that the
1961 <emphasis>Event</emphasis> column entry of the selected parameter
1962 is updated to match the selected event. From now on all events
1963 matching the selected event will cause the turntable parameter to
1964 be updated. The GUI for that parameter will be refreshed
1965 accordingly. Note that it is possible to map the same event to
1966 multiple parameters.</para>
1968 <para>The MIDI mappings are stored within terminatorX set files
1969 so you wont have to reconfigure your bindings every time you
1970 start up terminatorX. If you are unhappy with a chosen binding
1971 you can select the parameter and click the <emphasis>Remove
1972 Binding</emphasis> button to get rid of the parameter's MIDI
1975 <para>TeriminatorX now features a default MIDI mapping that can
1976 be enabled via the <emphasis>Turntables Menu</emphasis> (see
1977 <xref linkend="TURNTABLESMENU"/>). The controllers are mapped in
1978 a one channel per turntable fashion:</para>
1982 <title>Default MIDI Controller Mapping</title>
1988 <row><entry>Turntable Parameter</entry><entry>MIDI
1989 Controller</entry><entry>MIDI CC Name</entry></row>
1995 <row><entry>Volume</entry><entry>7</entry><entry><quote>Main
1996 Volume</quote></entry></row>
1998 <row><entry>Pan</entry><entry>10</entry><entry><quote>Pan</quote></entry></row>
2000 <row><entry>Lowpass Cutoff
2001 Frequency</entry><entry>12</entry><entry><quote>Effect
2002 Control 1</quote></entry></row>
2005 Resonance</entry><entry>13</entry><entry><quote>Effect
2006 Control 2</quote></entry></row>
2009 Gain</entry><entry>16</entry><entry><quote>General Purpose
2010 Controller 1</quote></entry></row>
2012 <row><entry>Speed</entry><entry>17</entry><entry><quote>General
2013 Purpose Controller 2</quote></entry></row>
2015 <row><entry>Pitch</entry><entry>18</entry><entry><quote>General
2016 Purpose Controller 3</quote></entry></row>
2019 Cycles</entry><entry>19</entry><entry><quote>General
2020 Purpose Controller 4</quote></entry></row>
2023 Length</entry><entry>75</entry><entry><quote>Sound
2024 Controller 6</quote></entry></row>
2027 Feedback</entry><entry>76</entry><entry><quote>Sound
2028 Controller 7</quote></entry></row>
2031 Volume</entry><entry>77</entry><entry><quote>Sound
2032 Controller 8</quote></entry></row>
2035 Pan</entry><entry>78</entry><entry><quote>Sound Controller
2036 9</quote></entry></row>
2044 <para>The toggle parameters of a turntable (where things can only
2045 be turned on or off) are mapped to MIDI NOTE events, where the
2046 first turntable is mapped to 'C', the next to 'C#', the next to
2047 'D' and so on. The "function" of the toggle is defined via the
2048 selected MIDI channel:</para>
2052 <title>Default MIDI Note On/Off Mapping</title>
2058 <row><entry>Turntable Parameter</entry><entry>MIDI
2059 Channel</entry></row>
2065 <row><entry>Trigger</entry><entry>0</entry></row>
2067 <row><entry>Sync Client</entry><entry>1</entry></row>
2069 <row><entry>Loop</entry><entry>2</entry></row>
2071 <row><entry>Lowpass Enable</entry><entry>3</entry></row>
2073 <row><entry>Echo Enable</entry><entry>4</entry></row>
2075 <row><entry>Mute</entry><entry>5</entry></row>
2077 <row><entry>Motor Spin On/Off</entry><entry>6</entry></row>
2085 <para>If you want to use your joystick to control terminatorX - I
2086 wrote a tiny tool to create MIDI events from joystick motion
2087 called <emphasis>aseqjoy</emphasis>. It's available from the
2088 <ulink url="http://terminatorX.org/aseqjoy.html">terminatorX
2089 website</ulink>, too.</para>
2093 <sect2 id="JACKSUPPORT">
2095 <title>JACK Support</title>
2097 <para>TerminatorX Version 3.81 brings support for the
2098 <emphasis>JACK Audio Connection Kit</emphasis>. Instead of
2099 writing audio data directly to some audio device terminatorX can
2100 send data to the JACK Daemon for further processing.</para>
2102 <para>To use the JACK backend you have to ensure that the JACK
2103 Daemon is up and running before you start terminatorX. The JACK
2104 backend is only available if terminatorX was capable of
2105 connecting to the JACK Daemon on startup. By default the two
2106 output ports of terminatorX will be connected to physical ports
2107 if available. You can then re-wire the ports whatever way you
2108 want. They will not be deactivated - when terminatorX' audio
2109 engine is turned off, the audio backend emits continuous
2116 <sect1 id="CONFIGURATION">
2118 <title>Configuration</title>
2120 <para>The main terminatorX configuration parameters can be set up
2121 via the <emphasis>Preferences</emphasis> dialog, which can be
2122 activated from the terminatorX menu. The new
2123 <emphasis>Preferences</emphasis> dialog features multiple tabs for
2124 several aspects of configuration.</para>
2126 <para>A word on the settings in general: your settings are stored
2127 in an XML file ( <filename>~/.terminatorXrc</filename>). So if you
2128 think you completely messed up your settings you will have to exit
2129 terminatorX - delete this file - and then re-run terminatorX with
2130 the default settings. Note: is this file is now an XML file you can
2131 edit with an editor of your choice.</para>
2133 <sect2 id="AUDIOTAB">
2135 <title><emphasis>Audio</emphasis> Tab</title>
2137 <para>This tab allows to select which audio backend terminatorX
2138 should use. Currently there are three options: the OSS (Open
2139 Sound System) backend, the ALSA (Advanced Linux Sound
2140 Architecture) backend and the JACK (JACK Audio Connection Kit)
2141 backend. Some of these options might not be available, if your
2142 terminatorX binary wasn't compiled to support a certain
2145 <para>The OSS and ALSA backends have dedicated configuration
2146 tabs, JACK requires no further configuration - for more details
2147 on JACK support see <xref linkend="JACKSUPPORT"/>.</para>
2153 <title><emphasis>Audio: OSS</emphasis> Tab</title>
2155 <para>Select the audio device you are going to use from the
2156 available options (or simply enter one yourself). terminatorX
2157 renders audio block-wise. In order to achieve close-to-realtime
2158 performance it is necessary to keep this blocks as small as
2159 possible. The main parameters that determine how
2160 close-to-realtime terminatorX will perform are <emphasis>No. of
2161 Buffers</emphasis> and <emphasis>Buffersize</emphasis>. The
2162 <emphasis>No. of Buffers</emphasis> parameter determines how many
2163 buffers the audio driver should use in most cases
2164 <emphasis>2</emphasis> should be the best setting and in rare
2165 cases <emphasis>3</emphasis> might give better results.</para>
2167 <para>The value for the <emphasis>Buffersize</emphasis> setting
2168 will be evaluated as 2^buffersize by OSS. So if you set the value
2169 to <emphasis>8</emphasis> the actual buffer size will be 2^8=256
2170 Bytes. The smaller the buffers' size the better terminatorX will
2171 perform. The default setting of <emphasis>9</emphasis> should be
2172 acceptable in most conditions, but if you here "clicks", or
2173 "drops" in audio output that are not related to your
2174 sample-material you will have to increase the buffer size. On the
2175 other hand if you believe terminatorX does not react fast enough
2176 you have to decrease this parameter.</para>
2178 <para>Additionally you can select the sampling rate you want
2179 terminatorX to operate on - note that recording to disk will use
2180 the same sample rate.</para>
2184 <sect2 id="ALSATAB">
2186 <title><emphasis>Audio: ALSA</emphasis> Tab</title>
2188 <para>Using ALSA for audio output allows specifing the buffer
2189 sizes in microseconds. ALSA uses a ring-buffer to process audio.
2190 The <emphasis>Buffer Time</emphasis> option lets you set the size
2191 for the complete ring buffer, while the <emphasis>Period
2192 Time</emphasis> determines how many audio samples will be
2193 transferred to the audio device per cycle. I'm not really sure on
2194 what kind of settings to recommend, however I had best results
2195 when setting the <emphasis>Period Time</emphasis> to 3rd or half
2196 of the <emphasis>Buffer Time</emphasis>.</para>
2198 <para>It's advisable to set the <emphasis>Buffer Time</emphasis>
2199 to at least the double of the <emphasis>Period Time</emphasis>,
2200 but for a more detailed description check out the ALSA
2201 documentation.</para>
2205 <sect2 id="INPUTTAB">
2207 <title><emphasis>Input</emphasis> Tab</title>
2209 <para>Between rendering and outputting these blocks terminatorX
2210 checks for mouse motion. The problem with mice is: they don't
2211 report when they have stopped. This is why terminatorX assumes
2212 your mouse has stopped if there is no motion reported for certain
2213 amount of render/output-cycles. This value is configurable via
2214 the <emphasis>Stop-sense-cycles</emphasis> option. If you
2215 decrease your buffersize of course you shorten the cycle time as
2216 well, therefore if you here strange stop/run behaviour of the
2217 audio output while scratching after you decreased the buffer size
2218 you might have to increase the stop-sense value too.</para>
2220 <para>XInput Device: <emphasis>WARNING:</emphasis> Use this
2221 option *only* if you want to use an input device other than your
2222 default-mouse for scratching. Selecting your default pointer will
2223 cause terminatorX to crash. See the "Using a turntable" section
2224 on the terminatorX homepage for details.</para>
2228 <sect2 id="USERINTERFACETAB">
2230 <title><emphasis>User Interface</emphasis> Tab</title>
2232 <para>With <emphasis>Update Idle</emphasis> / <emphasis>Update
2233 Delay</emphasis> you can configure GUI responsiveness: Higher
2234 <emphasis>Update Idle</emphasis> will cause the wave display
2235 (position display) and flash-widgets to update less often. Higher
2236 <emphasis>Update Delay</emphasis> values will cause the parameter
2237 widgets to update less often.</para>
2243 <title><emphasis>Audio Colors</emphasis> and <emphasis>VU
2244 Colors</emphasis> Tab</title>
2246 <para>Since Version 3.81 it is possible to configure the colors
2247 terminatorX' audio widgets. Simply click on the color you want to
2248 modify and select the tone you prefer.</para>
2252 <sect2 id="MISCTAB">
2254 <title><emphasis>Misc</emphasis> Tab</title>
2256 <para>You can now enter the soundfile editor of your choice in
2257 the "Sound file editor" field. This editor will be started when
2258 clicking the <emphasis>Edit</emphasis>-button in the main panel
2259 of the vtt-gui. If you enter for example "myeditor" terminatorX
2260 will run "myeditor sample_in_vtt.wav".</para>
2262 <para>The <emphasis>LADSPA RDF Path</emphasis> defines where
2263 liblrdf will look for the RDF files for LADPSA Plugins.</para>
2265 <para>If <emphasis>Compress set files</emphasis> is activated
2266 terminatorX will use zlib to compress set files. This is very
2267 usefull for sets that have many events recorded.</para>
2269 <para>See <xref linkend="MIDI"/> for more details on
2270 <emphasis>Restore MIDI Connections</emphasis>. If you disable the
2271 <emphasis>Ask for "Quit" Confirmation</emphasis> option
2272 terminatorX will no longer ask if you really want to quit.</para>
2278 <sect1 id="CONTACT">
2280 <title>Contact / Download</title>
2282 <para>Find out more about terminatorX at it's
2283 <ulink url="http://terminatorX.org">homepage</ulink>.</para>
2285 <para>Send me comments, bug-reports, patches or scratches (see
2286 scratches section on the terminatorX homepage) at:
2287 <email>alex@lisas.de</email></para>