Initial import - Alex
authorterminatorX <>
Mon, 31 Mar 2003 17:45:42 +0000 (17:45 +0000)
committerterminatorX <>
Mon, 31 Mar 2003 17:45:42 +0000 (17:45 +0000)
20 files changed:
website/Makefile [new file with mode: 0644]
website/aseqjoy.xml [new file with mode: 0644]
website/createpreview [new file with mode: 0755]
website/download.xml [new file with mode: 0644]
website/faq.xml [new file with mode: 0644]
website/index.xml [new file with mode: 0644]
website/pix/.xvpics/new.png [new file with mode: 0644]
website/pix/new.png [new file with mode: 0644]
website/pix/tX_logo.jpg [new file with mode: 0644]
website/pix/vinyl-highlight.png [new file with mode: 0644]
website/pix/vinyl-hover.gif [new file with mode: 0644]
website/pix/vinyl-spacer.png [new file with mode: 0644]
website/pix/vinyl.png [new file with mode: 0644]
website/scratches.xml [new file with mode: 0644]
website/screenshots.xml [new file with mode: 0644]
website/script.js [new file with mode: 0755]
website/sedscript [new file with mode: 0644]
website/tX.dtd [new file with mode: 0644]
website/tX.xsl [new file with mode: 0644]
website/turntable.xml [new file with mode: 0644]

