1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE section SYSTEM "./tX.dtd"[
7 <question>What is terminatorX?</question>
10 realtime audio synthesizer that allows you to "scratch" on digitally
11 sampled audio data (*.wav, *.au, *.ogg, *.mp3, etc.) the way hiphop-DJs
12 scratch on vinyl records. It features multiple turntables, realtime
13 effects (buit-in as well as
14 <link ref="http://www.ladspa.org">LADSPA</link> plugin
15 effects), a sequencer and MIDI interface - all accessible through
16 an easy-to-use gtk+ GUI. <bold>This sofware is designed to run
17 under Linux, FreeBSD and the like</bold>.</para>
22 <question>What does it cost?</question>
24 <para>Nothing. TerminatorX is <link ref="http://fsf.org/free-software.html">free software</link>. Read the
25 <link ref="COPYING">license</link> (GPL V2).
31 <question>What platforms does it run on?</question>
33 <para>TerminatorX should run on any recent Linux or FreeBSD system. I develop
34 terminatorX on an X86-System, but the source contains support for
35 bigendian machines (PowerPC for example). If you experience platform
36 related troubles, please let me know.
42 <question>What audio quality is supported? </question>
44 <para>TerminatorX operates at an arbitrary sampling rate with 16Bit
45 samples and 2 channels (aka stereo). Samples will be converted to mono on
53 Why does it take terminatorX so long to load samples?
56 <para>This depends on the file your loading. Wavfiles are loaded with
57 the builtin wavloading routines (if enabled on compiletime) and this
58 happens very fast. For compressed audio files the necessary decompression
59 will consume quite some cpu time on loading.
62 Since Version 3.73 loading of audiofiles has been
63 significantly accelerated with the libaudiofile, libvorbis and
70 <question>Why doesn't terminatorX support mmap'ed wav reading? </question>
72 <para>Oh well due to my laziness I guess.
74 <name>Benno Senoner</name>
75 <email>sbenno@gardena.net</email>
77 <link ref="http://www.gardena.net/benno/linux/terminatorX-3.2-mmap.patch">patch</link>
78 against 3.2 to support "on-the-fly" reading of wavfiles.
79 The problem is the patch wasn't applyable to later versions of
80 terminatorX, nor would it work with sox/mpg123 support.
81 I still plan to port the patch to the newer releases sometime.
88 How can I use a second mouse, a joystick or other input devices for
92 <para><bold>Update:</bold>
93 If you want to use your joystick along with your mouse I suggest using
94 my tiny <link ref="aseqjoy.html">aseqjoy</link> tool to connect your
95 joystick to the MIDI input port of terminatorX.
97 <para>If you want to use another mouse however, you need to configure
98 this mouse as an XFree86 XInput
99 devices and from what I've read I assume you'll need to have XFree86
100 3.3.3.1 or higher. If you want to know how to do this read your
101 XF86Config manual page (run man XF86Config) and find the part on
102 "the optional XInput section". If you successfully configured your
103 second (third ...) mouse / input device for XFree86 you now need to
104 turn on XInput-support in the Options-dialog of terminatorX and you
105 have to select the XInput device you want terminatorX to
106 initialize. Now either press "Apply" or "Ok" and you should be able
107 to scratch with that devices next time you press "Start".
113 <question>Why do I get "./terminatorX: undefined symbol:
114 _t24__default_alloc_template2b1i0.free_list" when I run
118 <para>You proabably downloaded the binary-rpm-package and your
119 libstdc++ is outdated. This seems to occur on Mandrake systems only.
120 Upgrading with a newer libstdc++ package should fix this.
127 Why do I get "tX_seqpar.h:25: list: No such file or
128 directory" when building terminatorX myself?
131 <para>You don't have the libstdc++ headers installed. Install the
132 libstdc++-devel package for the libstdc++-package you have installed.
139 <question>What can I do if my mouse doesn't work in scratch mode?
142 <para>Now this issue is rather tricky, as it seems a lot of problems
143 can be the reason here, but there are some things you can try:
146 <nopara>Make sure that your X-Server supports XFree86-DGA. Remove
147 any lines that read</nopara><para><screen>Option
148 "omit xfree86-dga"</screen></para><para> from your <screen>XF86Config</screen>. Check
149 whether the Server loaded dga by running <bold>xdpyinfo
150 </bold> - if DGA is loaded one of the lines you get from
151 xdpyinfo should read <italic>XFree86-DGA</italic>. To check
152 whether DGA actually works run <bold>dga</bold> as root -
153 <red>Warning:</red> the only way to exit this tool is
154 pressing 'q' on your keyboard - and it might take some seconds
159 <nopara>Try running terminatorX as root. This fixes the problem
165 <para>If all this doen't help let me know.
170 <question>Should I install terminatorX suid root?</question>
173 Installing terminatorX <italic>suid root</italic> improves
174 terminatorX' performance significantly for non-root users
175 - as terminatorX will use the suid-root privileges to
176 create the engine thread with
177 realtime-scheduling-priority. Immediatley after the
178 creation of the thread terminatorX drops root privileges
179 before any files or devices are accessed. The problem is:
180 the Linux pthreads manager thread can not be told to drop
181 it's root privileges, which means that while the two
182 threads executing terminatorX code run with the real
183 user's privileges, the pthread manager thread still runs
184 with root-privileges. While I cannot see how a malicious
185 user or software could utlize this thread to acquire root
186 privileges it might still be possible, so you'll have to
187 make your on decision on performance vs security.
193 How do I install terminatorX suid root?</question>
195 <para>As root <italic>cd</italic> into the directory you
196 installed terminatorX to (typically that is
197 <italic>/usr/local/bin</italic> or
198 <italic>/usr/bin</italic>) and run the following
202 <screen>chown root: ./terminatorX && chmod u+s ./terminatorX</screen>
208 <question>Is there a Windows version of terminatorX?</question>
210 <para>No, there is no such version, nor will I write one myself. If you plan on doing so,
216 <question>Where does the name come from?</question>
218 <para>If you don't know find out a little something about
219 <link ref="http://www.publicenemy.com">Public Enemy</link>. Learn
220 who <link ref="http://www.publicenemy.com/soldiers/termx.php">
221 TerminatorX</link> is or
222 <link ref="http://www.publicenemy.com/gallery/images/txday.jpg">see him</link>