1 <?xml version="1.0" encoding="utf-8"?>
2 <!DOCTYPE section SYSTEM "./tX.dtd">
6 <heading>Welcome to the terminatorX website!</heading>
8 <nopara>Bookmark this site as
9 <link ref='http://www.terminatorX.cx'>www.terminatorX.cx</link>. It's
11 <link ref='http://42.fht-esslingen.de'>
12 42.fht-esslingen.de</link></nopara>
15 <para>For those of you who drop by for the first time: terminatorX is a
16 realtime audio synthesizer that allows you to "scratch" on digitally
17 sampled audio data (*.wav, *.au, *.ogg, *.mp3, etc.) the way hiphop-DJs
18 scratch on vinyl records. It features multiple turntables, realtime
19 effects (buit-in as well as
20 <link ref='http://www.ladspa.org'>LADSPA</link> plugin effects), a
21 sequencer and MIDI interface - all accessible through an easy-to-use
23 <bold>This sofware is designed to run under Linux, FreeBSD and the
24 like</bold>. If you have more questions read the
25 <link ref='faq.html'>FAQ</link>/<link ref='doc/index.html'>Manual</link>/<link
26 ref='http://www.boosthardware.com/LAU/quicktoots/toots/tx_toot/tx_toot1.html'>Tutorial</link>/<link ref='COPYING'>LICENSE</link> and if you have further questions,
28 <link ref='scratches.html'>scratches</link> send me a
29 <link ref='mailto:alex@lisas.de'>mail</link></para>
34 <newsheader date='April 03'>
35 <link ref='download.html#Current Version'>terminatorX 3.80</link> and
36 <link ref='aseqjoy.html'>aseqjoy 0.0.1</link></newsheader>
38 <para>This terminatorX release does a very good job at extinguishing
39 points from my TODO-for-4.0 list. Among other things this release
43 <para>Finally terminatorX has a
45 <link ref='http://www.alsa-project.org'>ALSA</link>
46 <bold>backend</bold>. See the new
47 <italic>Preferences</italic> dialog and the online manual for
48 details. The ALSA and the OSS backends now both support operating
50 <bold>arbitrary sampling rate</bold>.</para>
53 <para>The audio data display is now
54 <bold>zoomable</bold>. This helps scratching large audio files
55 (like complete songs) significantly. Use the slider on the right
56 of the display area to adjust the zoom level. When playing the
57 audio data will scroll in such a manner that the current position
58 is always centered.</para>
59 <para>To optimize playback performance terminatorX does a lot of
60 "zoom" calculations in advance - so adjusting the slider will
61 cause quite some amount of recalculation on large audio files.
62 The focused turntable now has a blue background and a yellow
63 audio signal instead of the old red border.</para>
67 <bold>MIDI interface</bold> thanks to a patch by
69 <name>Arthur Peters</name>
70 <email>amp@singingwizard.org</email>
71 </person>. The MIDI interface is based upon the
72 <link ref='http://www.alsa-project.org'>ALSA</link> sequencer API,
73 so you'll have to connect terminatorX' input port to an output
74 port of your choice with either
75 <screen>aconnect</screen> or for example the
76 <link ref='http://pkl.net/~node/alsa-patch-bay.html'>
77 alsa-patch-bay</link>. To map a MIDI controller or note events to
78 a turntable's parameter click the
79 <italic>MIDI Mapping</italic> button.</para>
80 <para>In order to test the new interface I hacked a little tool
82 <link ref='aseqjoy.html'>aseqjoy</link> that emits MIDI controller
83 messages based on Joystick motion.</para>
86 <para>I finally untied audio rendering and audio backend.
87 terminatorX now operates at a
88 <bold>fixed internal blocksize</bold> of 1 ms. So now it doesn't
89 matter anymore with which blocksize events were recorded - they
90 will be played back correctly with any audio device
92 <para>Note that a minor problem remains: the sampling rate has an
93 effect on the blocksize, too. While there is no problem switching
94 from 22 or 32 kHz to 48 kHz, there will be a slight rounding
95 error switching from or to 44.1 kHz. So if you record and
96 playback events I suggest you keep the sampling rate the same, or
97 use "straight" sampling rates like 22, 32 and 48 kHz only.</para>
100 <para>I added a little
101 <bold>pitch calculator</bold> that allows adjusting the playback
102 speed of a turntable to that of the master turntable so it easy
103 very easy to synchronize loops now. Note that this feature is
104 proabably useless.</para>
107 <para>Advancing the use of XML: many XML-related bugs have been
108 fixed, and I moved the
109 <bold>set file format to XML</bold>, too. The MIDI mappings of
110 parameters will be stored within set files, too. As XML set files
111 with a lot of sequencer events can grow quite big tX supports
113 <bold>gzip compressed set files</bold> through the use of
114 <link ref='http://www.zlib.org'>zlib</link>.</para>
117 <para>Thanks to a suggestion by
119 <name>Darrick Servis</name>
120 <email>darrick@dcn.davis.ca.us</email>
121 </person> terminatorX
122 <bold>no longer clips audio</bold>. If the generated amplitude
123 goes beyond the maximum it will simply be cut off.</para>
126 <para>Further cleaning up the layout for small DJ laptop
127 displays: moved some buttons to a
128 <bold>menu bar</bold> to waste less space. Addtionally you can now
130 <screen>F11</screen> to enter
131 <bold>fullscreen</bold> mode - if your window manager supports
132 <italic>NETWM</italic>.</para>
135 <para>Dropped support for the old gtk+ 1.2 - you have to use gtk+
136 >= 2.0, now.</para>
138 </itemizedlist></para>
139 <para>This release has seen quite some
140 <link ref="http://developer.kde.org/~sewardj">valgrinding</link> so it
141 should run rather stable and a major mem leak has been fixedm, too.
142 Unlike 3.73 this one compiles with gcc > 3.0 with
143 <screen>-Wall</screen> and
144 <screen>-Werror</screen> enabled.</para>
148 <newsheader date='18 Sep'>
149 <link ref='download.html#Current Version'>terminatorX
150 V3.73</link> available,
151 <link ref='http://www.debian.org'>Debian</link> inclusion + a
152 <link ref='http://www.boosthardware.com/LAU/quicktoots/toots/tx_toot/tx_toot1.html'>
153 tutorial</link></newsheader>
155 <para>Aside of fixing numerous bugs, the new release does have some
159 <para>I ported terminatorX to
160 <link ref='http://www.gtk.org'>gtk+</link>
161 <bold>Version 2</bold> so tX should integrate nicely with your
162 GNOME 2 desktop. This release still builds with the old gtk+ 1.2,
163 too, but I don't plan to support it much longer.</para>
166 <screenshot filename='shot-3.73-1.png'>
167 <nopara>Minimizing controls to save space</nopara>
171 <para>I reworked the GUI a bit in order to make terminatorX fit
172 better on those small DJ-laptop displays. Audio and control
173 panels can now be minimized to a
174 <bold>panel bar</bold> to save space - works just like GNOME's
175 window list. The panel bar status is stored within setfiles and
176 restored upon loading. Additionally the buttons of the audio
177 panel have been restructured. To lighten up the GUI five buttons
178 have been merged into
179 <bold>two</bold> - on clicking one of these you'll get a popup
180 menu with all previous functionality.</para>
183 <para>After spending an evening with Adrian in front of his big
184 endian system fixing the audiofile loading routines, I decided
185 that loading audiofiles through a pipe is an ugly hack. Therefor
187 <bold>three new audiodfile loading methods</bold> that utilize
188 libraries instead of pipes. These are
189 <link ref='http://www.mars.org/home/rob/proj/mpeg/'>
190 mad</link> (for mp3 files),
191 <link ref='http://www.xiph.org/ogg/vorbis/'>libvorbis</link> (for
192 OGG/Vorbis files) and
193 <link ref='http://www.68k.org/~michael/audiofile/'>
194 libaudiofile</link> (for wav/aiff/au etc.). Using these routines
195 instead of the old ones brings the following advantages:
198 <para>loading audiofiles is significantly
199 <bold>faster</bold></para>
202 <para>terminatorX now evaluates the
203 <bold>sample rate</bold> of an audiofile and adjusts the
204 turntable's pitch accordingly (this does not affect the
205 regular "pitch" setting btw)</para>
208 <para>the new routines provide much better
209 <bold>visual feedback</bold> on the loading progress</para>
211 </itemizedlist>Additionally more file formats are supported, so I
212 strongly recommend installing the libraries mentioned above to
213 improve terminatorX' usabilty.</para>
216 <para>Slowly approaching terminator
217 <bold>XML</bold>: the configuration file (now
218 <italic>~/.terminatorXrc</italic>) is no longer binary but an XML
219 document. This is necessary to become more flexible in the future
220 - and it allows editing your terminatorX configuration with a
221 text editor - if you want to. Of course, terminatorX now requires
223 <link ref='http://www.libxml.org'>libxml</link> to be installed.
224 For convenience this release still reads the old binary config
225 and stores it as an XML document on exit. I plan to move the set
226 file format to XML soon, too.</para>
229 <para>I completely rewrote the
230 <italic>tX_engine</italic> in order to allow installing
232 <bold>suid root</bold>. This way terminatorX can run with
233 realtime scheduling policy even for unprivileged users. Right
234 after creation of the engine thread terminatorX drops root
235 privileges - so it might even be safe to install terminatorX suid
236 root - but I'll leave that up to security experts to decide. For
237 a more detailed discussion read
238 <link ref='faq.html#11'>this FAQ entry</link>.</para>
241 <para>Playing around with the wonderful
242 <link ref='http://www.povray.org'>povray</link> a bit I came up
243 with a new logo for terminatorX. The icons have been replaced,
244 too - the new ones should be easier for your desktop
251 <email>adrian@lisas.de</email>
252 </person>terminatorX now has a
253 <bold>manpage</bold>.</para>
255 </itemizedlist></para>
256 <para>A lot of bug fixing went into this release, too, most notably:
259 <para>An old clipping bug in the
260 <italic>tX_dial</italic> widget code has been fixed.</para>
263 <para>This release builds, runs and loads audiofiles on big
264 endian architectures.</para>
267 <para>terminatorX should now build from scratch not only on Linux
268 but on FreeBSD, too. Thanks to
270 <name>Tilman Linneweh</name>
271 <email>tilman@arved.de</email>
272 </person>for testing.</para>
275 <para>Many other fixes.</para>
277 </itemizedlist>Have a look at the
278 <link ref='ChangeLog'>ChangeLog</link> for more details and grab the
279 tarball or the RPMS from the
280 <link ref='download.html#Current Version'>download
281 section</link>.</para>
282 <para>Aside of the release I'd like to bring to your attention that
284 <name>Mike Furr</name>
285 <email>mfurr@debian.org</email>
286 </person>is now maintainer of the
287 <link ref='http://packages.debian.org/unstable/sound/terminatorx.html'>
288 terminatorX Debian package</link>. So if you're a Debian user you may
290 <italic>apt-get</italic> this release - if you install
291 <italic>unstable</italic> packages at all and when your local mirror
292 has been updated.</para>
293 <para>For new terminatorX users
296 <email>bredfern@calarts.edu</email>
297 </person>has created a wonderful step-by-step
298 <link ref='http://www.boosthardware.com/LAU/quicktoots/toots/tx_toot/tx_toot1.html'>
299 "terminatorX TOOT" tutorial</link> - reading that will accelerate the
300 creation of your first scratch considerably.</para>
304 <newsheader date='31 Jul'>
305 <link ref='turntable.html'>Turntable gallery</link> online and a fresh
306 <link ref='scratches.html'>scratch</link></newsheader>
308 <para>I finally managed to hack the website's DTD and XSLT stylesheet
310 <link ref='turntable.html'>users' turntable section</link>. Now that
311 it's easy to update, please keep these turntable images coming in!
312 I'd really like to see more of your turntables.</para>
316 <email>bredfern@calarts.edu</email>
317 </person>- a California based terminatorX DJ - has contributed a very
319 <link ref='scratches.html'>scratches section</link>. It's just an
320 excerpt of a complete drum and bass set that is available at Brian's
321 <link ref='http://asapien.org'>website</link> - which seems to be down
322 currently. In case it doesn't come up again I'll mirror the complete
323 set here, too.</para>
325 <italic>The names have been changed to protect the
326 innocent...</italic> from
327 <bold>spamming</bold>. The XSLT stylesheet now mangles all email
328 addresses on this site except for mine - if you've seen a correct
329 email address before you should be able to recover the real address
330 easily. BTW if you're a spam victim, too, add the incredible
331 <link ref='http://spamassassin.org'>spamassassin</link> to your
332 <italic>.procmailrc</italic> and spam won't annoy you anymore.</para>
333 <para>On terminatorX news Version 3.73 should be ready for release
334 RSN! It will probably still lack native ALSA support, though.</para>
338 <newsheader date='05 jan'>happy new year:
339 <link ref='download.html#Current Version'>terminatorX V3.72</link> is
342 <para>Hope everybody had a nice start into 2002, these are the
343 changes that come with terminatorX release 3.72 (for details check
345 <link ref='ChangeLog'>ChangeLog</link>):
348 <para>Thanks to a patch from
350 <name>Matthew Evans</name>
351 <email>activesx@hotmail.com</email>
352 </person>terminatorX finally supports loading
353 <link ref='http://www.vorbis.com'>Ogg Vorbis</link> audiofiles.
354 Note that this feature requires ogg123 (>= RC2) and
355 <link ref='http://sox.sourceforge.net'>sox</link> installed. The
356 very fresh RC3 release of Ogg Vorbis works just fine, too.</para>
362 <email>adrian@lisas.de</email>
363 </person>once again submitted code to the project: terminatorX
365 <bold>mute</bold> and
366 <bold>solo</bold> buttons for each turntable's mixing unit. The
367 initial patch had some problems with the already existing
368 mute-function in terminatorX, therefor I extended the turntable
369 in such a way that the new buttons
370 <bold>only affect current mixing</bold> - the sequencer will not
371 record any events for them.</para>
374 <para>I updated the XInput code to work with XFree86 > 4.
375 terminatorX now uses the
376 <italic>xsetpointer</italic> binary that comes with XFree86 to
377 switch the core pointer - as the old code doesn't work with newer
378 XFree86 releases anymore.
379 <italic>configure</italic> should auto-detect
380 <italic>xsetpointer</italic> if it's available.
381 <bold>Note:</bold> You only need to specify an additional XInput
382 Device in the options dialog if you want to use a scratching
383 device other than your mouse. (Yeah, I know, I state that in the
384 docs, tooltips, everywhere - but I still get bug reports related
385 to that issue...)</para>
388 <para>Updated mpg123 loading routines that should work with
389 <link ref='http://mpg321.sourceforge.net'>mpg321</link> (which
390 many distros install instead of mpg123 these days), too. Note
391 that you'll have to have
392 <link ref='http://sox.sourceforge.net'>sox</link> installed in
393 order to get mp3-loading to work (As mpg321 doesn't support
395 <italic>-m</italic> switch).</para>
398 <para>fixes for misc bugs (writing broken .wav's on big endian
399 machines, gcc >= 3.x compile fixes, some gtk+ cleanups,
402 </itemizedlist></para>
403 <para>Grab the sources or the fresh RPMs (Thanks,
406 <email>adrian@lisas.de</email>
408 <link ref='download.html#Current Version'>download
409 section</link>.</para>
410 <para>Initially I planned to integrate native
411 <link ref='http://www.alsa-project.org'>ALSA</link>-support into this
412 release but I simply failed to finish. As many people wanted to have
413 some of the above features early I decided to release it without ALSA
414 now, as I'll be busy for the upcomming weeks. I haven't given up on
415 ALSA though, hopefully the next terminatorX release will feature a
416 new audiodevice backend that supports ALSA (V0.9)
417 <bold>and</bold> OSS and brings many other adtvantages.</para>
418 <para>The website has undergone minor updates, too:
421 <para>The section header's now should look fine with
422 <link ref='http://www.mozilla.org'>Mozilla</link>-based browsers.
423 They might look funny with older netscapes, though.</para>
427 <link ref='screenshots.html'>screenshots</link> as people started
428 asking howto achieve that old tX V3.5 layout :)</para>
431 <para>Minor fixes to make
432 <link ref='http://www.w3.org'>W3C</link>'s validator accept the
433 pages again, and a favicon that needs some improvement.</para>
435 </itemizedlist></para>