[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   &db;
5   <main>
6     <general>
7       <heading>Welcome to the terminatorX website!</heading>
8       <subtitle>
9         <nopara>Bookmark this site as 
10         <link ref='http://terminatorX.cx'>terminatorX.cx</link>. It's
11         located on 
12         <link ref='http://42.fht-esslingen.de'>
13         42.fht-esslingen.de</link></nopara>
14       </subtitle>
15       <text>
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
23         gtk+ GUI. 
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,
27         suggestions, patches, 
28         <dblink id='scratches'>scratches</dblink> 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 18'>
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> <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
48               at an 
49               <bold>arbitrary sampling rate</bold>.</para>
50             </listitem>
51           </itemizedlist>
52           <screenshot filename='shot-3.80-1.png'>
53             <nopara>Scrolling audio data, a menubar and even less space consumption
54                 for small displays.
55             </nopara>
56           </screenshot>
57           <itemizedlist>  
58             <listitem>
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>
70             </listitem>
71             <listitem>
72               <para>A 
73               <bold>MIDI interface</bold> thanks to a patch by 
74               <person>
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>
89             </listitem>
90             <listitem>
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
96               blocksize.</para>
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>
103             </listitem>
104             <listitem>
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>
111             </listitem>
112             <listitem>
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
118               writing 
119               <bold>gzip compressed set files</bold> through the use of 
120               <link ref='http://www.zlib.org'>zlib</link>.</para>
121             </listitem>
122             <listitem>
123               <para>Thanks to a suggestion by 
124               <person>
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>
130             </listitem>
131             <listitem>
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
135               hit 
136               <screen>F11</screen> to enter 
137               <bold>fullscreen</bold> mode - if your window manager supports 
138               <italic>NETWM</italic>.</para>
139             </listitem>
140             <listitem>
141               <para>Dropped support for the old gtk+ 1.2 - you have to use gtk+
142               &gt;= 2.0, now.</para>
143             </listitem>
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 &gt; 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
152           undiscovered busg.
153           </para>
154         </newstext>
155       </newsitem>
156       <newsitem>
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>
162         <newstext>
163           <para>Aside of fixing numerous bugs, the new release does have some
164           new features: 
165           <itemizedlist>
166             <listitem>
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>
172             </listitem>
173           </itemizedlist>
174           <itemizedlist>
175             <listitem>
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>
186             </listitem>
187             <listitem>
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
191               I wrote 
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: 
201               <itemizedlist>
202                 <listitem>
203                   <para>loading audiofiles is significantly 
204                   <bold>faster</bold></para>
205                 </listitem>
206                 <listitem>
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>
211                 </listitem>
212                 <listitem>
213                   <para>the new routines provide much better 
214                   <bold>visual feedback</bold> on the loading progress</para>
215                 </listitem>
216               </itemizedlist>Additionally more file formats are supported, so I
217               strongly recommend installing the libraries mentioned above to
218               improve terminatorX' usabilty.</para>
219             </listitem>
220             <listitem>
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>
232             </listitem>
233             <listitem>
234               <para>I completely rewrote the 
235               <italic>tX_engine</italic> in order to allow installing
236               terminatorX 
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>
244             </listitem>
245             <listitem>
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
250               perception.</para>
251             </listitem>
252             <listitem>
253               <para>Thanks to 
254               <person>
255                 <name>Adrian</name>
256                 <email>adrian@lisas.de</email>
257               </person> terminatorX now has a 
258               <bold>manpage</bold>.</para>
259             </listitem>
260           </itemizedlist></para>
261           <para>A lot of bug fixing went into this release, too, most notably: 
262           <itemizedlist>
263             <listitem>
264               <para>An old clipping bug in the 
265               <italic>tX_dial</italic> widget code has been fixed.</para>
266             </listitem>
267             <listitem>
268               <para>This release builds, runs and loads audiofiles on big
269               endian architectures.</para>
270             </listitem>
271             <listitem>
272               <para>terminatorX should now build from scratch not only on Linux
273               but on FreeBSD, too. Thanks to 
274               <person>
275                 <name>Tilman Linneweh</name>
276                 <email>tilman@arved.de</email>
277               </person> for testing.</para>
278             </listitem>
279             <listitem>
280               <para>Many other fixes.</para>
281             </listitem>
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 
288           <person>
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
294           want to 
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 
299           <person>
300             <name>Brian</name>
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>
306         </newstext>
307       </newsitem>
308       <newsitem>
309         <newsheader date='31 Jul'>
310         <dblink id='turntables'>Turntable gallery</dblink> online and a fresh 
311         <dblink id='scratches'>scratch</dblink></newsheader>
312         <newstext>
313           <para>I finally managed to hack the website's DTD and XSLT stylesheet
314           to support the 
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>
318           <para>
319           <person>
320             <name>Brian</name>
321             <email>bredfern@calarts.edu</email>
322           </person> - a California based terminatorX DJ - has contributed a very
323           cool scratch for the 
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>
329           <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>
340         </newstext>
341       </newsitem>
342       <newsitem>
343         <newsheader date='05 jan'>happy new year: 
344         <link ref='download.html#Current Version'>terminatorX V3.72</link> is
345         here.</newsheader>
346         <newstext>
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
349           the 
350           <dblink id='changelog'/>): 
351           <itemizedlist>
352             <listitem>
353               <para>Thanks to a patch from 
354               <person>
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 (&gt;= 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>
362             </listitem>
363             <listitem>
364               <para>
365               <person>
366                 <name>Adrian</name>
367                 <email>adrian@lisas.de</email>
368               </person>once again submitted code to the project: terminatorX
369               now features 
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>
377             </listitem>
378             <listitem>
379               <para>I updated the XInput code to work with XFree86 &gt; 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>
391             </listitem>
392             <listitem>
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
399               mpg123's 
400               <italic>-m</italic> switch).</para>
401             </listitem>
402             <listitem>
403               <para>fixes for misc bugs (writing broken .wav's on big endian
404               machines, gcc &gt;= 3.x compile fixes, some gtk+ cleanups,
405               etc.)</para>
406             </listitem>
407           </itemizedlist></para>
408           <para>Grab the sources or the fresh RPMs (Thanks, 
409           <person>
410             <name>Adrian</name>
411             <email>adrian@lisas.de</email>
412           </person>!) from the 
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: 
424           <itemizedlist>
425             <listitem>
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>
429             </listitem>
430             <listitem>
431               <para>Updated the 
432               <link ref='screenshots.html'>screenshots</link> as people started
433               asking howto achieve that old tX V3.5 layout :)</para>
434             </listitem>
435             <listitem>
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>
439             </listitem>
440           </itemizedlist></para>
441         </newstext>
442       </newsitem>
443      </news>
444   </main>
445 </section>