de969b795a78e7b3311f4685e3aa5ad911516e11
[terminatorX.git] / website / index.xml
1 <?xml version="1.0" encoding="iso-8859-1"?>
2 <!DOCTYPE section SYSTEM "./tX.dtd">
3 <section name='main'>
4   <main>
5     <general>
6       <heading>Welcome to the terminatorX website!</heading>
7       <subtitle>
8         <nopara>Bookmark this site as 
9         <link ref='http://www.terminatorX.cx'>www.terminatorX.cx</link>. It's
10         located on 
11         <link ref='http://42.fht-esslingen.de'>
12         42.fht-esslingen.de</link></nopara>
13       </subtitle>
14       <text>
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
22         gtk+ GUI. 
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,
27         suggestions, patches, 
28         <link ref='scratches.html'>scratches</link> send me a 
29         <link ref='mailto:alex@lisas.de'>mail</link></para>
30       </text>
31     </general>
32     <news>
33       <newsitem>
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>
37         <newstext>
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
40           introduces: 
41           <itemizedlist>
42             <listitem>
43               <para>Finally terminatorX has a 
44               <bold>native</bold>
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
49               at an 
50               <bold>arbitrary sampling rate</bold>.</para>
51             </listitem>
52             <listitem>
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>
64             </listitem>
65             <listitem>
66               <para>A 
67               <bold>MIDI interface</bold> thanks to a patch by 
68               <person>
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
81               called 
82               <link ref='aseqjoy.html'>aseqjoy</link> that emits MIDI controller
83               messages based on Joystick motion.</para>
84             </listitem>
85             <listitem>
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
91               blocksize.</para>
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>
98             </listitem>
99             <listitem>
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>
105             </listitem>
106             <listitem>
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
112               writing 
113               <bold>gzip compressed set files</bold> through the use of 
114               <link ref='http://www.zlib.org'>zlib</link>.</para>
115             </listitem>
116             <listitem>
117               <para>Thanks to a suggestion by 
118               <person>
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>
124             </listitem>
125             <listitem>
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
129               hit 
130               <screen>F11</screen> to enter 
131               <bold>fullscreen</bold> mode - if your window manager supports 
132               <italic>NETWM</italic>.</para>
133             </listitem>
134             <listitem>
135               <para>Dropped support for the old gtk+ 1.2 - you have to use gtk+
136               &gt;= 2.0, now.</para>
137             </listitem>
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 &gt; 3.0 with 
143           <screen>-Wall</screen> and 
144           <screen>-Werror</screen> enabled.</para>
145         </newstext>
146       </newsitem>
147       <newsitem>
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>
154         <newstext>
155           <para>Aside of fixing numerous bugs, the new release does have some
156           new features: 
157           <itemizedlist>
158             <listitem>
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>
164             </listitem>
165           </itemizedlist>
166           <screenshot filename='shot-3.73-1.png'>
167             <nopara>Minimizing controls to save space</nopara>
168           </screenshot>
169           <itemizedlist>
170             <listitem>
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>
181             </listitem>
182             <listitem>
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
186               I wrote 
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: 
196               <itemizedlist>
197                 <listitem>
198                   <para>loading audiofiles is significantly 
199                   <bold>faster</bold></para>
200                 </listitem>
201                 <listitem>
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>
206                 </listitem>
207                 <listitem>
208                   <para>the new routines provide much better 
209                   <bold>visual feedback</bold> on the loading progress</para>
210                 </listitem>
211               </itemizedlist>Additionally more file formats are supported, so I
212               strongly recommend installing the libraries mentioned above to
213               improve terminatorX' usabilty.</para>
214             </listitem>
215             <listitem>
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
222               
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>
227             </listitem>
228             <listitem>
229               <para>I completely rewrote the 
230               <italic>tX_engine</italic> in order to allow installing
231               terminatorX 
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>
239             </listitem>
240             <listitem>
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
245               perception.</para>
246             </listitem>
247             <listitem>
248               <para>Thanks to 
249               <person>
250                 <name>Adrian</name>
251                 <email>adrian@lisas.de</email>
252               </person>terminatorX now has a 
253               <bold>manpage</bold>.</para>
254             </listitem>
255           </itemizedlist></para>
256           <para>A lot of bug fixing went into this release, too, most notably: 
257           <itemizedlist>
258             <listitem>
259               <para>An old clipping bug in the 
260               <italic>tX_dial</italic> widget code has been fixed.</para>
261             </listitem>
262             <listitem>
263               <para>This release builds, runs and loads audiofiles on big
264               endian architectures.</para>
265             </listitem>
266             <listitem>
267               <para>terminatorX should now build from scratch not only on Linux
268               but on FreeBSD, too. Thanks to 
269               <person>
270                 <name>Tilman Linneweh</name>
271                 <email>tilman@arved.de</email>
272               </person>for testing.</para>
273             </listitem>
274             <listitem>
275               <para>Many other fixes.</para>
276             </listitem>
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 
283           <person>
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
289           want to 
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 
294           <person>
295             <name>Brian</name>
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>
301         </newstext>
302       </newsitem>
303       <newsitem>
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>
307         <newstext>
308           <para>I finally managed to hack the website's DTD and XSLT stylesheet
309           to support the 
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>
313           <para>
314           <person>
315             <name>Brian</name>
316             <email>bredfern@calarts.edu</email>
317           </person>- a California based terminatorX DJ - has contributed a very
318           cool scratch for the 
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>
324           <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>
335         </newstext>
336       </newsitem>
337       <newsitem>
338         <newsheader date='05 jan'>happy new year: 
339         <link ref='download.html#Current Version'>terminatorX V3.72</link> is
340         here.</newsheader>
341         <newstext>
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
344           the 
345           <link ref='ChangeLog'>ChangeLog</link>): 
346           <itemizedlist>
347             <listitem>
348               <para>Thanks to a patch from 
349               <person>
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 (&gt;= 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>
357             </listitem>
358             <listitem>
359               <para>
360               <person>
361                 <name>Adrian</name>
362                 <email>adrian@lisas.de</email>
363               </person>once again submitted code to the project: terminatorX
364               now features 
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>
372             </listitem>
373             <listitem>
374               <para>I updated the XInput code to work with XFree86 &gt; 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>
386             </listitem>
387             <listitem>
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
394               mpg123's 
395               <italic>-m</italic> switch).</para>
396             </listitem>
397             <listitem>
398               <para>fixes for misc bugs (writing broken .wav's on big endian
399               machines, gcc &gt;= 3.x compile fixes, some gtk+ cleanups,
400               etc.)</para>
401             </listitem>
402           </itemizedlist></para>
403           <para>Grab the sources or the fresh RPMs (Thanks, 
404           <person>
405             <name>Adrian</name>
406             <email>adrian@lisas.de</email>
407           </person>!) from the 
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: 
419           <itemizedlist>
420             <listitem>
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>
424             </listitem>
425             <listitem>
426               <para>Updated the 
427               <link ref='screenshots.html'>screenshots</link> as people started
428               asking howto achieve that old tX V3.5 layout :)</para>
429             </listitem>
430             <listitem>
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>
434             </listitem>
435           </itemizedlist></para>
436         </newstext>
437       </newsitem>
438      </news>
439   </main>
440 </section>