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