1 <?xml version="1.0" encoding="iso-8859-1"?>
2 <!DOCTYPE section SYSTEM "./tX.dtd"[ ]>
7 <question>What is terminatorX?</question>
9 <para>terminatorX is a realtime audio synthesizer that allows you to
10 "scratch" on digitally sampled audio data (*.wav, *.au, *.ogg, *.mp3,
11 etc.) the way hiphop-DJs scratch on vinyl records. It features multiple
12 turntables, realtime effects (buit-in as well as
13 <dblink id="ladspa"/> plugin effects), a
14 sequencer and MIDI interface - all accessible through an easy-to-use
16 <bold>This sofware is designed to run under Linux, FreeBSD and the
21 <question>What does it cost?</question>
23 <para>Nothing. TerminatorX is
24 <link ref='http://www.fsf.org/philosophy/free-sw.html'>free
25 software</link>. Read the
26 <link ref='COPYING'>license</link> (GPL V2).</para>
30 <question>What platforms does it run on?</question>
32 <para>TerminatorX should run on any recent Linux or FreeBSD system. I
33 develop terminatorX on an X86-System, but the source contains support
34 for bigendian machines (PowerPC for example). If you experience
35 platform related troubles, please let me know.</para>
39 <question>What audio quality is supported?</question>
41 <para>TerminatorX operates at an arbitrary sampling rate with 16Bit
42 samples and 2 channels (aka stereo). Samples will be converted to mono
47 <question>Why does it take terminatorX so long to load
50 <para>This depends on the file your loading. Wavfiles are loaded with
51 the builtin wavloading routines (if enabled on compiletime) and this
52 happens very fast. For compressed audio files the necessary
53 decompression will consume quite some cpu time on loading.</para>
54 <para>Since Version 3.73 loading of audiofiles has been significantly
55 accelerated with the libaudiofile, libvorbis and mad methods.</para>
59 <question>Why doesn't terminatorX support mmap'ed wav reading?</question>
61 <para>Oh well due to my laziness I guess.
63 <name>Benno Senoner</name>
64 <email>sbenno@gardena.net</email>
66 <link ref='http://www.gardena.net/benno/linux/terminatorX-3.2-mmap.patch'>
67 patch</link> against 3.2 to support "on-the-fly" reading of wavfiles.
68 The problem is the patch wasn't applyable to later versions of
69 terminatorX, nor would it work with sox/mpg123 support. I still plan to
70 port the patch to the newer releases sometime.</para>
74 <question>How can I use a second mouse, a joystick or other input devices
75 for scratching?</question>
78 <bold>Update:</bold> If you want to use your joystick along with your
79 mouse I suggest using my tiny
80 <dblink id='aseqjoy'/> tool to connect your joystick to
81 the MIDI input port of terminatorX.</para>
82 <para>If you want to use another mouse however, you need to configure
83 this mouse as an XFree86 XInput devices and from what I've read I
84 assume you'll need to have XFree86 3.3.3.1 or higher. If you want to
85 know how to do this read your XF86Config manual page (run man
86 XF86Config) and find the part on "the optional XInput section". If you
87 successfully configured your second (third ...) mouse / input device
88 for XFree86 you now need to turn on XInput-support in the
89 Options-dialog of terminatorX and you have to select the XInput device
90 you want terminatorX to initialize. Now either press "Apply" or "Ok"
91 and you should be able to scratch with that devices next time you press
96 <question>Why do I get "./terminatorX: undefined symbol:
97 _t24__default_alloc_template2b1i0.free_list" when I run
98 terminatorX?</question>
100 <para>You probably downloaded the binary-rpm-package and your
101 libstdc++ is outdated. This seems to occur on Mandrake systems only.
102 Upgrading with a newer libstdc++ package should fix this.</para>
106 <question>Why do I get "tX_seqpar.h:25: list: No such file or directory"
107 when building terminatorX myself?</question>
109 <para>You don't have the libstdc++ headers installed. Install the
110 libstdc++-devel package for the libstdc++-package you have
115 <question>What can I do if my mouse doesn't work in scratch
118 <para>Now this issue is rather tricky, as it seems a lot of problems
119 can be the reason here, but there are some things you can try:
122 <nopara>Make sure that your X-Server supports XFree86-DGA. Remove
123 any lines that read</nopara>
125 <screen>Option "omit xfree86-dga"</screen>
128 <screen>XF86Config</screen>. Check whether the Server loaded dga by
130 <bold>xdpyinfo</bold> - if DGA is loaded one of the lines you get
131 from xdpyinfo should read
132 <italic>XFree86-DGA</italic>. To check whether DGA actually works
134 <bold>dga</bold> as root -
135 <red>Warning:</red> the only way to exit this tool is pressing 'q'
136 on your keyboard - and it might take some seconds until it
140 <nopara>Try running terminatorX as root. This fixes the problem for
141 most people.</nopara>
143 </itemizedlist></para>
144 <para>If all this doen't help let me know.</para>
148 <question>Should I install terminatorX suid root?</question>
150 <para>Installing terminatorX
151 <italic>suid root</italic> improves terminatorX' performance
152 significantly for non-root users - as terminatorX will use the
153 suid-root privileges to create the engine thread with
154 realtime-scheduling-priority. Immediatley after the creation of the
155 thread terminatorX drops root privileges before any files or devices
156 are accessed. The problem is: the Linux pthreads manager thread can not
157 be told to drop it's root privileges, which means that while the two
158 threads executing terminatorX code run with the real user's privileges,
159 the pthread manager thread still runs with root-privileges. While I
160 cannot see how a malicious user or software could utlize this thread to
161 acquire root privileges it might still be possible, so you'll have to
162 make your on decision on performance vs security.</para>
166 <question>How do I install terminatorX suid root?</question>
169 <italic>cd</italic> into the directory you installed terminatorX to
171 <italic>/usr/local/bin</italic> or
172 <italic>/usr/bin</italic>) and run the following commandline:</para>
174 <screen>chown root: ./terminatorX && chmod u+s
175 ./terminatorX</screen>
180 <question>Is there a Windows version of terminatorX?</question>
182 <para>No, there is no such version, nor will I write one myself. If you
183 plan on doing so, please let me know.</para>
187 <question>Where does the name come from?</question>
189 <para>If you don't know find out a little something about
190 <link ref='http://www.publicenemy.com'>Public Enemy</link>. Learn who
191 <link ref='http://www.publicenemy.com/soldiers/termx.php'>
192 TerminatorX</link> is or
193 <link ref='http://www.publicenemy.com/gallery/images/txday.jpg'>see
194 him</link>do his work</para>