diff --git a/website/Makefile b/website/Makefile
new file mode 100644 (file)
index 0000000..2129be9
--- /dev/null
@@ -0,0 +1,16 @@
+section = main download faq screenshots scratches turntable aseqjoy
+
+all: index.html aseqjoy.html download.html faq.html scratches.html turntable.html screenshots.html
+
+clean: Makefile
+       rm -rf *.html *.tmp
+
+%.html:         %.xml tX.xsl tX.dtd sedscript
+       xsltproc  tX.xsl $*.xml > $*.tmp && sed -f sedscript < $*.tmp | (echo  '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/REC-html401/loose.dtd">'; cat) > $*.html ; rm $*.tmp
+#      java org.apache.xalan.xslt.Process -in $*.xml -xsl tX.xsl -out $*.tmp && sed -f sedscript < $*.tmp | (echo  '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/REC-html401/loose.dtd">'; cat) > $*.html ; rm $*.tmp
+
+dist:  all
+       (mkdir tX_website; cp Makefile createpreview sedscript script.js *.xml *.html tX.dtd tX.xsl tX_website; tar cjf tX_website.tar.bz2 tX_website; rm -rf tX_website)
+       
+install: all
+       cp -f script.js *.html ~/.public_html/tX
diff --git a/website/aseqjoy.xml b/website/aseqjoy.xml
new file mode 100644 (file)
index 0000000..8f63077
--- /dev/null
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE section SYSTEM "./tX.dtd"[
+]>
+<section name="aseqjoy">
+  <aseqjoy>
+       <para><bold>aseqjoy</bold> is a <italic>Joystick to ALSA MIDI Sequencer Converter</italic>.
+       In fact it's a really
+tiny piece of software that turns a joystick into a MIDI controller for the
+<link ref="http://www.alsa-project.org">ALSA</link> sequencer infrastructure. I mainly wrote it to test the new MIDI interface
+of terminatorX but then I thought it might be useful with other scenarios and
+applications, too.
+</para>
+<para>For a more detailed description on what it does and how to use it have a look
+the <link ref="aseqjoy-man.html">manpage</link>.</para>
+
+<para>If you want to test it yourself download the source: 
+<link ref="aseqjoy-0.0.1.tar.gz">aseqjoy-0.0.1.tar.gz</link>
+(Sorry no binaries - but it's so small it only takes seconds to compile it
+yourself :) Compiling aseqjoy requires kernel and ALSA (asound library) headers
+to be installed.
+</para>
+<para>To compile and install it's really just the simple:
+</para>
+<para><screen>tar xzf aseqjoy-0.0.1.tar.gz &amp;&amp; cd aseqjoy-0.0.1 &amp;&amp; ./configure &amp;&amp; make &amp;&amp; make
+install</screen>
+</para>
+<para>To make full use of aseqjoy you might require jscal from the Vojtech Pavlik's
+<link ref="http://atrey.karlin.mff.cuni.cz/%7Evojtech/joystick/">joystick package</link> (to calibrate your joystick) 
+and Robert Ham's <link ref="http://pkl.net/%7Enode/alsa-patch-bay.html">alsa-patch-bay</link>
+or aconnect from the <link ref="http://www.alsa-project.org">alsa-utils</link> package to connect aseqjoy's MIDI output port
+to other input ports.</para>
+<para>aseqjoy is distributed under the terms of the GPL V2, too.</para>
+  </aseqjoy>
+</section>
+
diff --git a/website/createpreview b/website/createpreview
new file mode 100755 (executable)
index 0000000..0cfc4e6
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/bash
+for file in $*;
+do 
+       jpegtopnm < $file | pnmscale -xsize=100 | pnmtojpeg > pre_$file
+done
diff --git a/website/download.xml b/website/download.xml
new file mode 100644 (file)
index 0000000..6572517
--- /dev/null
@@ -0,0 +1,172 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE section SYSTEM "./tX.dtd"[
+]>
+<section name="download">
+  <download>
+    <index>
+      <title>Available Downloads</title>
+    </index>
+
+   <current version="3.73" havebz2="yes"/>
+    <subsection>
+      <title>Requirements</title>
+
+      <para>terminatorX requires:
+
+       <itemizedlist>
+         <listitem>
+           <nopara>A Linux or FreeBSD system with the GNU C library installed.</nopara>
+         </listitem>
+
+         <listitem>
+           <nopara><link ref="http://www.xfree86.org">XFree86</link> with
+             DGA/DirectMouse support. DGA should be available in all XFree86
+             releases after 3.3, but <bold>not every X-server provides
+               DGA</bold>, so please check that your X-server has that
+             feature. <newline/><!--<red>WARNING:</red> XFree86 Version 4.0.0 has buggy
+             DGA-Mouse support, please upgrade to Version 4.0.1 or above to
+             be able to use terminatorX-->
+           </nopara>
+         </listitem>
+
+         <listitem>
+           <nopara>The <link ref="http://www.gtk.org">Gimp Toolkit -
+               gtk+</link> Version 2.0 or above
+           </nopara>
+         </listitem>
+
+         <listitem>
+           <nopara><link ref="http://www.ladspa.org">LADSPA</link>
+           The Linux Audio Developer's Simple Plugin API
+           </nopara>
+         </listitem>
+
+  <listitem>
+    <nopara>
+      <link ref="http://www.libxml.org">LibXML</link> which comes installed
+      with most distributions
+    </nopara>
+  </listitem>
+  
+  <listitem>
+  <nopara>terminatorX supports Steve Harris' 
+  <link ref="http://plugin.org.uk/lrdf/">liblrdf</link> which allows categorizing
+  LADSPA plugins. Although terminatorX can be built without liblrdf support I strongly 
+  recommend installing it when you plan on using Steve Harris' wonderful
+  <link ref="http://plugin.org.uk/">plugin collection</link> with terminatorX.
+  </nopara>
+  </listitem>
+  
+  <listitem><nopara>terminatorX' MIDI interface is based on the ALSA sequencer API and therefor requires
+  a working <link ref="http://www.alsa-project.org">ALSA</link> setup</nopara></listitem>
+         <listitem>
+    <para>
+      To enhance audiofile support I strongly recommend installing:
+      <itemizedlist>
+       <listitem>
+         <nopara>
+           <link ref="http://www.68k.org/~michael/audiofile/">
+                 libaudiofile</link> for loading wav, aiff and au files
+           and <link ref="http://sox.sourceforge.net">sox</link> for
+           pre-listening and loading of file formats not supported by
+           libaudiofile.
+         </nopara>
+       </listitem>
+       <listitem>
+       <nopara>
+         <link ref="http://www.xiph.org/ogg/vorbis/">libvorbis
+         </link> for loading of OGG Vorbis (.ogg) streams and 
+         <link ref="http://www.xiph.org/ogg/vorbis/">ogg123</link> for
+         pre-listening to them.</nopara>
+       </listitem>
+       <listitem>
+         <nopara> The
+           <link ref="http://www.mars.org/home/rob/proj/mpeg/">
+             mad</link> (MPEG Audio Decocder) library for loading mp3
+           streams and <link ref="http://www.mpg123.de">
+               mpg123</link> or 
+           <link ref="http://mpg321.sourceforge.net">mpg321</link> for
+           pre-listening of these.
+         </nopara>
+       </listitem>
+      </itemizedlist>
+      Note: Most of these libraries are included with current Linux
+      distributions - so you might want to check your vendor's package
+      list before building the libraries from source.
+    </para>
+    
+  </listitem>
+       </itemizedlist>
+      </para>
+    </subsection>
+
+    <subsection>
+      <title>Current Version</title>
+      <currentversion/>
+    </subsection>
+
+    <subsection>
+      <title>Old Sources</title>
+      <tarfiles>
+       <tar version="3.73" havebz2="yes"/>
+        <tar version="3.72"/>
+       <tar version="3.71"/>
+       <tar version="3.70"/>
+       <tar version="3.60"/>
+       <tar version="3.55"/>
+       <tar version="3.51"/>
+       <tar version="3.5"/>
+       <tar version="3.2"/>
+       <tar version="3.1"/>
+       <tar version="3.01"/>
+       <tar version="3.0"/>
+      </tarfiles>
+    </subsection>
+
+    <subsection>
+      <title>Old RPMs</title>
+      <rpmfiles>
+        <rpm type="i386" version="3.73" rpmsubversion="1"/>
+        <rpm type="i386" version="3.72" rpmsubversion="1"/>
+       <rpm type="i586" version="3.71" rpmsubversion="2"/>
+       <rpm type="i586" version="3.70" rpmsubversion="1"/>
+       <rpm type="i586" version="3.60" rpmsubversion="2"/>
+
+        <rpm type="sparc" version="3.71" rpmsubversion="2"/>
+    
+      <rpm type="src" version="3.73" rpmsubversion="1"/>
+      <rpm type="src" version="3.72" rpmsubversion="1"/>
+       <rpm type="src" version="3.71" rpmsubversion="2"/>
+       <rpm type="src" version="3.70" rpmsubversion="1"/>
+        <rpm type="src" version="3.60" rpmsubversion="2"/>
+      </rpmfiles>
+    </subsection>
+
+    <subsection>
+      <title>Historic Sources</title>
+      <filelist>
+       <file>terminatorX-V23.tar.gz</file>
+       <file>terminatorX-V22.tar.gz</file>
+      </filelist>
+    </subsection>
+    
+    <subsection>
+      <title>Samples</title>
+      <para>I still have the "get you started"-samples <file>scratch.wav</file>
+       and <file>beat.wav</file> available. If you have some audio files to
+       scratch on but no beats (loops) lying around here is
+       <file>tX_beats.tar.bz2</file> which contains ten more beats I
+       downloaded somewhere else - Sorry I don't remember where they're from
+       - if you know please tell me so I can put some credits up here.
+      </para>
+      <para>If you want to have even more samples check out
+       <person>
+         <name>Erik's</name>
+         <email>e@osterman.com</email>
+       </person> <bold>huge</bold> sample-archive
+       (<link ref="http://ftp.osterman.com/pub/music/samples">http</link>/<link ref="ftp://ftp.osterman.com/pub/music/samples">ftp</link>). 
+      </para>
+    </subsection>
+  </download>
+</section>
+
diff --git a/website/faq.xml b/website/faq.xml
new file mode 100644 (file)
index 0000000..a3bc99c
--- /dev/null
@@ -0,0 +1,213 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE section SYSTEM "./tX.dtd"[
+]>
+<section name="faq">
+  <faq>
+    <qa>
+      <question>What is terminatorX?</question>
+      <answer>
+       <para>terminatorX is a realtime audio synthesizer that allows you to
+         scratch on digitally sampled audio data (*.wav, *.au, *.mp3, etc.)
+         the way hiphop-DJs scratch on vinyl records. It features multiple
+         turntables, realtime effects and an easy-to-use gtk+ GUI. The latest
+         feature is the builtin sequencer. <bold>This software runs under
+           LINUX only.</bold>
+       </para>
+      </answer>
+    </qa>
+
+    <qa>
+      <question>What does it cost?</question>
+      <answer>
+       <para>Nothing. TerminatorX is free software. Read the
+         <link ref="COPYING">license</link> (GPL V2).
+       </para>
+      </answer>
+    </qa>
+
+    <qa>
+      <question>What platforms does it run on?</question>
+      <answer>
+       <para>TerminatorX should run on any recent Linux system. I develop
+         terminatorX on an X86-System, but the source contains support for
+         bigendian machines (PowerPC for example). If you experience platform
+         related troubles, please let me know.
+       </para>
+      </answer>
+    </qa>
+
+    <qa>
+      <question>What audio quality is supported? </question>
+      <answer>
+       <para>TerminatorX operates at 16Bit / 44.1 kHz / Stereo
+         (Since 3.71). Samples will be converted to Mono on
+         loading.
+       </para>
+      </answer>
+    </qa>
+
+    <qa>
+      <question>
+       Why does it take terminatorX so long to load samples?
+      </question>
+      <answer>
+       <para>This depends on the file your loading. Wavfiles are loaded with
+         the builtin wavloading routines (if enabled on compiletime) and this
+         happens very fast. Other files will be opened through either sox or
+         mpg123 and that may consume quite some time.
+       </para>
+       <para>
+         Since Version 3.73 loading of audiofiles has been
+         significantly accelerated with the libaudiofile, libvorbis and
+         mad methods.
+       </para>
+      </answer
+       ></qa>
+
+    <qa>
+      <question>Why doesn't terminatorX support streaming? </question>
+      <answer>
+       <para>Oh well due to my laziness I guess.
+         <person>
+           <name>Benno Senoner</name>
+           <email>sbenno@gardena.net</email>
+         </person> wrote a
+         <link ref="http://www.gardena.net/benno/linux/terminatorX-3.2-mmap.patch">patch</link>
+         against 3.2 to support &quot;on-the-fly&quot; reading of wavfiles.
+         The problem is the patch wasn't applyable to later versions of
+         terminatorX, nor would it work with sox/mpg123 support.
+         I still plan to port the patch to the newer releases sometime.
+       </para>
+      </answer>
+    </qa>
+
+    <qa>
+      <question>
+       How can I use a second mouse, a joystick or other input devices for
+       scratching?
+      </question>
+      <answer>
+       <para>Well, you need to configure this mouse as an XFree86 XInput
+         devices and from what I've read I assume you'll need to have XFree86
+         3.3.3.1 or higher. If you want to know how to do this read your
+         XF86Config manual page (run man XF86Config) and find the part on
+         "the optional XInput section". If you successfully configured your
+         second (third ...) mouse / input device for XFree86 you now need to
+         turn on XInput-support in the Options-dialog of terminatorX and you
+         have to select the XInput device you want terminatorX to
+         initialize. Now either press "Apply" or "Ok" and you should be able
+         to scratch with that devices next time you press "Start". I haven' t
+         tested joysticks though.... 
+       </para>
+      </answer>
+    </qa>
+
+    <qa>
+      <question>Why do I get &quot;./terminatorX: undefined symbol:
+       _t24__default_alloc_template2b1i0.free_list&quot; when I run
+       terminatorX?
+      </question>
+      <answer>
+       <para>You proabably downloaded the binary-rpm-package and your
+         libstdc++ is outdated. This seems to occur on Mandrake systems only.
+         Upgrading with a newer libstdc++ package should fix this.
+       </para>
+      </answer>
+    </qa>
+
+    <qa>
+      <question>
+       Why do I get &quot;tX_seqpar.h:25: list: No such file or
+       directory&quot; when building terminatorX myself?
+      </question>
+      <answer>
+       <para>You don't have the libstdc++ headers installed. Install the
+         libstdc++-devel package for the libstdc++-package you have installed.
+       </para>
+      </answer>
+    </qa>
+
+
+    <qa>
+      <question>What can I do if my mouse doesn't work in scratch mode?
+      </question>
+      <answer>
+       <para>Now this issue is rather tricky, as it seems a lot of problems
+         can be the reason here, but there are some things you can try:
+         <itemizedlist>
+           <listitem>
+             <nopara>Make sure that your X-Server supports XFree86-DGA. Remove
+               any lines that read</nopara><para><screen>Option
+                 "omit xfree86-dga"</screen></para><para> from your <screen>XF86Config</screen>. Check
+               whether the Server loaded dga by running <bold>xdpyinfo
+               </bold> - if DGA is loaded one of the lines you get from
+               xdpyinfo should read <italic>XFree86-DGA</italic>. To check
+               whether DGA actually works run <bold>dga</bold> as root -
+               <red>Warning:</red> the only way to exit this tool is
+               pressing 'q' on your keyboard - and it might take some seconds
+               until it reacts.
+             </para>
+           </listitem>
+           <listitem>
+             <nopara>Try running terminatorX as root. This fixes the problem
+               for most people.
+             </nopara>
+           </listitem>
+         </itemizedlist>
+       </para>
+       <para>If all this doen't help let me know.
+       </para>
+      </answer>
+    </qa>
+    <qa>
+      <question>Should I install terminatorX suid root?</question>
+         <answer>
+           <para>
+             Installing terminatorX <italic>suid root</italic> improves
+             terminatorX' performance significantly for non-root users
+             - as terminatorX will use the suid-root privileges to
+             create the engine thread with
+             realtime-scheduling-priority. Immediatley after the
+             creation of the thread terminatorX drops root privileges
+             before any files or devices are accessed. The problem is:
+             the Linux pthreads manager thread can not be told to drop
+             it's root privileges, which means that while the two
+             threads executing terminatorX code run with the real
+             user's privileges, the pthread manager thread still runs
+             with root-privileges. While I cannot see how a malicious
+             user or software could utlize this thread to acquire root
+             privileges it might still be possible, so you'll have to
+             make your on decision on performance vs security.
+           </para>
+         </answer>
+    </qa>
+    <qa>
+      <question>
+       How do I install terminatorX  suid root?</question>
+         <answer>
+           <para>As root <italic>cd</italic> into the directory you
+             installed terminatorX to (typically that is
+             <italic>/usr/local/bin</italic> or 
+             <italic>/usr/bin</italic>) and run the following
+             commandline:
+           </para>
+           <para>
+             <screen>chown root: ./terminatorX &amp;&amp; chmod u+s ./terminatorX</screen>
+           </para>
+         </answer>
+    </qa>
+    <qa>
+      <question>Where does the name come from?</question>
+      <answer>
+       <para>If you don't know find out a little something about
+         <link ref="http://www.publicenemy.com">Public Enemy</link>. Learn
+         who <link ref="http://www.publicenemy.com/soldiers/termx.php">
+           TerminatorX</link> is or
+         <link ref="http://www.publicenemy.com/gallery/images/txday.jpg">see him</link>
+         do his work
+       </para>
+      </answer>
+    </qa>
+  </faq>
+</section>
+
diff --git a/website/index.xml b/website/index.xml
new file mode 100644 (file)
index 0000000..1643835
--- /dev/null
@@ -0,0 +1,739 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE section SYSTEM "./tX.dtd">
+<section name="main">
+  <main>
+    <general>
+      <heading>Welcome to the terminatorX website!</heading>
+      <subtitle>
+       <nopara>Bookmark this site as <link ref="http://www.terminatorX.cx">
+           www.terminatorX.cx</link>. It's located on
+         <link ref="http://42.fht-esslingen.de">42.fht-esslingen.de</link>
+       </nopara>
+      </subtitle>
+      <text>
+       <para>
+         For those of you who drop by for the first time: terminatorX is a
+         realtime audio synthesizer that allows you to "scratch" on digitally
+         sampled audio data (*.wav, *.au, *.ogg, *.mp3, etc.) the way hiphop-DJs
+         scratch on vinyl records. It features multiple turntables, realtime
+         effects (buit-in as well as
+         <link ref="http://www.ladspa.org">LADSPA</link> plugin
+         effects), a sequencer and 
+         an easy-to-use gtk+ GUI. <bold>This sofware is designed to run
+           under Linux, FreeBSD and the like</bold>. <!-- It will possibly run und
+         other UNIXish systems running
+         <link ref="http://www.xfree86.org">XFree86</link> and a
+         compatilbe audio device, like OpenBSD. -->
+         If you have more questions read the <link
+          ref="faq.html">FAQ</link>/<link ref="doc/index.html">Manual</link>/<link
+          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, suggestions,
+         patches, <link ref="scratches.html">scratches</link> send me a
+         <link ref="mailto:alex@lisas.de">mail</link>
+       </para>
+      </text>
+    </general>
+
+    <news>
+      <newsitem>
+       <newsheader date="18 Sep"><link ref="download.html#Current Version">terminatorX
+           V3.73</link> available, 
+         <link ref="http://www.debian.org">Debian</link> inclusion +
+         a <link ref="http://www.boosthardware.com/LAU/quicktoots/toots/tx_toot/tx_toot1.html">tutorial</link>
+       </newsheader>
+       <newstext>
+         <para>Aside of fixing numerous bugs, the new release does have
+           some new features:
+           <itemizedlist>
+             <listitem>
+               <para>I ported terminatorX to <link ref="http://www.gtk.org">gtk+</link>
+                 <bold>Version 2</bold> so tX should integrate nicely
+                 with your GNOME 2 desktop. This release still builds with
+                 the old gtk+ 1.2, too, but I don't plan to support it
+                 much longer.
+               </para>
+             </listitem>
+           </itemizedlist>
+        
+           <screenshot filename="shot-3.73-1.png">
+             <nopara>Minimizing controls to save space</nopara>
+           </screenshot>
+        
+         <itemizedlist>              
+             <listitem>
+               <para>I reworked the GUI a bit in order to make
+                 terminatorX fit better on those small DJ-laptop
+                 displays. Audio and control panels can now be minimized to 
+                 a <bold>panel bar</bold> to save space - works just like
+                 GNOME's window list. The panel bar status is
+                 stored within setfiles and restored upon
+                 loading. Additionally the buttons of the audio panel have
+                 been restructured. To lighten up the GUI five
+                 buttons have been merged into <bold>two</bold> - on
+                 clicking one of these you'll get a popup menu with all
+               previous functionality.
+               </para>
+           </listitem>
+           <listitem>
+             <para>
+               After spending an evening with Adrian in front of his
+               big endian system fixing the audiofile loading
+               routines, I decided that loading audiofiles through a
+               pipe is an ugly hack. Therefor I wrote <bold>three new audiodfile
+               loading methods</bold> that utilize libraries instead of pipes. These
+               are <link ref="http://www.mars.org/home/rob/proj/mpeg/">
+                 mad</link> (for mp3 files), 
+               <link ref="http://www.xiph.org/ogg/vorbis/">libvorbis</link>
+               (for OGG/Vorbis files) and 
+               <link ref="http://www.68k.org/~michael/audiofile/">
+                 libaudiofile</link> (for wav/aiff/au etc.). Using these
+               routines instead of the old ones brings the following
+               advantages:
+               <itemizedlist>
+                 <listitem>
+                   <para>loading audiofiles is significantly <bold>faster</bold></para>
+                 </listitem>
+                 <listitem>
+                   <para>terminatorX now evaluates the <bold>sample rate</bold> of an
+                     audiofile and adjusts the turntable's pitch
+                     accordingly (this does not affect the regular
+                     &quot;pitch&quot; setting btw)
+                   </para>
+                 </listitem>
+                 <listitem>
+                   <para>the new routines provide much better <bold>visual
+                     feedback</bold> on the loading progress
+                   </para>
+                 </listitem>
+               </itemizedlist>
+               Additionally more file formats are supported, so I
+               strongly recommend installing the libraries mentioned
+               above to improve terminatorX' usabilty.
+             </para>         
+           </listitem>
+             <listitem>
+             <para>Slowly approaching terminator<bold>XML</bold>: the
+                 configuration file (now <italic>~/.terminatorXrc</italic>)
+                 is no longer binary but an XML document. This is necessary
+                 to become more flexible in the future - and it allows
+                 editing your terminatorX configuration with a text editor - if
+                 you want to. Of course, terminatorX now requires
+                 <link ref="http://www.libxml.org">libxml</link> to be installed. For
+                 convenience this release still reads the old binary config
+                 and stores it as an XML document on exit. I plan to move
+                 the set file format to XML soon, too.
+               </para>
+             </listitem>             
+             <listitem>
+               <para>I completely rewrote the <italic>tX_engine</italic> in
+                 order to allow installing terminatorX <bold>suid
+                   root</bold>. This way terminatorX can run with
+                 realtime scheduling policy even for unprivileged
+                 users. Right after creation of the engine thread
+                 terminatorX drops root privileges - so it might even
+                 be safe to install terminatorX suid root - but I'll
+                 leave that up to security experts to decide. For a
+                 more detailed discussion read 
+               <link ref="faq.html#11">this FAQ entry</link>.
+               </para>
+             </listitem>
+           <listitem>
+             <para>
+               Playing around with the wonderful 
+               <link ref="http://www.povray.org">povray</link> a bit I
+               came up with a new logo for terminatorX. The icons have
+               been replaced, too - the new ones should be easier for
+               your desktop perception.
+             </para>
+           </listitem>
+             <listitem>
+               <para>
+                 Thanks to
+                 <person><name>Adrian</name><email>adrian@lisas.de</email>
+                 </person> terminatorX now has a <bold>manpage</bold>.
+               </para>
+             </listitem>
+           </itemizedlist>
+         </para>
+         <para>
+           A lot of bug fixing went into this release, too, most notably:
+         <itemizedlist>
+           <listitem>
+             <para>An old clipping bug in the <italic>tX_dial</italic> widget code has
+               been fixed.
+             </para>
+             </listitem>
+             <listitem>
+               <para>This release builds, runs and loads audiofiles on big endian architectures.
+               </para>
+             </listitem>
+           <listitem>
+             <para>terminatorX should now build from scratch not only
+               on Linux but on FreeBSD, too. Thanks to <person>
+                 <name> Tilman Linneweh</name><email>tilman@arved.de</email></person>
+                 for testing.
+             </para>
+           </listitem>
+           <listitem>
+             <para>Many other fixes.
+             </para>
+           </listitem> 
+         </itemizedlist>
+           Have a look at the <link ref="ChangeLog">ChangeLog</link>
+           for more details and grab the tarball or the RPMS from the 
+           <link ref="download.html#Current Version">download
+             section</link>.
+         </para>
+         <para>Aside of the release I'd like to bring to your attention
+           that 
+           <person><name>Mike
+               Furr</name><email>mfurr@debian.org</email></person> 
+           is now maintainer of the
+           <link ref="http://packages.debian.org/unstable/sound/terminatorx.html">
+             terminatorX Debian package</link>. So if you're a Debian
+           user you may want to <italic>apt-get</italic> this release -
+           if you install <italic>unstable</italic> packages at all and
+           when your local mirror has been updated.
+         </para>
+         <para>
+           For new terminatorX users 
+           <person><name>Brian</name><email>bredfern@calarts.edu</email></person>
+           has created a wonderful step-by-step 
+           <link ref="http://www.boosthardware.com/LAU/quicktoots/toots/tx_toot/tx_toot1.html">
+             &quot;terminatorX TOOT&quot; tutorial</link> - reading that will accelerate
+           the creation of your first scratch considerably.
+         </para>
+       </newstext>
+      </newsitem>
+      
+      <newsitem>
+       <newsheader date="31 Jul"><link ref="turntable.html">Turntable gallery</link> online and a fresh
+       <link ref="scratches.html">scratch</link>
+       </newsheader>
+       <newstext>
+               <para>
+               I finally managed to hack the website's DTD and XSLT stylesheet to support
+               the <link ref="turntable.html">users' turntable section</link>. Now that it's easy
+               to update, please keep these turntable images coming in! I'd really like
+               to see more of your turntables.
+               </para>
+               <para><person><name>Brian</name><email>bredfern@calarts.edu</email></person> - 
+               a California based terminatorX DJ - has contributed a very cool scratch
+               for the <link ref="scratches.html">scratches section</link>. It's just an
+               excerpt of a complete drum and bass set that is available at Brian's 
+                <link ref="http://asapien.org">website</link> - which seems to be down currently.
+                In case it doesn't come up again I'll mirror the complete set here, too.
+               </para>
+               <para>
+               <italic>The names have been changed to protect the innocent...</italic> from
+               <bold>spamming</bold>. The XSLT stylesheet now mangles all email addresses
+               on this site except for mine - if you've seen a correct email address before
+               you should be able to recover the real address easily. BTW if you're a spam
+               victim, too, add the incredible <link ref="http://spamassassin.org">spamassassin</link>
+               to your <italic>.procmailrc</italic> and spam won't annoy you anymore.
+               </para>
+               <para>On terminatorX news Version 3.73 should be ready for release RSN! It will
+               probably still lack native ALSA support, though.
+               </para>
+       </newstext>
+      </newsitem>
+      <newsitem>
+       <newsheader date="05 jan">happy new year: 
+         <link ref="download.html#Current Version">terminatorX V3.72</link> is here.
+       </newsheader>
+       <newstext>
+         <para>
+           Hope everybody had a nice start into 2002, these are the changes
+           that come with terminatorX release 3.72 
+           (for details check the <link ref="ChangeLog">ChangeLog</link>):
+           <itemizedlist>
+             <listitem>
+               <para>Thanks to a patch from <person>
+                   <name>Matthew Evans</name>
+                   <email>activesx@hotmail.com</email>
+                 </person>
+                   terminatorX finally supports loading
+                   <link ref="http://www.vorbis.com">Ogg Vorbis</link>
+                   audiofiles. Note that this feature requires ogg123
+                   (>= RC2)
+                   and <link
+                   ref="http://sox.sourceforge.net">sox</link>
+                   installed. The very fresh RC3 release of Ogg Vorbis
+                   works just fine, too.
+               </para>
+             </listitem>
+             <listitem>
+               <para><person><name>Adrian</name>
+                   <email>adrian@lisas.de</email></person> once again
+                   submitted code to the project: terminatorX now
+                   features <bold>mute</bold> and <bold>solo</bold>
+                   buttons for each turntable's mixing unit. The
+                   initial patch had some problems with the already
+                   existing mute-function in terminatorX, therefor I
+                   extended the turntable in such a way that the new
+                   buttons <bold>only affect current mixing</bold> -
+                   the sequencer will not record any events for them.
+               </para>
+             </listitem>
+             <listitem>
+               <para>I updated the XInput code to work with XFree86 >
+                 4. terminatorX now uses the
+                 <italic>xsetpointer</italic> binary that comes with 
+                 XFree86 to switch the core pointer - as the old code
+                 doesn't work with newer XFree86 releases anymore. 
+                 <italic>configure</italic> should auto-detect 
+                 <italic>xsetpointer</italic> if it's available.
+                 <bold>Note:</bold> You only need to specify an
+                 additional XInput Device in the options dialog if you
+                 want to use a scratching device other than your
+                 mouse. (Yeah, I know, I state that in the docs,
+                 tooltips, everywhere - but I still get bug reports
+                 related to that issue...)
+               </para>
+             </listitem>
+             <listitem>
+               <para>Updated mpg123 loading routines that should work
+                 with <link ref="http://mpg321.sourceforge.net">mpg321</link>
+                 (which many distros install instead of
+                 mpg123 these days), too. Note that you'll have to have 
+                 <link ref="http://sox.sourceforge.net">sox</link>
+                 installed in order to get mp3-loading to work (As
+                 mpg321 doesn't support mpg123's <italic>-m</italic>
+                 switch).
+               </para>
+             </listitem>
+             <listitem>
+               <para>fixes for misc bugs (writing broken .wav's on big
+               endian machines, gcc >= 3.x compile fixes, some gtk+
+               cleanups, etc.)
+               </para>
+             </listitem>
+           </itemizedlist>
+         </para>
+         <para>Grab the sources or the fresh RPMs (Thanks,  
+           <person><name>Adrian</name><email>adrian@lisas.de</email>
+           </person>!) from the <link ref="download.html#Current Version">download
+           section</link>.
+         </para>
+         <para>Initially I planned to integrate native <link
+         ref="http://www.alsa-project.org">ALSA</link>-support into
+         this release but I simply failed to finish. As many people 
+         wanted to have some of the above features early I decided to
+         release it without ALSA now, as I'll be busy for the upcomming 
+         weeks. I haven't given up on ALSA though, hopefully the next
+         terminatorX release will feature a new audiodevice backend
+         that supports ALSA (V0.9) <bold>and</bold> OSS and brings many 
+         other adtvantages.
+         </para>
+         <para>The website has undergone minor updates, too:
+           <itemizedlist>
+             <listitem>
+               <para>The section header's now should look fine with
+                 <link
+                 ref="http://www.mozilla.org">Mozilla</link>-based
+                 browsers. They might look funny with older netscapes, though.
+               </para>
+             </listitem>
+             <listitem>
+               <para>Updated the 
+                 <link ref="screenshots.html">screenshots</link> as
+                 people started asking howto achieve that old tX V3.5
+                 layout :)
+               </para>
+             </listitem>
+             <listitem>
+               <para>Minor fixes to make W3C's validator accept the
+               pages again, and a favicon that needs some improvement.</para>
+             </listitem>
+           </itemizedlist>
+         </para>
+       </newstext>
+      </newsitem>
+       
+      <newsitem>
+       <newsheader date="20 jun">New scratches, turntables &amp; FAQ updates
+       </newsheader>
+       <newstext>
+         <para>Hey, it seems that the <link ref="turntable.html">turntable
+             section</link> inspires quite some of you to build your own
+           tX-turntables - which is <bold>really cool</bold>! So I plan to
+           provide an additional <italic>users' turntables</italic>-section
+           ASAP. Now <person><name>Fernando</name>
+             <email>ffabreti@yahoo.com.br</email>
+           </person> not only sent me a cool
+           fresh <link ref="aint.mp3">scratch</link> you can grab from the
+           <link ref="scratches.html">users' scratches-section</link> but also
+           pictures from his turntable. Take a look at his turntable
+           in the <link ref="fernando.html">turntable section
+           </link>. In case <bold>you</bold> built
+           your own turntable already, please
+           <link ref="mailto:alex@lisas.de">send</link>
+             me some images of it - I'm
+           really keen on seeing what your turntables look like.
+         </para>
+         <para>
+           <person>
+             <name>Dr. Uggs</name>
+             <email>jesset@katapultz.org</email>
+           </person> visited the <link ref="scratches.html">users'
+             scratches-section</link> a while ago, too, and decided to
+           contribute his own scratch - not created with terminatorX but a
+           <bold>real</bold> turntable. I thought this fine scratch should
+           be up here, too - not in the users' scratches section though as
+           it's not a user-scratch. So you can listen to it right
+           <link ref="earth.mp3">here</link> - it's a good chance to compare
+           a real turntable's sound against terminatorX.
+         </para>
+         <para>If you have problems getting your mouse to actually scratch
+           with terminatorX, I have some hints on this issue in the
+           <link ref="faq.html">FAQ-Section</link> now.
+         </para>
+       </newstext>
+      </newsitem>
+      
+      <newsitem>
+        <newsheader date="22 mar">Fresh <link ref="download.html#Current Version">
+            RPMs</link> (for i586 and Sparc machines)
+        </newsheader>
+        <newstext>   
+          <para>
+               The RPMs for the current release have undergone some refinement by
+            <person><name>Mr. RPM</name><email>adrian@lisas.de</email></person>
+               himself. In addition to updating the spec-files he built
+               the current release on his very own Sparc, so there is a
+               Sparc RPM available now, too.
+       </para>
+       <para>
+               As always the RPMs are available from the 
+               <link ref="download.html#Current Version">
+               download section.</link>
+       </para>
+        </newstext>
+      </newsitem>  
+
+      <newsitem>
+       <newsheader date="20 mar"><link ref="download.html#Current Version">
+           RPMs</link> for Version 3.71 available 
+       </newsheader>
+       <newstext>
+         <para>Faster than ever before
+           <person><name>Adrian</name><email>adrian@lisas.de</email></person>
+           has produced the rpms for the new release. The i586 and src RPMs
+           are available from the <link ref="download.html#Current Version">
+           download section</link>. These are V4-RPMs again - if you've got
+           a problem with them read the news below (from dec 18) for
+           more details on how to install V4-RPMs on a RPM-V3 systems.
+         </para>
+         <para>Sparc-Owners may be pleased to hear that there should be RPMs
+           for their platform sometime tomorrow.
+         </para>
+       </newstext>
+      </newsitem>
+      
+      <newsitem>
+       <newsheader date="20 mar">left, right, left, right...
+         <link ref="download.html#Current Version">
+           terminatorX V3.71</link> is up.
+       </newsheader>
+       <newstext>
+         <para>
+           Yep, a new release is here that brings the <bold>very latest</bold>
+           in HIFI technology: <italic>STEREO</italic>-operation ;) 
+         </para>
+         <para>
+           List of changes (for more details see the
+           <link ref="ChangeLog">ChangeLog</link>)
+           <itemizedlist>
+             <listitem>
+               <para>So tX is <bold>stereo</bold> now, producing stereo
+                 output for your soundcard and recording stereo
+                 wavfiles of course. The "pan" knobs for each turntable now
+                 actually <italic>do something</italic>. If you had
+                 terminatorX installed before you might have to
+                 increase the buffer size setting to fit stereo playback.
+               </para>
+             </listitem>
+             <listitem>
+               <para>The new release has a patch from <person><name>Adrian
+                     Reber</name><email>adrian@lisas.de</email></person>
+                 applied, that fixes some issues with newer gcc releases, some
+                 minor bugs and cleans up the startup switches (there are
+                 some new ones, too - run <italic>terminatorX --help</italic>
+                 for more details). 
+               </para>
+             </listitem>
+             <listitem>
+               <para>The echo effect received <bold>two new controls</bold>:
+                 a pan-control - to allow positioning the echo-signal at
+                 position in the stereo panorama that differs from the
+                 turntable's main pan-position - and an additional volume
+                 parameter for the echo-signal.
+               </para>
+             </listitem>
+             <listitem>
+               <para>The built-in effects now <bold>clear their buffers</bold>
+                 on enabling
+                 to ensure that NANs (that some LADSPA plugins may create
+                 under certain conditions) do not get stuck in there.
+               </para>
+             </listitem>
+             <listitem>
+               <para>Documentation updates and more bugfixes.
+               </para>
+             </listitem>
+           </itemizedlist>
+         </para>
+         <para>As the handling of the echo effect is somewhat special now, I
+           used <link ref="http://www.lysator.liu.se/~alla/dia/">dia</link>
+           and
+           <link ref="http://www.gimp.org">the gimp</link> to create a little graphic
+           to clear things up a bit (the manual contains a textual
+           description, too):
+           <screenshot filename="signalflow.jpg">
+             <nopara>tX signal routing</nopara>
+           </screenshot>
+         </para>
+         <para>RPMs will be available soon.</para>
+       </newstext>
+      </newsitem>
+
+<!--      <newsitem>
+       <newsheader date="18 dec"><link ref="download.html#Current Version">
+           RPMs</link> done and some remixes.
+       </newsheader>
+       <newstext>
+         <para>
+           <person><name>Adrian</name><email>adrian@lisas.de</email></person>
+           set me up with the rpms for Version 3.70. Note that these are
+           RPMV4-rpms designed for RedHat 7.0. If you want to use these with
+           RedHat 6.1/6.2 you'll have to upgrade to rpm-3.0.5. You can
+           download the official RedHat-rpm-updates from right here, as this
+           server mirrors the RedHat updates (<link ref="ftp://rhlx01.fht-esslingen.de/Mirrors/updates.redhat.com/6.1/i386/">6.1</link>,
+           <link ref="ftp://rhlx01.fht-esslingen.de/Mirrors/updates.redhat.com/6.2/i386/">6.2</link>). Then grab the terminatorX-3.70-rpms from the
+           <link ref="download.html#Current Version">download section</link>.
+         </para> 
+         <para>
+           <person><name>Sean</name><email>sean@frazmtn.com</email></person>
+           sent me a mail sometime ago about his
+           <link ref="http://ns.ownerguard.com/~sean/">site</link>
+           where he offers some cool remixes he made (with terminatorX). Go
+           and <link ref="http://ns.ownerguard.com/~sean/">check them
+             out</link>.
+         </para>
+       </newstext>
+      </newsitem>
+
+      <newsitem>
+       <newsheader date="20 nov">It's done. 
+         <link ref="download.html#Current Version">terminatorX</link> V3.70
+         is here.
+       </newsheader>
+       <newstext>
+         <para>Yeah, I know, it's been a while, and sorry to everybody I told
+           something about "two weeks", "next week" or even "tomorrow". I mean
+           at least it's here before the 2.4.0-final kernel ;)
+         </para>
+         <para>
+           <screenshot filename="screenshot_v3.7.jpg">
+             <nopara>the new GUI with the plugin list popped up</nopara>
+           </screenshot>
+         </para> 
+         <para>Now, <italic>finally</italic> terminatorX <bold>Version
+             3.70</bold> is available for download. This release brings the
+           following new features:
+           <itemizedlist>
+             <listitem>
+               <nopara>The most exciting new feature is <bold>LADSPA plugin
+                   support</bold>. Note that this means terminatorX requires
+                 the LADSPA-SDK (ladspa.h to be exact) to build. Get the
+                 LADSPA-SDK from the <link ref="http://www.ladspa.org">LADSPA
+                   homepage</link> (untar; cd src; make
+                 install). Oh and while you're there why not grab
+                 <link ref="http://www.ladspa.org/cmt/">CMT</link> and all
+                 those other plugins available, too? Note that you can record
+                 sequencer events for controls of LADSPA plugins just like for
+                 the built-in effects.
+               </nopara>
+             </listitem>
+             
+             <listitem>
+               <nopara><bold>Editable effect stack</bold>. To allow nice
+                 integration of LADSPA-plugins with the built-in effects, all
+                 effects now reside in the turntable's <bold>effect
+                   queue</bold>. The effect-processing sequence can be edited
+                 easily (with the two blue arrows). LADSPA plugins can be
+                 inserted at any position in that sequence. Press the <italic>
+                   FX</italic>-button to load a plugin.
+               </nopara>
+             </listitem>
+             
+             <listitem>
+               <nopara>A <bold>GUI redesign</bold> again. This was necessary
+                 to support dynamic addition/removal of the plugin GUIs.
+                 Additionally you can now <bold>enter precise values</bold>
+                 for each parameter adjustable via a dial into a
+                 text entry widget alternatively. Another plus of the new GUI
+                 is, that you can configure it to display only those controls
+                 you want to see.
+               </nopara>
+             </listitem>
+
+             <listitem>
+               <nopara>The mouse-axis-to-parameter mapping is no longer
+                 hardcoded. You can now map <bold>any parameter</bold>
+                 considered mappable to the mouse-axis of your choice. This
+                 includes plugins' controls.
+               </nopara>
+             </listitem>
+
+             <listitem>
+               <nopara>The old README has gone. I moved the info there into a
+                 <bold>SGML/DocBook manual</bold>. The distribution comes with
+                 the HTML and the postscript version of that manual. The HTML
+                 version is available <link ref="doc/index.html">here</link>,
+                 too.
+               </nopara>
+             </listitem>
+
+             <listitem>
+               <nopara><bold>Tooltips</bold> for the new GUI.</nopara>
+             </listitem>
+
+             <listitem>
+               <nopara>
+                 <person><name>Josh Steiner</name>
+                   <email>joschi@eds.org</email></person>
+                 has added some <bold>startup switches</bold> for terminatorX.
+                 Try -<italic>-help</italic> for more details.</nopara>
+             </listitem>
+           </itemizedlist>
+         </para>
+
+         <para>If you want to create your very own plugins without writing a
+           single line of code checkout the <italic>excellent</italic>
+           <link ref="http://www.gdam.org">GDAM</link>.
+         </para>
+
+         <para>Ok, now grab the new release from the
+           <link ref="download.html">download</link> section and have fun - I
+           invested quite some time in polishing so I hope there are no bigger
+           flaws in it - but you never know ;).
+         </para>
+         <para>
+           I'll put some news up here as soon as the rpms for the new release
+           are finished.
+         </para>
+       </newstext>
+      </newsitem>
+
+      <newsitem>
+       <newsheader date="24 sep">website re-done &amp; some news</newsheader>
+       <newstext><para>Although hardly visible this website was completely
+           re-done. I ported this site to set of XML-files and an
+           XSLT-stylesheet, as this way it should be easier to maintain. Oh
+           yeah and finally frames and gifs are gone forever.
+         </para>
+         <para>
+           There might be some new bugs on this website, due to the re-design,
+           so please let me know about lousy layout in some browsers, dead
+           links or whatever, thanks!
+         </para>
+         <para>The page-contents was updated, too. People with list-linkage
+           or compile errors please take a look at the updated
+           <link ref="faq.html">FAQ</link>.
+         </para>
+         <para><bold>On terminatorX:</bold> Ok, the next release with
+           <link ref="http://www.ladspa.org">LADSPA</link>-plugin-support,
+           should be finished by next week. The GUI redesign is done, plugins
+           work nicely, just some polishing and doc-clearup is left to do.
+           Stay tuned.
+         </para>
+       </newstext>
+      </newsitem>
+
+      <newsitem>
+       <newsheader date="12 apr">
+         terminatorX V3.60  is here and 6.000 samples
+       </newsheader>
+       <newstext>
+         <para>Sorry, this tarball is finished for quite some time now - but
+           I was too busy for updating.<newline/>
+           <italic>Now 3.60 is here and has some brandnew features:</italic>
+           <itemizedlist>
+             <listitem><nopara>Finally the <bold>Sequencer</bold>
+                 is available. You can now record/dub events for <italic>
+                   scratching, volume, effects (cutoff etc.), sync settings,
+                 </italic> etc. </nopara>
+             </listitem>
+             <listitem><nopara>New <bold>dial widget</bold> - I designed it
+                 for the upcoming GUI redesign - but
+                 I liked it so much I decided to let you betatest it right
+                 now ;) -
+                 configuring with -<italic>-disable-dial</italic> will give
+                 you the plain gtk+ scales
+                 again. </nopara>
+             </listitem>
+             <listitem><nopara>Some <bold>pixmaps</bold> for the main
+                 operation buttons. These can be disabled
+                 in in the Options-dialog. </nopara>
+             </listitem>
+             <listitem><nopara>Some <bold>soundfile-editor integration</bold>:
+                 You can now start your favourite
+                 soundfile-editor with the soundfile loaded in a turntable
+                 with just one
+                 click. If your looking for an soundfile editor check out
+                 Dave&apos;s
+                 <link ref="http://www.bright.net/~dlphilp/linuxsound/">Linux
+                   Sound and Midi Pages</link></nopara>
+             </listitem>
+             <listitem><nopara><bold>Enhanced 3DNow! support</bold>: the mixer
+                 routine is now 3<italic>DNow!</italic>-optimized too,
+                 increasing 3DNow! performance gain from a
+                 fromer 5% to more than 20%.</nopara>
+             </listitem>
+             <listitem><nopara>Big Endian support is back finally.
+                 <person>
+                   <name>Scott</name>
+                   <email>scknight@indiana.edu</email>
+                 </person> got it running on PPCs again.</nopara>
+             </listitem>
+             <listitem><nopara>Some<bold> GUI cleanups</bold>. Should now fit
+                 on smaller displays, too.</nopara>
+             </listitem>
+           </itemizedlist>
+           The following <italic>long-outstanding bugs</italic> have been
+           fixed: 
+           <itemizedlist>
+             <listitem>
+               <nopara>segfault on load / drag&apos;n&apos;drop is
+                 <bold>fixed</bold></nopara>
+             </listitem>
+             <listitem><nopara>zombie mpg123 and sox processes are <bold>
+                   killed</bold></nopara>
+             </listitem>
+             <listitem><nopara>constant lowpass-signal <bold>fixed</bold>
+               </nopara>
+             </listitem>
+             <listitem><nopara>and more...</nopara>
+             </listitem>
+           </itemizedlist>
+         </para>
+         <para>
+           <person><name>Erik</name>
+             <email>e@osterman.com</email>
+           </person> sent me a note to inform me about his <bold>huge</bold>
+           <italic>sample-archive</italic>
+           (<link ref="http://ftp.osterman.com/pub/music/samples">http</link>/<link ref="ftp://ftp.osterman.com/pub/music/samples">ftp</link>).
+           They have more than 6.000 samples at the moment and if you want to
+           put up a mirror send him a note. 
+         </para>
+         <para>Speedy <person><name>Adrian</name>
+             <email>adrian@lisas.de</email></person> has
+           compiled the already available RPMs for V3.60. </para>
+       </newstext>
+      </newsitem> -->
+    </news>
+  </main>
+</section>
+
diff --git a/website/pix/.xvpics/new.png b/website/pix/.xvpics/new.png
new file mode 100644 (file)
index 0000000..e66a1a8
--- /dev/null
@@ -0,0 +1,5 @@
+P7 332
+#IMGINFO:51x30 RGB (2823 bytes)
+#END_OF_COMMENTS
+51 30 255
+I$IIÛ¶¶¶IH%IÛ¶¶Ú%HI%Û¶Ú¶%HII·Ú¶¶%HIIÛ¶¶¶I$IIÛ¶¶Û$I$I$IIÛ¶¶¶IH%IÛ¶¶Ú%HI%Û¶Ú¶%HII·Ú¶¶%HIIÛ¶¶¶I$IIÛ¶¶Û$I$I$IIÛ¶¶¶IH%IÛ¶¶Ú%HI%Û¶Ú¶%HII·Ú¶¶%HIIÛ¶¶¶I$IIÛ¶¶Û$I$I$IIÛ¶¶¶IH%IÛ¶¶Ú%HI%Û¶Ú¶%HII·Ú¶¶%HIIÛ¶¶¶I$IIÛ¶¶Û$I$Û¶¶¶I$IIÛ¶¶Ú%H%IÛ¶ÚÀÈÄÈÄÄèÅÄÄÈ)IÖ»ÀèÈ%I(Û¶ä»$IH%Û¶ÚÛ¶¶¶IÈñÔÒÌèÈÍÑõÌÍÈÑðÒÐñÑÕìÑÍôÑÑÈÉìÑÑñÐÍÄÌñÑÕñÈ)Iº×¶Û¶¶¶IÐöÙöÙÍÌÑúÙúÑÌÕúÚùúÚúÕõÕÚúÙÑìÑÚúùÖÐÍñÙÚúÕÑ$IÛ¶ÚÛ¶¶¶äÕÚÿþúÕìÚûþÿÔÑúúÿßÿÿþúÙûþÿúÕÑõÿþßÿðÑÕÿþÿúÐÉ(Û¶×I$IIäÕúßÿþõÑùßÿÿôÑúßÿÿþûÿùÚúÿþÿÕÑùÿÿÿÿÔÑúþûÿÞðź%HII$IIäÕúßÿÿùÕùûÿÿÔÑúÿÿÿþÙöÕÕùÿÿûÙõÕÿÿÿÿùÑÙÿÿÿùÍÈ·H%II$IIäÕúßÿÿúùÙÿÿûØñÖÿÿþþÑÍìÑõßÿÿùÕúÿÿÿþÖøÛþûÿùÑÀ»$IHI$IIäÕúßÿÿþúÙÿÿûøÑÖÿÿþúÕÄèÌÖÿÿþúÕþÿÿÿûÙùÚÿÿþöÌÄ»$IEÛ¶¶¶äÕúßÿÿÿùÿþÿÛôÕöÿÿÿÝöÐíÌÖþÿÿúÙúÿÿÿÿÙúúßÿþõÌÁ(Û¶·Û¶¶¶äÕúßÿÿÿþûÿÿþÕðÚÿÿÿÿÙúÕíÙúÿÿÞùûÿÿÿþÚúþßÿúõÌ%IÚ·ºÛ¶¶¶äÕúßÿÿÿÿþûÿÿÔñÚÿÿÿÿþÿÕñÕþÿÿÚþúÿÿÿþÚþúÿÿÚõÈ)IÛ¶¶Û¶¶¶äÕúßÿÿþÿÿûÿÿÔñÚÿÿÿþÿúÕÑõÚÿÿþúÿþÛþÿþúÞÿÿúÕä)H·Û¶I$IIäÕúßÿþûÿþÿÿÿÔñÚÿÿÿúÙùÍÌñÚÿÿÿþÿúÞúÿþÚÿÿÿùÑÈÛ¶%HII$IIäÕúßÿúþþÿÿÿÛøÑöÿÿþÚõÈÈÄñÚÿÿûþÿþÚùÿÿÚÿÿÿùÑÄ»Ö$I)I$IIäÕúßÿùúÞÿÿÿÿôÑúßûþþÍÈàÄÐÖÿÿÿÿþÿÕùÿÿúÿßÿùÍÄÛº$IEI$IIäÕúßÿùúÙÿÿÿÿÔñÚÿÿþúÕíÈÈÍùÿÿßÿÿúõÙúÿÿÿÿßõÌÄÛ¶%HIÛ¶¶¶äÕúßÿùõÚÿÿþÿÕðÚÿÿÿúÚùÕÍðÖþÿÿÿûÞñÕþÿÿûÿþÙÉÄI(׺×Û¶¶¶äÕúßÿùÕõÿÿÿÚùÑõÿÿÿßÿþúÕíÙúÿÿÿÿÚðÕúÿÿßÿúõÍ(EI»ÖºÛ¶¶¶äÕÚÿþúÐÒýûÿþÕÑõÿÿÿþßÿúÕìÖþûþÿßùÍðÚÿúÿÿÞñÌ%IH»Ö·Û¶¶¶IÐöÙúÑÑÌÕúúÙÑÍôÛùÚúÙúÖðÍÐÖúÙûùÕÈÍÕùÚúúÕÑÈ)HEÛº·I$IIÛÈÐÒðÑÈÈíÑÕÐéÈÑÑðÑÑõÑÐÍäÌÍÕñÑÑìÈÄÑÑñÑÔíͺ·Öº$IEI$IIÛ¶¶¶IH%IÛÄÄ»D)HåÈÄÈäÈ%I)Ú·äÈÄÈ%IÚ·ÄÈäÈ%Iº×¶ºE(II$IIÛ¶¶¶IH%IÛ¶¶Ú%HI%Û¶Ú¶%HII·Ú¶¶%HIIÛ¶¶¶I$IIÛ¶¶Û$I$I$IIÛ¶¶¶IH%IÛ¶¶Ú%HI%Û¶Ú¶%HII·Ú¶¶%HIIÛ¶¶¶I$IIÛ¶¶Û$I$Û¶¶¶I$IIÛ¶¶Ú%H%IÛ¶Ú¶%HI%Û¶Ú¶%HII·Ú¶¶I$IIÛ¶¶·HI$IÛ¶¶Û¶¶¶I$IIÛ¶¶Ú%H%IÛ¶Ú¶%HI%Û¶Ú¶%HII·Ú¶¶I$IIÛ¶¶·HI$IÛ¶¶
\ No newline at end of file
diff --git a/website/pix/new.png b/website/pix/new.png
new file mode 100644 (file)
index 0000000..a16eec0
Binary files /dev/null and b/website/pix/new.png differ
diff --git a/website/pix/tX_logo.jpg b/website/pix/tX_logo.jpg
new file mode 100644 (file)
index 0000000..60302f8
Binary files /dev/null and b/website/pix/tX_logo.jpg differ
diff --git a/website/pix/vinyl-highlight.png b/website/pix/vinyl-highlight.png
new file mode 100644 (file)
index 0000000..e56ccdb
Binary files /dev/null and b/website/pix/vinyl-highlight.png differ
diff --git a/website/pix/vinyl-hover.gif b/website/pix/vinyl-hover.gif
new file mode 100644 (file)
index 0000000..052eca8
Binary files /dev/null and b/website/pix/vinyl-hover.gif differ
diff --git a/website/pix/vinyl-spacer.png b/website/pix/vinyl-spacer.png
new file mode 100644 (file)
index 0000000..c96fc95
Binary files /dev/null and b/website/pix/vinyl-spacer.png differ
diff --git a/website/pix/vinyl.png b/website/pix/vinyl.png
new file mode 100644 (file)
index 0000000..c2dbd9f
Binary files /dev/null and b/website/pix/vinyl.png differ
diff --git a/website/scratches.xml b/website/scratches.xml
new file mode 100644 (file)
index 0000000..358c4ae
--- /dev/null
@@ -0,0 +1,235 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE section SYSTEM "./tX.dtd"[
+]>
+<section name="scratches">
+  <scratches>
+    <para><bold>Yeah, Boy!</bold> (talking <link ref="http://www.publicenemy.com/soldiers/flavor.php">flavor</link>, here)</para>
+    <para>Here are the current &quot;users scratches&quot;. So you think
+      these are not enough? Right, Ok, so do something about it! Read the text
+      below if you want to send me what you created with terminatorX.
+    </para>
+
+    <scratchtable>
+       <scratch>
+       <mp3file>
+               <file>asapien_scratch.mp3</file>
+               <filesize>544kB</filesize>
+       </mp3file>
+               <author>
+                       <person>
+                       <name>Brian Redfern</name>
+                       <email>bredfern@calarts.edu</email>
+                       </person>
+               </author>
+               <comment>
+               <nopara>This scratch is just a sample of a full 45min
+               terminatorX set, which is available it at the 
+               <link ref="http://asapien.org">author's website</link>.
+               </nopara>
+               <tinycomment>The whole set is terminatorX plus an external
+               reverb box.
+               </tinycomment>
+               </comment>
+       </scratch>      
+       
+      <scratch>
+       <mp3file>
+         <file>aint.mp3</file>
+         <filesize>848kB</filesize>
+       </mp3file>
+       <author>
+         <person>
+           <name>Fernando S. Fabreti</name>
+           <email>ffabreti@yahoo.com.br</email>
+         </person>
+       </author>
+       <comment>
+         <nopara>Aint no DJ but love to scratch!</nopara>
+         <tinycomment>
+           <nopara>created with his <link ref="turntable.html">
+             own turntable</link>.
+           </nopara>
+         </tinycomment>
+       </comment>
+      </scratch>
+      
+      <scratch>
+       <mp3file>
+         <file>jazzyscratch.mp3</file>
+         <filesize>550kB</filesize>
+       </mp3file>
+       <author>
+         <person>
+           <name>Gregory A. Aluise</name>
+           <email>aluise@udel.edu</email>
+         </person>
+         <tinycomment>
+           <nopara>alias <italic>DJ Giant 'G'</italic> of the 
+             <link ref="http://farnkyboyz.virtualave.net">FarnkyBoyz</link>
+           </nopara>
+         </tinycomment>
+       </author>
+       <comment>
+         <nopara>From the <link ref="http://farnkyboyz.virtualave.net">
+             Farnky Boyz'</link> upcoming Album
+         </nopara>
+       </comment>
+      </scratch>
+
+      <scratch>
+
+       <mp3file>
+         <file>this.mp3</file>
+         <filesize>1.4MB</filesize>
+       </mp3file>
+       <author>
+         <person>
+           <name>me</name>
+           <email>alex@lisas.de</email>
+         </person>
+         <tinycomment>
+           <nopara><italic>again ;)</italic>
+           </nopara>
+         </tinycomment>
+       </author>
+       <comment>
+         <nopara>my 3.5 demo</nopara>
+       </comment>
+      </scratch>
+      
+      <scratch>
+       <mp3file><file>cutitup.mp3</file>
+         <filesize>780kB</filesize>
+       </mp3file>
+       <author>
+         <person>
+           <name>Gregory A. Aluise</name>
+           <email>aluise@udel.edu</email>
+         </person>
+         <tinycomment>
+           <nopara>alias <italic>DJ Giant 'G'</italic> of the
+             <link ref="http://farnkyboyz.virtualave.net">FarnkyBoyz</link>
+           </nopara>
+         </tinycomment>
+       </author>
+       <comment>
+         <nopara>Cut it up!</nopara>
+         <tinycomment>
+           <nopara><italic>&quot;Mixed in 15 min"</italic> - Wow!
+           </nopara>
+         </tinycomment>
+       </comment>
+      </scratch>
+      
+      <scratch>
+       <mp3file>
+         <file>stores.mp3</file>
+         <filesize>1.3MB</filesize>
+       </mp3file>
+       <author>
+         <person>
+           <name>Tony Lambiris</name>
+           <email>tonyl@telebot.com</email>
+         </person>
+       </author>
+       <comment>
+         <nopara>Stores Scratch</nopara>
+       </comment>
+      </scratch>
+      
+      <scratch>
+       <mp3file>
+         <file>hamsterscratch.mp3</file>
+         <filesize>80kB</filesize>
+       </mp3file>
+       <author>
+         <person>
+           <name>Will Weiser</name>
+           <email>kased811@ix.netcom.com</email>
+         </person>
+       </author>
+       <comment>
+         <nopara>Quick Hamster Scratch</nopara>
+         <tinycomment>
+           <nopara>www.hamsterdance.com</nopara>
+         </tinycomment>
+       </comment>
+      </scratch>
+
+      <scratch>
+       <mp3file>
+         <file>terminatorX.mp3</file>
+         <filesize>470kB</filesize>
+       </mp3file>
+       <author>
+         <person>
+           <name>me</name>
+           <email>alex@lisas.de</email>
+         </person>
+         <tinycomment>
+           <nopara>again</nopara>
+         </tinycomment></author>
+       <comment>
+         <nopara>Messing Public Enemy </nopara>
+         <tinycomment>
+           <nopara>or: the tX title-scratch ;)</nopara>
+         </tinycomment>
+       </comment>
+      </scratch>
+
+      <scratch>
+       <mp3file>
+         <file>interrupt.mp3</file>
+         <filesize>120kB</filesize>
+       </mp3file>
+       <author>
+         <person>
+           <name>John B. Fink</name>
+           <email>jbfink@ogre.lib.muohio.edu</email>
+         </person>
+       </author>
+       <comment>
+         <nopara>Meat Beat Manifesto Meets Orson Wells</nopara>
+       </comment>
+      </scratch>
+
+      <scratch>
+       <mp3file>
+         <file>linus.mp3</file>
+         <filesize>200kB</filesize>
+       </mp3file>
+       <author>
+         <person>
+           <name>myself</name>
+           <email>alex@lisas.de</email>
+         </person>
+       </author>
+       <comment>
+         <nopara>Linus pronounces Linux</nopara>
+         <tinycomment>
+           <nopara>from the silly sounds (see kernel archives)</nopara>
+         </tinycomment>
+       </comment>
+      </scratch>
+
+    </scratchtable>
+
+    <para>In case <bold>you</bold> want to get on the list above download terminatorX,
+      practice and record your scratching. If you believe your skills are good
+      enough <link ref="mailto:alex@lisas.de">mail</link> me your
+      best scratch. Before you do so, please: 
+      <itemizedlist>
+       <listitem>
+         <nopara>Ensure that it's not <italic>too</italic> big.</nopara>
+       </listitem>
+       <listitem>
+         <nopara><italic>mp3</italic> or <italic>ogg</italic> it. If you don't have an encoder
+           go and get, <link ref="http://www.mp3dev.org/mp3//">LAME</link>,
+           <link ref="http://bladeenc.mp3.no/">BladeEnc</link> or <link ref="http://www.xiph.org/ogg/vorbis/">OggVorbis</link> .
+         </nopara>
+       </listitem>
+      </itemizedlist>
+    </para>
+  </scratches>
+</section>
+
diff --git a/website/screenshots.xml b/website/screenshots.xml
new file mode 100644 (file)
index 0000000..0262412
--- /dev/null
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE section SYSTEM "./tX.dtd"[
+]>
+<section name="screenshots">
+  <screenshots>
+    <subsection>
+      <title>So you want to see some graphics?</title>
+
+      <para>Ok, so here are some screenshots I took of terminatorX 3.73 in
+       action. These screenshots utilze gtk+ Version 2 and the
+       wonderful Crux theme engine.
+      </para>
+
+      <para>
+
+       <screenshot filename="shot-3.73-1.png">
+         <nopara>This shows terminatorX with the sequencer
+         and live scratching in effect.</nopara>
+       </screenshot>
+
+       <screenshot filename="shot-3.73-2.png">
+         <nopara>Selecting a <link ref="http://www.ladspa.org">LADSPA</link>
+         plugin.
+         </nopara>
+       </screenshot>
+       
+       <screenshot filename="shot-3.73-3.png">
+         <nopara>Mapping a parameter to a turntable's axis. This works
+         for <link ref="http://www.ladspa.org">LADSPA</link> plugins, too.
+         </nopara>
+       </screenshot>
+
+       <screenshot filename="shot-3.73-4.png">
+         <nopara>Configuring terminatorX.</nopara>
+       </screenshot>
+
+      </para>
+    </subsection>
+  </screenshots>
+</section>
+
diff --git a/website/script.js b/website/script.js
new file mode 100755 (executable)
index 0000000..f6a039b
--- /dev/null
@@ -0,0 +1,21 @@
+rolloverImagesOn=new Array();\r
+rolloverImagesOff=new Array();\r
+\r
+function rolloverOn(id) {\r
+  if(rolloverImagesOn[id]){\r
+    document.images[id].src=rolloverImagesOn[id].src;\r
+  }\r
+}\r
+\r
+function rolloverOff(id) {\r
+  if(rolloverImagesOff[id]){\r
+      document.images[id].src=rolloverImagesOff[id].src;\r
+  }\r
+}\r
+\r
+function rolloverLoad(id,on,off) {\r
+  rolloverImagesOn[id]=new Image();\r
+  rolloverImagesOn[id].src=on;\r
+  rolloverImagesOff[id]=new Image();\r
+  rolloverImagesOff[id].src=off;\r
+}\r
diff --git a/website/sedscript b/website/sedscript
new file mode 100644 (file)
index 0000000..dacec1c
--- /dev/null
@@ -0,0 +1,6 @@
+s/REPLACELEFT/<!/
+s/REPLACERIGHT/>/
+s/CLOSE_DA_P/<\/p>/
+s/OPEN_DA_P/<p>/
+s/MAKE_THIS_MYOUML/\&ouml;/
+s/NEW_TT_ROW/<\/tr><tr>/
diff --git a/website/tX.dtd b/website/tX.dtd
new file mode 100644 (file)
index 0000000..6188739
--- /dev/null
@@ -0,0 +1,101 @@
+<!ELEMENT section (main|download|screenshots|scratches|links|faq|turntable|aseqjoy)>
+<!ATTLIST section
+  name (main|download|screenshots|scratches|links|faq|turntable|aseqjoy) #REQUIRED>
+
+<!ELEMENT main (general, news)>
+<!ELEMENT download (index, current, subsection+)>
+<!ELEMENT scratches (para*, scratchtable, para*)>
+<!ELEMENT links EMPTY>
+<!ELEMENT faq (qa+)>
+<!ELEMENT turntable (para*, turntabletable, para*)>
+<!ELEMENT aseqjoy (para*)>
+<!ELEMENT screenshots (subsection)+>
+
+<!ELEMENT scratchtable (scratch)*>
+<!ELEMENT scratch (mp3file, author, comment)>
+<!ELEMENT mp3file (file, filesize)>
+<!ELEMENT filesize (#PCDATA)>
+<!ELEMENT author (person, tinycomment?)>
+<!ELEMENT comment (nopara, tinycomment?)>
+
+<!ELEMENT turntabletable (tt)*>
+<!ELEMENT tt (author, text, ttimages)>
+<!ATTLIST tt 
+  title CDATA #REQUIRED>
+<!ELEMENT ttimages (images+)>
+  
+<!ELEMENT tinycomment (nopara)>
+
+<!ELEMENT qa (question, answer)>
+<!ELEMENT question (#PCDATA)>
+<!ELEMENT answer (para+)>
+
+<!ELEMENT index (title)>
+<!ELEMENT title (#PCDATA)>
+
+<!ELEMENT subsection (title, (para | tarfiles | rpmfiles | currentversion | file | filelist)*)>
+<!ELEMENT current EMPTY>
+<!ATTLIST current
+  version CDATA #REQUIRED
+  havebz2 (yes|no) "no">
+  
+<!ELEMENT tarfiles (tar+)>
+<!ELEMENT file (#PCDATA)>
+<!ELEMENT tar EMPTY>
+<!ATTLIST tar
+  version CDATA #REQUIRED
+  havebz2 (yes|no) "no">
+
+<!ELEMENT currentversion EMPTY>
+
+<!ELEMENT filelist (file)+>
+<!ELEMENT rpmfiles (rpm+)>
+<!ELEMENT rpm EMPTY>
+<!ATTLIST rpm
+  version CDATA #REQUIRED
+  rpmsubversion CDATA #REQUIRED
+  type (src|i386|i586|sparc) #REQUIRED>
+
+<!ELEMENT general (heading, subtitle, text)>
+<!ELEMENT heading (#PCDATA)>
+<!ELEMENT subtitle (nopara)>
+
+<!ELEMENT news (newsitem)*>
+<!ELEMENT newsitem (newsheader, newstext)>
+<!ELEMENT newsheader ( #PCDATA | link )*>
+<!ELEMENT newstext (para)+>
+<!ATTLIST newsheader
+  date CDATA #REQUIRED>
+  
+<!ELEMENT text (para)*>
+
+<!ELEMENT nopara (#PCDATA|screen|bold|red|italic|link|screenshot|person|itemizedlist|newline|file)*>
+<!ELEMENT para (#PCDATA|screen|bold|red|italic|link|screenshot|person|itemizedlist|newline|file)*>
+
+<!ATTLIST para
+  class (fancy|plain) 'fancy'>
+  
+<!ELEMENT bold (#PCDATA)>
+<!ELEMENT screen (#PCDATA)>
+<!ELEMENT italic (#PCDATA)>
+<!ELEMENT red (#PCDATA)>
+<!ELEMENT link (#PCDATA)>
+<!ATTLIST link
+  ref CDATA #REQUIRED>
+
+<!ELEMENT itemizedlist (listitem+)>
+<!ELEMENT listitem (nopara|para)+>
+<!ELEMENT newline EMPTY>
+
+<!ELEMENT screenshot (nopara)>
+<!ATTLIST screenshot
+  filename CDATA #REQUIRED>
+
+<!ELEMENT image (nopara)>
+<!ATTLIST image
+  filename CDATA #REQUIRED>
+
+
+<!ELEMENT person (name, email)>
+<!ELEMENT name (#PCDATA)>
+<!ELEMENT email (#PCDATA)>
diff --git a/website/tX.xsl b/website/tX.xsl
new file mode 100644 (file)
index 0000000..ad58384
--- /dev/null
@@ -0,0 +1,554 @@
+<?xml version="1.0"?> 
+
+<xsl:stylesheet
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  version="1.0">
+  
+  <xsl:template match="section">
+    <html>
+      <head>
+        <meta name="Author" content="Alexander Koenig"/>
+       <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/>
+       <link rel="icon" href="favicon.ico" type="image/x-icon"/>
+       <link rel="shortcut icon" href="favicon.ico" type="image/x-icon"/>
+        <title>terminatorX: <xsl:value-of select="@name"/></title>
+       <script language="Javascript" src="script.js" type="text/javascript"></script>
+       <style type="text/css">
+       A:hover {text-decoration: none; color: #ff4444}
+       A:active {text-decoration: none; color: #ff4444}
+       body { font-family: Verdana, sans-serif; }
+       p.plain { text-align: left }
+       p.fancy { text-align: justify }
+       </style>
+      </head>
+    <body text="#FFFFFF" face="sans" bgcolor="#555555" link="#FFFF99" vlink="#FFCC33" alink="#FF0000"
+    onload="rolloverLoad('main','pix/vinyl-hover.gif','pix/vinyl.png');
+            rolloverLoad('download','pix/vinyl-hover.gif','pix/vinyl.png');
+           rolloverLoad('screenshots','pix/vinyl-hover.gif','pix/vinyl.png');
+           rolloverLoad('faq','pix/vinyl-hover.gif','pix/vinyl.png');
+           rolloverLoad('turntable','pix/vinyl-hover.gif','pix/vinyl.png');
+           rolloverLoad('scratches','pix/vinyl-hover.gif','pix/vinyl.png');
+           rolloverLoad('aseqjoy','pix/vinyl-hover.gif','pix/vinyl.png');
+           "
+    >
+    <table width="100%" cellspacing="5px">
+    <tr>
+    <td>
+    <center>
+    <img ALT="terminatorX" src="pix/tX_logo.jpg" />
+    </center>
+    </td>
+    </tr>
+    </table>
+<!--new-->
+       <table border="0" cellspacing="0" cellpadding="0" width="100%">
+       <tr>
+       <td bgcolor="#ffffff" align="left"><font face="Arial,Helvetica" color="#ffffff" size="+2">menu</font></td>
+       <td bgcolor="#ffffff" width="100%">
+       <table width="100%" cellspacing="0" border="0" cellpadding="4px">       
+       <tr><td bgcolor="#ffffff" align="right" width="100%">
+               <font face="Arial,Helvetica" color="#000000" size="+2">
+               <b><xsl:value-of select="@name"/></b>
+               </font>
+       </td></tr>
+       </table>
+       </td>
+       </tr>
+       
+       <tr>
+<!--menu-->    
+       <td valign="top">
+       <table cellspacing="0" border="0" cellpadding="2px">
+       <tr>
+               <xsl:if test="@name='main'"> 
+                       <td bgcolor="#777777"><img alt="-" border="0" src="pix/vinyl-highlight.png" vspace="0"/></td><td bgcolor="#777777">main</td><td bgcolor="#777777"><img alt="-" border="0" src="pix/vinyl-spacer.png" vspace="0"/></td>
+               </xsl:if>
+               <xsl:if test="@name!='main'"> 
+                       <td><img name="main" alt="-" border="0" src="pix/vinyl.png" vspace="0"/></td><td><a onMouseOut="rolloverOff('main');" onMouseOver="rolloverOn('main');" href="./">main</a></td><td/>
+               </xsl:if>
+       </tr>
+
+       <tr>
+               <xsl:if test="@name='download'"> 
+                       <td bgcolor="#777777"><img alt="-" border="0" src="pix/vinyl-highlight.png" vspace="0"/></td><td bgcolor="#777777">download</td><td bgcolor="#777777"><img alt="-" border="0" src="pix/vinyl-spacer.png" vspace="0"/></td>
+               </xsl:if>
+               <xsl:if test="@name!='download'"> 
+                       <td><img name="download" alt="-" border="0" src="pix/vinyl.png" vspace="0"/></td><td><a onMouseOut="rolloverOff('download');" onMouseOver="rolloverOn('download');" href="download.html">download</a></td><td/>
+               </xsl:if>
+       </tr>
+
+
+       <tr>
+               <xsl:if test="@name='screenshots'"> 
+                       <td bgcolor="#777777"><img alt="-" border="0" src="pix/vinyl-highlight.png" vspace="0"/></td><td bgcolor="#777777">screenshots</td><td bgcolor="#777777"><img alt="-" border="0" src="pix/vinyl-spacer.png" vspace="0"/></td>
+               </xsl:if>
+               <xsl:if test="@name!='screenshots'"> 
+                       <td><img name="screenshots" alt="-" border="0" src="pix/vinyl.png" vspace="0"/></td><td><a onMouseOut="rolloverOff('screenshots');" onMouseOver="rolloverOn('screenshots');" href="screenshots.html">screenshots</a></td><td/>
+               </xsl:if>
+       </tr>
+
+       <tr>
+               <xsl:if test="@name='faq'"> 
+                       <td bgcolor="#777777"><img alt="-" border="0" src="pix/vinyl-highlight.png" vspace="0"/></td><td bgcolor="#777777">faq</td><td bgcolor="#777777"><img alt="-" border="0" src="pix/vinyl-spacer.png" vspace="0"/></td>
+               </xsl:if>
+               <xsl:if test="@name!='faq'"> 
+                       <td><img name="faq" alt="-" border="0" src="pix/vinyl.png" vspace="0"/></td><td><a onMouseOut="rolloverOff('faq');" onMouseOver="rolloverOn('faq');" href="faq.html">faq</a></td><td/>
+               </xsl:if>
+       </tr>
+
+       <tr>
+               <xsl:if test="@name='scratches'"> 
+                       <td bgcolor="#777777"><img alt="-" border="0" src="pix/vinyl-highlight.png" vspace="0"/></td><td bgcolor="#777777">scratches</td><td bgcolor="#777777"><img alt="-" border="0" src="pix/vinyl-spacer.png" vspace="0"/></td>
+               </xsl:if>
+               <xsl:if test="@name!='scratches'"> 
+                       <td><img name="scratches" alt="-" border="0" src="pix/vinyl.png" vspace="0"/></td><td><a onMouseOut="rolloverOff('scratches');" onMouseOver="rolloverOn('scratches');" href="scratches.html">scratches</a></td><td/>
+               </xsl:if>
+       </tr>
+
+       <tr>
+               <xsl:if test="@name='turntable gallery'"> 
+                       <td bgcolor="#777777"><img alt="-" border="0" src="pix/vinyl-highlight.png" vspace="0"/></td><td bgcolor="#777777">turntables</td><td bgcolor="#777777"><img alt="-" border="0" src="pix/vinyl-spacer.png" vspace="0"/></td>
+               </xsl:if>
+               <xsl:if test="@name!='turntable gallery'"> 
+                       <td><img name="turntable" alt="-" border="0" src="pix/vinyl.png" vspace="0"/></td><td><a onMouseOut="rolloverOff('turntable');" onMouseOver="rolloverOn('turntable');" href="turntable.html">turntables</a></td><td/>
+               </xsl:if>
+       </tr>
+
+       <tr>
+               <xsl:if test="@name='aseqjoy'"> 
+                       <td bgcolor="#777777"><img alt="-" border="0" src="pix/vinyl-highlight.png" vspace="0"/></td><td bgcolor="#777777">aseqjoy</td><td bgcolor="#777777"><img alt="-" border="0" src="pix/vinyl-spacer.png" vspace="0"/></td>
+               </xsl:if>
+               <xsl:if test="@name!='aseqjoy'"> 
+                       <td><img name="aseqjoy" alt="-" border="0" src="pix/vinyl.png" vspace="0"/></td><td><a onMouseOut="rolloverOff('aseqjoy');" onMouseOver="rolloverOn('aseqjoy');" href="aseqjoy.html">aseqjoy</a></td><td/>
+               </xsl:if>
+       </tr>
+
+       
+       </table>
+       </td>
+       
+<!--contents-->        
+       <td valign="top">
+    <table width="100%" border="0" cellspacing="0" cellpadding="10px">
+    <tr>
+    <td bgcolor="#777777" width="100%">
+    <xsl:apply-templates/>
+    </td>
+    </tr>
+    </table>
+       
+       </td>
+       </tr>
+       </table>
+
+<!--old -->
+    
+
+    <HR width="100%" />
+    <table width="100%">
+      <tr>
+        <td align="left" width="100%" valign="top">
+        <font size="-1">
+            Copyright (C) 1999-2003 by <A HREF="mailto:alex@lisas.de">Alexander KMAKE_THIS_MYOUMLnig</A>           
+       </font>
+          </td>
+         <td><a href="http://validator.w3.org/check/referer"><img border="0"
+        src="http://validator.w3.org/images/vh401"
+        alt="Valid HTML 4.01!" height="31" width="88"/></a></td>
+      </tr>
+    </table>
+    </body>
+    </html>
+  </xsl:template>
+  
+  <xsl:template match="heading">
+    <font size="+2"><xsl:apply-templates/></font><br/>
+  </xsl:template>
+
+  <xsl:template match="subtitle">
+    <font size="-2"><xsl:apply-templates/></font>
+  </xsl:template>
+  
+  <xsl:template match="para">
+       <xsl:if test="@class='fancy'">
+               <p class="fancy"><xsl:apply-templates/></p>
+       </xsl:if>
+       <xsl:if test="@class='plain'">
+               <p class="plain"><xsl:apply-templates/></p>
+       </xsl:if>       
+  </xsl:template>
+  
+  <xsl:template match="italic">
+    <i><xsl:apply-templates/></i>
+  </xsl:template>
+
+  <xsl:template match="red">
+    <font color="#FF4444"><xsl:apply-templates/></font>
+  </xsl:template>
+  
+  <xsl:template match="bold">
+    <b><xsl:apply-templates/></b>
+  </xsl:template>
+  
+  <xsl:template match="newsheader"/>
+  
+  <xsl:template match="newsitem">
+       <table border="0" cellspacing="0" cellpadding="0">
+<!-- header -->
+       <tr>
+       <td bgcolor="#999999">
+       
+       <xsl:for-each select="newsheader">
+               <table border="0" cellspacing="0" cellpadding="2px">
+                       <tr>
+                       <td><img src="pix/new.png" alt="new:"/></td>
+                       <td align="left" valign="middle" width="100%"><font size="+1"><xsl:apply-templates/></font> <font color="#DDDDDD" size="+1">[<xsl:value-of select="@date"/>]</font></td>
+                       </tr>
+               </table>
+       </xsl:for-each>
+       
+       </td>
+       </tr>
+<!-- contents -->
+       <tr>
+       <td>
+               <xsl:apply-templates/>  
+       </td>
+       </tr>
+       </table>        
+  </xsl:template>
+  
+  <xsl:template match="link">
+  <A><xsl:attribute name="HREF"><xsl:value-of select="@ref"/></xsl:attribute><xsl:apply-templates/></A>
+  </xsl:template>
+  
+  <xsl:template match="newline">
+    <br/>
+  </xsl:template>
+  
+  <xsl:template match="itemizedlist">
+    CLOSE_DA_P<ul><xsl:apply-templates/></ul>OPEN_DA_P
+  </xsl:template>
+  
+  <xsl:template match="listitem">
+    <li><xsl:apply-templates/></li>
+  </xsl:template>
+  
+  <xsl:template match="person">
+    <a><xsl:attribute name="href">mailto:<xsl:if test="email='alex@lisas.de'">alex@lisas.de</xsl:if><xsl:if test="email!='alex@lisas.de'">NOSPAM_<xsl:value-of select="substring-before(email, '@')"/>_AT_<xsl:value-of select="substring-after(email, '@')"/>_NOSPAM</xsl:if></xsl:attribute><xsl:value-of select="name"/></a>
+  </xsl:template>
+  
+  <xsl:template match="index">
+    <p>
+    <font size="+1">
+    <xsl:value-of select="title"/>
+    </font>
+    </p>
+    <ul>
+    <xsl:for-each select="//subsection">
+    <li>
+    <a><xsl:attribute name="href">#<xsl:value-of select="title"/></xsl:attribute><xsl:value-of select="title"/></a>
+    </li>
+    </xsl:for-each>
+    </ul>
+    <p>
+    </p>
+  </xsl:template>
+  
+  <xsl:template match="subsection">
+    <p>
+    <font size="+1">
+    <a><xsl:attribute name="name"><xsl:value-of select="title"/></xsl:attribute><xsl:value-of select="title"/></a>
+    </font>
+    </p>
+    <xsl:apply-templates/>
+  </xsl:template>
+  
+  <xsl:template match="title">
+  </xsl:template>
+  
+  <xsl:template match="tarfiles">
+    <ul>
+    <xsl:for-each select="tar">
+    <xsl:if test="@version!=//current/@version">
+    <li>Version <xsl:value-of select="@version"/>: <a><xsl:attribute name="href">terminatorX-<xsl:value-of select="@version"/>.tar.gz</xsl:attribute>terminatorX-<xsl:value-of select="@version"/>.tar.gz</a>
+       <xsl:if test="@havebz2='yes'">
+               (<a><xsl:attribute name="href">terminatorX-<xsl:value-of select="@version"/>.tar.bz2</xsl:attribute>bz2</a>) 
+       </xsl:if>
+    </li>
+    </xsl:if>
+    </xsl:for-each>
+    </ul>
+  </xsl:template>
+
+  <xsl:template match="rpmfiles">
+    <ul>
+     <xsl:for-each select="rpm">
+     <xsl:if test="@version!=//current/@version">
+     <xsl:if test="string(@type)='i586'">
+     <li>i586-binary rpm: <a><xsl:attribute name="href">terminatorX-<xsl:value-of
+select="@version"/>-<xsl:value-of
+select="@rpmsubversion"/>.i586.rpm</xsl:attribute>terminatorX-<xsl:value-of
+select="@version"/>-<xsl:value-of
+select="@rpmsubversion"/>.i586.rpm</a></li>
+     </xsl:if>
+
+     <xsl:if test="string(@type)='i386'">
+     <li>i386-binary rpm: <a><xsl:attribute name="href">terminatorX-<xsl:value-of
+select="@version"/>-<xsl:value-of
+select="@rpmsubversion"/>.i386.rpm</xsl:attribute>terminatorX-<xsl:value-of
+select="@version"/>-<xsl:value-of
+select="@rpmsubversion"/>.i386.rpm</a></li>
+     </xsl:if>
+
+     <xsl:if test="string(@type)='sparc'">
+     <li>Sparc-binary rpm: <a><xsl:attribute
+name="href">terminatorX-<xsl:value-of
+select="@version"/>-<xsl:value-of
+select="@rpmsubversion"/>.sparc.rpm</xsl:attribute>terminatorX-<xsl:value-of
+select="@version"/>-<xsl:value-of
+select="@rpmsubversion"/>.sparc.rpm</a></li>
+     </xsl:if>
+
+     <xsl:if test="string(@type)='src'">
+     <li>source rpm: <a><xsl:attribute name="href">terminatorX-<xsl:value-of
+select="@version"/>-<xsl:value-of
+select="@rpmsubversion"/>.src.rpm</xsl:attribute>terminatorX-<xsl:value-of
+select="@version"/>-<xsl:value-of
+select="@rpmsubversion"/>.src.rpm</a></li>
+     </xsl:if>
+     </xsl:if>
+     </xsl:for-each>
+    </ul>
+  </xsl:template>
+  
+  <xsl:template match="currentversion">
+   <p>
+   The current terminatorX release is Version <xsl:value-of select="//current/@version"/>.<br/>
+   Download as:
+   </p>
+   <ul>
+   <li>tar file: <a><xsl:attribute name="href">terminatorX-<xsl:value-of select="//current/@version"/>.tar.gz</xsl:attribute>terminatorX-<xsl:value-of select="//current/@version"/>.tar.gz</a>
+               <xsl:if test="//current/@havebz2='yes'">
+               (<a><xsl:attribute name="href">terminatorX-<xsl:value-of select="//current/@version"/>.tar.bz2</xsl:attribute>bz2</a>) 
+       </xsl:if>
+   </li>
+   <xsl:for-each select="//rpm">
+   <xsl:if test="@version=//current/@version">
+     <xsl:if test="string(@type)='i586'">
+     <li>i586-binary  rpm: <a><xsl:attribute name="href">terminatorX-<xsl:value-of 
+       select="@version"/>-<xsl:value-of select="@rpmsubversion"
+       />.i586.rpm</xsl:attribute>terminatorX-<xsl:value-of 
+       select="@version"/>-<xsl:value-of select="@rpmsubversion"
+       />.i586.rpm</a></li>
+     </xsl:if>
+
+     <xsl:if test="string(@type)='i386'">
+     <li>i386-binary  rpm: <a><xsl:attribute name="href">terminatorX-<xsl:value-of 
+       select="@version"/>-<xsl:value-of select="@rpmsubversion"
+       />.i386.rpm</xsl:attribute>terminatorX-<xsl:value-of 
+       select="@version"/>-<xsl:value-of select="@rpmsubversion"
+       />.i386.rpm</a></li>
+     </xsl:if>
+
+     <xsl:if test="string(@type)='sparc'">
+     <li>Sparc-binary rpm: <a><xsl:attribute name="href">terminatorX-<xsl:value-of
+        select="@version"/>-<xsl:value-of select="@rpmsubversion"
+        />.sparc.rpm</xsl:attribute>terminatorX-<xsl:value-of 
+        select="@version"/>-<xsl:value-of select="@rpmsubversion"
+        />.sparc.rpm</a></li>
+     </xsl:if>
+
+
+     <xsl:if test="string(@type)='src'">
+     <li>source rpm: <a><xsl:attribute name="href">terminatorX-<xsl:value-of select="@version"/>-<xsl:value-of select="@rpmsubversion"/>.src.rpm</xsl:attribute>terminatorX-<xsl:value-of select="@version"/>-<xsl:value-of select="@rpmsubversion"/>.src.rpm</a></li>
+     </xsl:if>
+   </xsl:if>
+   </xsl:for-each> 
+   </ul>
+   
+   <xsl:if test="sum(//rpm[@version=//current/@version])=0">
+      Sorry, no rpms available for the current release, yet. Stay tuned.
+   </xsl:if>
+       <p>Debian users may prefer to install the <a href="http://packages.debian.org/unstable/sound/terminatorx.html">terminatorX Debian package</a> with <i>apt-get</i>.</p>
+  </xsl:template>
+  
+  <xsl:template match="filelist">
+   <ul>
+   <xsl:for-each select="file">
+     <li><a><xsl:attribute name="href"><xsl:apply-templates/></xsl:attribute><xsl:apply-templates/></a></li>
+   </xsl:for-each>
+   </ul>
+  </xsl:template>
+  
+  <xsl:template match="file">
+    <a><xsl:attribute name="href"><xsl:apply-templates/></xsl:attribute><xsl:apply-templates/></a>
+  </xsl:template>
+  
+  <xsl:template match="faq">
+  <a name="index"><font size="+1">Question-Index:</font></a>
+  <ul>
+  <xsl:for-each select="qa">
+    <li>
+    <a><xsl:attribute name="href">#<xsl:value-of select="position()"/></xsl:attribute><xsl:value-of select="question"/></a>
+    </li>
+  </xsl:for-each>
+  </ul>
+  <p>
+  <font size="+1">Answers:</font>
+  </p>
+  <xsl:apply-templates/>
+  </xsl:template>
+  
+  <xsl:template match="qa">
+  <table cellspacing="0" cellpadding="0" border="0" width="100%">
+  <tr>  
+  <td bgcolor="#999999">
+  <table cellspacing="0" cellpadding="3px" border="0" width="100%">
+  <tr><td>
+  <a><xsl:attribute name="name"><xsl:value-of select="position() div 2"/></xsl:attribute><font size="+1" color="#FFCC33"><xsl:value-of select="question"/></font></a>
+  </td></tr>
+  </table>
+  </td>
+  </tr>
+  <tr>
+  <td>
+  <xsl:apply-templates/>
+  </td>
+  </tr>
+  </table>
+    <p><font size="-1"> <a href="#index">(back to index)</a></font></p>
+  </xsl:template>
+  
+  <xsl:template match="question">
+  </xsl:template>
+
+  <xsl:template match="answer">
+    <xsl:apply-templates/>
+  </xsl:template>
+  
+  <xsl:template match="turntabletable">
+    <table width="100%" border="2" cellpadding="2px">
+<!--
+    <tr bgcolor="#FFFF99">
+    
+
+    <td width="100%" colspan="2"><font face="Arial,Helvetica" color="#000000" size="+2"><b>Users' Turntables</b></font></td>
+   </tr>
+
+-->    <xsl:apply-templates/>
+    </table>
+  </xsl:template>
+  
+  <xsl:template match="tt">
+  <tr bgcolor="#FFFF99">
+    <td width="100%" colspan="2" align="left"><font face="Arial,Helvetica" color="#000000" size="+1"><b><xsl:value-of select="@title"/></b></font></td>
+  </tr>
+  <tr>
+    <td width="50%" valign="top">
+       <xsl:for-each select="author">
+               <b>Creator: </b><xsl:apply-templates/><br/>
+       </xsl:for-each>
+
+       <xsl:for-each select="text">
+               <xsl:apply-templates/>
+       </xsl:for-each>
+    </td>
+    <td width="50%">
+       <table width="100%">
+       <tr>
+               <xsl:for-each select="ttimages">
+               <xsl:apply-templates/>
+       </xsl:for-each>
+       </tr>
+       </table>
+    </td>
+  </tr>
+  </xsl:template>
+  
+  <xsl:template match="scratchtable">
+    <table width="100%" border="2">
+    <tr bgcolor="#FFFF99">
+    
+    <td><font size="+1" face="Arial,Helvetica" color="#000000"><b>Scratch</b></font></td>
+    <td><font size="+1" face="Arial,Helvetica" color="#000000"><b>Author</b></font></td>
+    <td><font size="+1" face="Arial,Helvetica" color="#000000"><b>Description</b></font></td>
+    </tr>
+    <xsl:apply-templates/>
+    </table>
+  </xsl:template>
+    
+  <xsl:template match="scratch">
+  <tr>
+    <xsl:apply-templates/>
+  </tr>
+  </xsl:template>
+    
+  <xsl:template match="mp3file|author|comment"> 
+  <td valign="top">
+    <xsl:apply-templates/>
+  </td>
+  </xsl:template>
+  
+  <xsl:template match="tinycomment|filesize">
+   <br/><font size="-1"><xsl:apply-templates/></font>
+  </xsl:template>
+  
+  <xsl:template match="screen">
+  <span style="font-family: monospace; color: #DDFFDD"><xsl:apply-templates/></span>
+  </xsl:template>
+  
+  <xsl:template match="screenshot">
+  <xsl:if test="name(.)='screenshot'">CLOSE_DA_P</xsl:if>
+  <center>
+    <table border="0" width="100%">
+    <tr>
+    <td>
+    <center>
+    <a><xsl:attribute name="href">pix/<xsl:value-of select="@filename"/></xsl:attribute>
+    <img border="0"><xsl:attribute name="alt"><xsl:value-of select="name(.)"/></xsl:attribute><xsl:attribute name="src">pix/pre_<xsl:value-of select="@filename"/></xsl:attribute></img>
+    </a>
+    </center>
+    </td>
+    </tr>
+    <tr>
+    <td>
+    <center>
+    <xsl:apply-templates/>
+    </center>
+    </td>
+    </tr>
+    </table>
+  </center>
+  <xsl:if test="name(.)='screenshot'">OPEN_DA_P</xsl:if>
+  </xsl:template>
+
+  <xsl:template match="image">
+    <xsl:if test="position()>3">
+           <xsl:if test="(position() div 2) mod 3=1">
+               NEW_TT_ROW
+           </xsl:if>
+    </xsl:if>
+    <td width="33%" align="center" valign="top">
+    <table border="0">
+    <tr>
+    <td>
+    <center>
+    <a><xsl:attribute name="href">pix/<xsl:value-of select="@filename"/></xsl:attribute>
+    <img border="0"><xsl:attribute name="alt"><xsl:value-of select="name(.)"/></xsl:attribute><xsl:attribute name="src">pix/pre_<xsl:value-of select="@filename"/></xsl:attribute></img>
+    </a>
+    </center>
+    </td>
+    </tr>
+    <tr>
+    <td>
+    <center>
+    <xsl:apply-templates/>
+    </center>
+    </td>
+    </tr>
+    </table>
+    </td>
+  </xsl:template>
+  
+</xsl:stylesheet>
diff --git a/website/turntable.xml b/website/turntable.xml
new file mode 100644 (file)
index 0000000..e5ff36c
--- /dev/null
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE section SYSTEM "./tX.dtd"[
+]>
+<section name="turntable gallery">
+  <turntable>
+       <para>While scratching with the mouse usually <italic>sounds</italic>
+       the way terminatorX users want it to (at least if the feedback I get is
+       representative) it doesn't really <italic>feel</italic> like scratching.
+       The only way to get that traditional haptic feedback is to turn your turntable
+       into a mouse device.
+       </para>
+       <para>If you want to do this without harming your mouse nor turntable, the method
+       suggested by the terminatorX logo should be feasible. Optical input devices are
+       known to produce best results in such a scenario. For those interested here's a 
+       <link ref="oldtable.html">document</link> on how I turned my old turntable into
+       a terminatorX device.
+       </para>
+       <para>
+       Luckily a lot of terminatorX users have built their own turntables and I'm really
+       happy to present some of these creations below. Please, if <italic>your</italic> turntable
+       is missing <link ref="mailto:alex@lisas.de">send</link> me some pictures of it
+       so I can add them here. <bold>Thanks</bold> to all contributors!
+       </para>
+       <turntabletable>
+               <tt title="Fernando's turntable">
+                       <author>
+                               <person>
+                                       <name>Fernando S. Fabreti</name>
+                                       <email>ffabreti@yahoo.com.br</email>
+                               </person>
+                       </author>
+                       <text>
+                               <para>Fernando's turntable differs from 
+                               the others in this section as he attached the mouse
+                               to the tone arm of the turntable. Take a look at the "in detail"
+                               picture to find out how Fernando's table works.
+                               </para>
+                               <para><italic>Note</italic>: Fernando also contributed a scratch - see
+                               <link ref="scratches.html">users' scratches-section</link>.
+                               </para>
+                       </text>
+                       <ttimages>
+                       <image filename="fernando1.jpg"><nopara>The whole thing</nopara></image>
+                       <image filename="fernando2.jpg"><nopara>A little closer</nopara></image>
+                       <image filename="fernando3.jpg"><nopara>Even closer</nopara></image>
+                       <image filename="fernando4.jpg"><nopara>In detail</nopara></image>
+                       <image filename="fernando5.jpg"><nopara>Fernado in action</nopara></image>
+                       </ttimages>
+               </tt>
+               <tt title="Toqer's turntable">
+                       <author><person><name>Toqer</name><email>toqer@pacbell.net</email></person></author>
+                       <text>
+                               <para>Toqer is using an optical device for his turntable.
+                               The image is somewhat low-res but you get the idea.
+                               </para>
+                       </text>
+                       <ttimages>
+                               <image filename="toqer1.jpg"><nopara>Toqer's optical turntable</nopara></image>
+                       </ttimages>
+               </tt>           
+               <tt title="Matt's turntable">
+                       <author><person><name>Matt Thomas</name><email>loopdloop@jaggedsoft.com</email></person></author>
+                       <text>
+                               <para>Proudly presenting DJ Loopdloop's terminatorX turntable.
+                               A very interesting aproach that hides the mouse completely inside
+                               the turntable.
+                               </para>
+                               <para>Have a look...
+                               </para>
+                       </text>
+                       <ttimages>
+                               <image filename="matt1.jpg"><nopara>Could be a "usual" turntable</nopara></image>
+                               <image filename="matt2.jpg"><nopara>But it's not</nopara></image>
+                               <image filename="matt3.jpg"><nopara>Tricky details</nopara></image>
+                       </ttimages>
+               </tt>           
+               <tt title="My turntable">
+                       <author><person><name>Me</name><email>alex@lisas.de</email></person></author>
+                       <text>
+                               <para>These are the pictures of my very own terminatorX turntable.
+                               The turntable is described in more detail <link ref="oldtable.html">here</link>.
+                               </para>
+                       </text>
+                       <ttimages>
+                               <image filename="tt_normal.jpg"><nopara>The turntable and its connector</nopara></image>
+                               <image filename="tt_top1.jpg"><nopara>Again</nopara></image>
+                               <image filename="tt_top_zoom.jpg"><nopara>The motor</nopara></image>
+                               <image filename="tt_open_total.jpg"><nopara>Turntable's inside</nopara></image>
+                               <image filename="tt_mouse_axis.jpg"><nopara>The axis to connect</nopara></image>
+                               <image filename="tt_mouse_connect.jpg"><nopara>Axis attached to motor</nopara></image>
+                               <image filename="tt_the_mouse.jpg"><nopara>Maximum compatibility ;)</nopara></image>
+                       </ttimages>
+               </tt>
+       </turntabletable>       
+       <para>
+       Your turntable is missing? Please,
+       <link ref="mailto:alex@lisas.de">send</link> me some pictures of it
+       so I can add them.
+       </para>
+
+  </turntable>
+</section>
+