*** empty log message ***
authorterminatorX <>
Tue, 15 Apr 2003 19:54:30 +0000 (19:54 +0000)
committerterminatorX <>
Tue, 15 Apr 2003 19:54:30 +0000 (19:54 +0000)
website/Makefile
website/aseqjoy.xml
website/docs.xml
website/download.xml
website/faq.xml
website/index.xml
website/scratches.xml
website/screenshots.xml
website/tX.dtd
website/tX.xsl
website/turntable.xml

index 48cd88e4249c001916d3a307139b7b9e7e1d6f49..a3bbae5de05a65a3aedf5f4640e8724c916e067b 100644 (file)
@@ -2,6 +2,11 @@ section = main download faq screenshots scratches turntable aseqjoy docs
 
 all: index.html aseqjoy.html download.html faq.html scratches.html docs.html turntable.html screenshots.html
 
+XMLFILES=$(wildcard *.xml) $(wildcard *.xsl)
+
+pretty:
+       list='$(XMLFILES)'; for file in $$list; do tidy -i -w 80 -xml < $$file > tmp; if [ $$? -eq 0 ]; then mv tmp $$file; else echo error: $$?; fi; done
+
 clean: Makefile
        rm -rf *.html *.tmp
 
index 442cb24e157d85327513a0a7ec592f58fe68f0b4..8b3a67fe229fda00055e4cdb45386b4a7e758b29 100644 (file)
@@ -1,35 +1,38 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE section SYSTEM "./tX.dtd"[
-]>
-<section name="aseqjoy">
+<?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 <link ref="COPYING">GNU General Public License</link>.</para>
+    <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 
+    <link ref='COPYING'>GNU General Public License V2</link>.</para>
   </aseqjoy>
 </section>
-
index 92e5a85bf9c13f2e53a8aaaa3fe4c258b80b3d6c..f0dc9f9f2b73320c8040c60c7442e045a6bce180 100644 (file)
@@ -1,39 +1,49 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE section SYSTEM "./tX.dtd"[
-]>
-<section name="docs">
+<?xml version='1.0' encoding='utf-8'?>
+<!DOCTYPE section SYSTEM "./tX.dtd">
+<section name='docs'>
   <docs>
-       <para>The following documentation is available:
-       <itemizedlist>
-       <listitem><para>An HTML version of the
-               <link ref="manual/index.html">terminatorX online manual</link>. If you have
-               GNOME2's <italic>yelp</italic> installed you should be able to read this manual
-               by selecting it from the <italic>Help</italic> menu.
-               </para></listitem>
-               <listitem><para><person><name>Brian</name><email>bredfern@calarts.edu</email></person>
-               wrote a nice <italic>QuickToot</italic> tutorial on terminatorX. Check it out 
-               <link ref="tutorial.html">here</link>
-               </para></listitem>
-               <listitem><para>If you're stuck on installing terminatorX I recommend having
-               a look at the <link ref="INSTALL">INSTALL</link> file.
-               </para></listitem>
-               <listitem>
-               <para>I also maintain a <link ref="faq.html">Frequently Asked Questions</link> document.
-               </para>
-               </listitem>
-       </itemizedlist> 
-       </para>
-       <para>Additionally there's a
-       <itemizedlist>
-       <listitem><para>HTML version of the <link ref="aseqjoy.html">aseqjoy</link>
-       <link ref="aseqjoy-man.html">man page</link>.
-       </para></listitem>
-       <listitem><para>And a rather old <link ref="oldturntable.html">description</link> on how I turned by broken
-       turntable into terminatorX turntable.
-       </para>
-       </listitem>
-       </itemizedlist>
-       </para>
-</docs>
+    <para>The following documentation is available: 
+    <itemizedlist>
+      <listitem>
+        <para>An HTML version of the 
+        <link ref='manual/index.html'>terminatorX online manual</link>. If you
+        have GNOME2's 
+        <italic>yelp</italic> installed you should be able to read this manual
+        by selecting it from the 
+        <italic>Help</italic> menu in the termintorX main window.</para>
+      </listitem>
+      <listitem>
+        <para>
+        <person>
+          <name>Brian</name>
+          <email>bredfern@calarts.edu</email>
+        </person>wrote a nice 
+        <italic>QuickToot</italic> tutorial on terminatorX. Check it out 
+        <link ref='tutorial.html'>here</link> or have look at all the other 
+        <link ref='http://dcdj.com'>QuickToots</link> available.</para>
+      </listitem>
+      <listitem>
+        <para>If you're stuck on installing terminatorX I recommend having a
+        look at the 
+        <link ref='INSTALL'>INSTALL</link> file.</para>
+      </listitem>
+      <listitem>
+        <para>I also maintain a 
+        <link ref='faq.html'>Frequently Asked Questions</link> document.</para>
+      </listitem>
+    </itemizedlist></para>
+    <para>Additionally there's a 
+    <itemizedlist>
+      <listitem>
+        <para>HTML version of the 
+        <link ref='aseqjoy.html'>aseqjoy</link>
+        <link ref='aseqjoy-man.html'>man page</link>.</para>
+      </listitem>
+      <listitem>
+        <para>And a rather old 
+        <link ref='oldturntable.html'>description</link> on how I turned my
+        broken turntable into terminatorX device.</para>
+      </listitem>
+    </itemizedlist></para>
+  </docs>
 </section>
-
index 65725174d5892951303263fbcde74fb1deea5ecc..8ebedbb4165eaad7c9c81e95af3fd91972738259 100644 (file)
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE section SYSTEM "./tX.dtd"[
-]>
-<section name="download">
+<?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"/>
+    <current version='3.80' 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:
+      <para>terminatorX requires: 
       <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>
+        <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/>
+      <currentversion />
+      <para>
+      <link ref='http://www.debian.org'>Debian</link> users may prefer to
+      install the 
+      <link ref='http://packages.debian.org/unstable/sound/terminatorx.html'>
+      terminatorX Debian package</link> via 
+      <italic>apt-get</italic>.</para>
+      <para>Mandrake users may be pleased to here that 
+      <person>
+        <name>Some</name>
+        <email>email@email.de</email>
+      </person> has created RPMs for their distribution 
+      <link ref=''>here</link>.</para>
     </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"/>
+        <tar version='3.80' havebz2='yes' />
+        <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"/>
+        <!-- <rpm type="i386" version="3.80" rpmsubversion="1" distribution="Mandrake 9.1" note="no lilbrdf" ext="mdk"/> -->
+<rpm rpmsubversion='1' version='3.80' type='i386' distribution='RH 8.0'
+note='without liblrdf, ALSA, MIDI and libmad support' />
+        <rpm rpmsubversion='1' version='3.73' type='i386' />
+        <rpm rpmsubversion='1' version='3.72' type='i386' />
+        <rpm rpmsubversion='2' version='3.71' type='i586' />
+        <rpm rpmsubversion='1' version='3.70' type='i586' />
+        <rpm rpmsubversion='2' version='3.60' type='i586' />
+        <rpm rpmsubversion='2' version='3.71' type='sparc' />
+        <rpm rpmsubversion='1' version='3.73' type='src' />
+        <rpm rpmsubversion='1' version='3.72' type='src' />
+        <rpm rpmsubversion='2' version='3.71' type='src' />
+        <rpm rpmsubversion='1' version='3.70' type='src' />
+        <rpm rpmsubversion='2' version='3.60' type='src' />
       </rpmfiles>
     </subsection>
-
     <subsection>
       <title>Historic Sources</title>
       <filelist>
-       <file>terminatorX-V23.tar.gz</file>
-       <file>terminatorX-V22.tar.gz</file>
+        <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>
+      <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>
-
index 7097ee6f8257ad32b6a98b7844ce8c831f10dd1d..29c014374931b02467b771edeb4f3b85cebe9541 100644 (file)
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE section SYSTEM "./tX.dtd"[
-]>
-<section name="faq">
+<?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, *.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 MIDI interface - all accessible through 
-         an easy-to-use gtk+ GUI. <bold>This sofware is designed to run
-           under Linux, FreeBSD and the like</bold>.</para>
+        <para>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 MIDI interface - all accessible through an easy-to-use
+        gtk+ GUI. 
+        <bold>This sofware is designed to run under Linux, FreeBSD and the
+        like</bold>.</para>
       </answer>
     </qa>
-
     <qa>
       <question>What does it cost?</question>
       <answer>
-       <para>Nothing. TerminatorX is <link ref="http://www.fsf.org/philosophy/free-sw.html">free software</link>. Read the
-         <link ref="COPYING">license</link> (GPL V2).
-       </para>
+        <para>Nothing. TerminatorX is 
+        <link ref='http://www.fsf.org/philosophy/free-sw.html'>free
+        software</link>. 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 or FreeBSD 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>
+        <para>TerminatorX should run on any recent Linux or FreeBSD 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>
+      <question>What audio quality is supported?</question>
       <answer>
-       <para>TerminatorX operates at an arbitrary sampling rate with 16Bit
-       samples and 2 channels (aka stereo). Samples will be converted to mono on
-       loading.
-       </para>
+        <para>TerminatorX operates at an arbitrary sampling rate with 16Bit
+        samples and 2 channels (aka stereo). Samples will be converted to mono
+        on loading.</para>
       </answer>
     </qa>
-
     <qa>
-      <question>
-       Why does it take terminatorX so long to load samples?
-      </question>
+      <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. For compressed audio files the necessary decompression
-         will consume quite some cpu time on loading.
-       </para>
-       <para>
-         Since Version 3.73 loading of audiofiles has been
-         significantly accelerated with the libaudiofile, libvorbis and
-         mad methods.
-       </para>
-      </answer
-       ></qa>
-
+        <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. For compressed audio files the necessary
+        decompression will consume quite some cpu time on loading.</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 mmap'ed wav reading? </question>
+      <question>Why doesn't terminatorX support mmap'ed wav reading?</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>
+        <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 "on-the-fly" 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>
+      <question>How can I use a second mouse, a joystick or other input devices
+      for scratching?</question>
       <answer>
-      <para><bold>Update:</bold>
-       If you want to use your joystick along with your mouse I suggest using
-       my tiny <link ref="aseqjoy.html">aseqjoy</link> tool to connect your
-       joystick to the MIDI input port of terminatorX.
-      </para>
-       <para>If you want to use another mouse however, 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".
-       </para>
+        <para>
+        <bold>Update:</bold> If you want to use your joystick along with your
+        mouse I suggest using my tiny 
+        <link ref='aseqjoy.html'>aseqjoy</link> tool to connect your joystick to
+        the MIDI input port of terminatorX.</para>
+        <para>If you want to use another mouse however, 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".</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>
+      <question>Why do I get "./terminatorX: undefined symbol:
+      _t24__default_alloc_template2b1i0.free_list" 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>
+        <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>
+      <question>Why do I get "tX_seqpar.h:25: list: No such file or directory"
+      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>
+        <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>
+      <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>
+        <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>
+      <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>
+      <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>Is there a Windows version of terminatorX?</question>
-    <answer>
-    <para>No, there is no such version, nor will I write one myself. If you plan on doing so,
-    please let me know.
-    </para>
-    </answer>
+      <question>Is there a Windows version of terminatorX?</question>
+      <answer>
+        <para>No, there is no such version, nor will I write one myself. If you
+        plan on doing so, please let me know.</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>
+        <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>
-
index 811cc62d44c46a17436de0de7bfbf6c7226692f5..46ef4f65fc2a12c9976b1d587b8f65fb116094e6 100644 (file)
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE section SYSTEM "./tX.dtd">
-<section name="main">
+<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>
+        <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 MIDI interface - all accessible through 
-         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>
+        <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 MIDI interface - all accessible through an easy-to-use
+        gtk+ GUI. 
+        <bold>This sofware is designed to run under Linux, FreeBSD and the
+        like</bold>. 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="April 03"><link ref="download.html#Current Version">terminatorX 3.80</link> and <link ref="aseqjoy.html">aseqjoy 0.0.1</link></newsheader>
-       <newstext>
-               <para>This terminatorX release does a very good job at erasing points from my TODO-for-4.0 list. Among
-               other things this release introduces:
-               <itemizedlist>
-                       <listitem>
-                       <para>Finally terminatorX has a <bold>native</bold> <link ref="http://www.alsa-project.org">ALSA</link> 
-                       <bold>backend</bold>. See the new <italic>Preferences</italic> dialog and the online manual for details. 
-                       The ALSA and the OSS backends now both support operating at an 
-                       <bold>arbitrary sampling rate</bold>.</para>
-                       </listitem>
-                       <listitem>
-                       <para>The audio data display is now <bold>zoomable</bold>. This helps scratching large audio
-                       files (like complete songs) significantly. Use the slider on the right of the display area to adjust
-                       the zoom level. When playing the audio data will scroll in such a manner that the current position
-                       is always centered.
-                       </para>
-                       <para>To optimize playback performance terminatorX does a lot of "zoom" calculations in
-                       advance - so adjusting the slider will cause quite some amount of recalculation on large audio
-                       files.</para>
-                       </listitem>
-                       <listitem><para>A <bold>MIDI interface</bold> thanks to a patch by
-                       <person><name>Arthur Peters</name><email>amp@singingwizard.org</email></person>. The MIDI interface 
-                       is based upon the <link ref="http://www.alsa-project.org">ALSA</link> sequencer API, so you'll
-                       have to connect terminatorX' input port to an output port of your choice with either <screen>aconnect</screen>
-                       or for example the <link ref="http://pkl.net/~node/alsa-patch-bay.html">alsa-patch-bay</link>. To map a MIDI controller or note events
-                       to a turntable's parameter click the <italic>MIDI Mapping</italic> button.
-                       </para>
-                       <para>In order to test the new interface I hacked a little tool called 
-                       <link ref="aseqjoy.html">aseqjoy</link> that emits MIDI controller messages based on
-                       Joystick motion.</para>
-                       </listitem>
-                       <listitem><para>I finally untied audio rendering and audio backend. terminatorX now operates
-                       at a <bold>fixed internal blocksize</bold> of 1 ms. So now it doesn't matter anymore with which blocksize
-                       events were recorded - they will be played back correctly with any audio device blocksize.</para>
-                       <para>Note that
-                       a minor problem remains: the sampling rate has an effect on the blocksize, too. While there is 
-                       no problem switching from 22 or 32 kHz to 48 kHz, there will be a slight rounding error switching from or
-                       to 44.1 kHz. So if you record and playback events I suggest you keep the sampling rate the same,
-                       or use "straight" sampling rates like 22, 32 and 48 kHz only.
-                       </para></listitem>
-                       
-                       <listitem>
-                       <para>I added a little pitch calculator that allows adjusting the playback speed
-                       of a turntable to that of the master turntable. Click the <screen>Pitch Adj.</screen>
-                       button for more details.
-                       </para>
-                       </listitem>
-                       
-                       <listitem>
-                       <para>Advancing the use of XML: many XML-related bugs have been fixed, and I moved the <bold>set file format
-                       to XML</bold>, too. The MIDI mappings of parameters will be stored within set files, too. As XML set files
-                       with a lot of sequencer events can grow quite big tX supports writing <bold>gzip compressed set files</bold>
-                       through the use of <link ref="http://www.zlib.org">zlib</link>.
-                       </para>
-                       </listitem>
-                       <listitem>
-                       <para>Thanks to a suggestion by
-                               <person><name>Darrick Servis</name><email>darrick@dcn.davis.ca.us</email></person> 
-                               terminatorX <bold>no longer clips audio</bold>. If the generated amplitude goes beyond the maximum
-                               it will simply be cut off.
-                       </para>
-                       </listitem>
-                       <listitem>
-                       <para>Further cleaning up the layout for small DJ laptop displays: moved some buttons to
-                       a <bold>menu bar</bold> to waste less space. Addtionally you can now hit <screen>F11</screen> to
-                       enter <bold>fullscreen</bold> mode - if your window manager supports <italic>NETWM</italic>.
-                       </para>
-                       </listitem>
-                       <listitem><para>Dropped support for the old gtk+ 1.2 - you have to use gtk+ &gt;= 2.0, now.</para></listitem>
-               </itemizedlist>
-               </para>
-       </newstext>
-    </newsitem>
       <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>
+        <newsheader date='April 03'>
+        <link ref='download.html#Current Version'>terminatorX 3.80</link> and 
+        <link ref='aseqjoy.html'>aseqjoy 0.0.1</link></newsheader>
+        <newstext>
+          <para>This terminatorX release does a very good job at extinguishing
+          points from my TODO-for-4.0 list. Among other things this release
+          introduces: 
+          <itemizedlist>
+            <listitem>
+              <para>Finally terminatorX has a 
+              <bold>native</bold>
+              <link ref='http://www.alsa-project.org'>ALSA</link>
+              <bold>backend</bold>. See the new 
+              <italic>Preferences</italic> dialog and the online manual for
+              details. The ALSA and the OSS backends now both support operating
+              at an 
+              <bold>arbitrary sampling rate</bold>.</para>
+            </listitem>
+            <listitem>
+              <para>The audio data display is now 
+              <bold>zoomable</bold>. This helps scratching large audio files
+              (like complete songs) significantly. Use the slider on the right
+              of the display area to adjust the zoom level. When playing the
+              audio data will scroll in such a manner that the current position
+              is always centered.</para>
+              <para>To optimize playback performance terminatorX does a lot of
+              "zoom" calculations in advance - so adjusting the slider will
+              cause quite some amount of recalculation on large audio files.
+              The focused turntable now has a blue background and a yellow
+              audio signal instead of the old red border.</para>
+            </listitem>
+            <listitem>
+              <para>A 
+              <bold>MIDI interface</bold> thanks to a patch by 
+              <person>
+                <name>Arthur Peters</name>
+                <email>amp@singingwizard.org</email>
+              </person>. The MIDI interface is based upon the 
+              <link ref='http://www.alsa-project.org'>ALSA</link> sequencer API,
+              so you'll have to connect terminatorX' input port to an output
+              port of your choice with either 
+              <screen>aconnect</screen> or for example the 
+              <link ref='http://pkl.net/~node/alsa-patch-bay.html'>
+              alsa-patch-bay</link>. To map a MIDI controller or note events to
+              a turntable's parameter click the 
+              <italic>MIDI Mapping</italic> button.</para>
+              <para>In order to test the new interface I hacked a little tool
+              called 
+              <link ref='aseqjoy.html'>aseqjoy</link> that emits MIDI controller
+              messages based on Joystick motion.</para>
+            </listitem>
+            <listitem>
+              <para>I finally untied audio rendering and audio backend.
+              terminatorX now operates at a 
+              <bold>fixed internal blocksize</bold> of 1 ms. So now it doesn't
+              matter anymore with which blocksize events were recorded - they
+              will be played back correctly with any audio device
+              blocksize.</para>
+              <para>Note that a minor problem remains: the sampling rate has an
+              effect on the blocksize, too. While there is no problem switching
+              from 22 or 32 kHz to 48 kHz, there will be a slight rounding
+              error switching from or to 44.1 kHz. So if you record and
+              playback events I suggest you keep the sampling rate the same, or
+              use "straight" sampling rates like 22, 32 and 48 kHz only.</para>
+            </listitem>
+            <listitem>
+              <para>I added a little 
+              <bold>pitch calculator</bold> that allows adjusting the playback
+              speed of a turntable to that of the master turntable so it easy
+              very easy to synchronize loops now. Note that this feature is
+              proabably useless.</para>
+            </listitem>
+            <listitem>
+              <para>Advancing the use of XML: many XML-related bugs have been
+              fixed, and I moved the 
+              <bold>set file format to XML</bold>, too. The MIDI mappings of
+              parameters will be stored within set files, too. As XML set files
+              with a lot of sequencer events can grow quite big tX supports
+              writing 
+              <bold>gzip compressed set files</bold> through the use of 
+              <link ref='http://www.zlib.org'>zlib</link>.</para>
+            </listitem>
+            <listitem>
+              <para>Thanks to a suggestion by 
+              <person>
+                <name>Darrick Servis</name>
+                <email>darrick@dcn.davis.ca.us</email>
+              </person> terminatorX 
+              <bold>no longer clips audio</bold>. If the generated amplitude
+              goes beyond the maximum it will simply be cut off.</para>
+            </listitem>
+            <listitem>
+              <para>Further cleaning up the layout for small DJ laptop
+              displays: moved some buttons to a 
+              <bold>menu bar</bold> to waste less space. Addtionally you can now
+              hit 
+              <screen>F11</screen> to enter 
+              <bold>fullscreen</bold> mode - if your window manager supports 
+              <italic>NETWM</italic>.</para>
+            </listitem>
+            <listitem>
+              <para>Dropped support for the old gtk+ 1.2 - you have to use gtk+
+              &gt;= 2.0, now.</para>
+            </listitem>
+          </itemizedlist></para>
+          <para>This release has seen quite some 
+          <link ref="http://developer.kde.org/~sewardj">valgrinding</link> so it
+          should run rather stable and a major mem leak has been fixedm, too.
+          Unlike 3.73 this one compiles with gcc &gt; 3.0 with 
+          <screen>-Wall</screen> and 
+          <screen>-Werror</screen> enabled.</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 <link ref="http://www.w3.org">W3C</link>'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>
+        <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 "pitch" 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'>
+          "terminatorX TOOT" tutorial</link> - reading that will accelerate the
+          creation of your first scratch considerably.</para>
+        </newstext>
       </newsitem>
-      
       <newsitem>
-        <newsheader date="22 mar">Fresh <link ref="download.html#Current Version">
-            RPMs</link> (for i586 and Sparc machines)
-        </newsheader>
-        <newstext>   
+        <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>
-               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>
+          <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="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>
+        <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 (&gt;= 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 &gt; 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 &gt;= 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 
+              <link ref='http://www.w3.org'>W3C</link>'s validator accept the
+              pages again, and a favicon that needs some improvement.</para>
+            </listitem>
+          </itemizedlist></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>
+     </news>
   </main>
 </section>
-
index 358c4ae6ba3b14834bf45fd45e356f15604956df..619550e871f3d57834d41cca2741787eb3fc8818 100644 (file)
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE section SYSTEM "./tX.dtd"[
-]>
-<section name="scratches">
+<?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>
-
+    <para>
+    <bold>Yeah, Boy!</bold>(talking 
+    <link ref='http://www.publicenemy.com/soldiers/flavor.php'>flavor</link>,
+    here)</para>
+    <para>Here are the current "users scratches". 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>
+        <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><nopara>The whole set is terminatorX plus an external reverb
+          box.</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>
+        <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>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>
+        <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>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>
+        <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>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>
+        <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>"Mixed in 15 min"</italic>- Wow!</nopara>
+          </tinycomment>
+        </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>
+        <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>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>
+        <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>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>
+        <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>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>
+        <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>
+    <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>
-
index 5c3411f08d5600b1c416a1ca84e241d5e9b578ef..e92ae7874685ce3825e2fd0444ff836c0791416e 100644 (file)
@@ -1,42 +1,32 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE section SYSTEM "./tX.dtd"[
-]>
-<section name="screenshots">
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE section SYSTEM "./tX.dtd"[ ]>
+<section name='screenshots'>
   <screenshots>
     <subsection>
       <title>What it looks like...</title>
-
       <para>Here are some screenshots I took of terminatorX 3.80 in
-       action.</para>
-
+      action.</para>
       <para>
-
-       <screenshot filename="shot-3.80-1.png">
-         <nopara>This shows terminatorX with the sequencer
-         and live scratching in effect.</nopara>
-       </screenshot>
-
-       <screenshot filename="shot-3.80-2.png">
-         <nopara>Selecting a <link ref="http://www.ladspa.org">LADSPA</link>
-         plugin from a <link ref="liblrdf">liblrdf</link> structured menu. 
-         </nopara>
-       </screenshot>
-       
-       <screenshot filename="shot-3.80-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.80-4.png">
-         <nopara>Configuring terminatorX.</nopara>
-       </screenshot>
-       
-       <screenshot filename="shot-3.80-5"><nopara>Mapping MIDI events
-       to turntable parameters.</nopara></screenshot>
-
+        <screenshot filename='shot-3.80-1.png'>
+          <nopara>This shows terminatorX with the sequencer and live scratching
+          in effect.</nopara>
+        </screenshot>
+        <screenshot filename='shot-3.80-2.png'>
+          <nopara>Selecting a 
+          <link ref='http://www.ladspa.org'>LADSPA</link> plugin from a 
+          <link ref='liblrdf'>liblrdf</link> structured menu.</nopara>
+        </screenshot>
+        <screenshot filename='shot-3.80-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.80-4.png'>
+          <nopara>Configuring terminatorX.</nopara>
+        </screenshot>
+        <screenshot filename='shot-3.80-5'>
+          <nopara>Mapping MIDI events to turntable parameters.</nopara>
+        </screenshot>
       </para>
     </subsection>
   </screenshots>
 </section>
-
index 933cba8b8efb2a77f2408632d5ae3eeecbea1bfb..4c2d59f108e5ba5452ca20c6adbadf80de73153a 100644 (file)
@@ -23,7 +23,7 @@
 <!ELEMENT tt (author, text, ttimages)>
 <!ATTLIST tt 
   title CDATA #REQUIRED>
-<!ELEMENT ttimages (images+)>
+<!ELEMENT ttimages (image+)>
   
 <!ELEMENT tinycomment (nopara)>
 
 <!ATTLIST rpm
   version CDATA #REQUIRED
   rpmsubversion CDATA #REQUIRED
-  type (src|i386|i586|sparc) #REQUIRED>
+  type (src|i386|i586|sparc) #REQUIRED
+  distribution CDATA #IMPLIED
+  note CDATA #IMPLIED
+  ext CDATA #IMPLIED>
 
 <!ELEMENT general (heading, subtitle, text)>
 <!ELEMENT heading (#PCDATA)>
index 4897f7b0998f4085e38d36c484360584d3ecf15f..59eb15116fd47382a2a43994d54db560e49b60a5 100644 (file)
-<?xml version="1.0"?> 
-
-<xsl:stylesheet
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  version="1.0">
-  
-  <xsl:template match="section">
+<?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>
+        <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('docs','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>
+      <body link='#FFFF99' vlink='#FFCC33' alink='#FF0000' bgcolor='#555555'
+      text='#FFFFFF'
+      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('docs','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');">
 
-
-       <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='docs'"> 
-                       <td bgcolor="#777777"><img alt="-" border="0" src="pix/vinyl-highlight.png" vspace="0"/></td><td bgcolor="#777777">docs</td><td bgcolor="#777777"><img alt="-" border="0" src="pix/vinyl-spacer.png" vspace="0"/></td>
-               </xsl:if>
-               <xsl:if test="@name!='docs'"> 
-                       <td><img name="docs" alt="-" border="0" src="pix/vinyl.png" vspace="0"/></td><td><a onMouseOut="rolloverOff('docs');" onMouseOver="rolloverOn('docs');" href="docs.html">docs</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>
+        <table width='100%' cellspacing='5px'>
+          <tr>
+            <td>
+              <center>
+                <img src='pix/tX_logo.jpg' ALT='terminatorX' />
+              </center>
+            </td>
+          </tr>
+        </table>
+<!--new-->
+        <table width='100%' cellspacing='0' cellpadding='0' border='0'>
+          <tr>
+            <td bgcolor='#ffffff' align='left'>
+              <font face='Arial,Helvetica' color='#ffffff' size='+2'>
+              menu</font>
+            </td>
+            <td width='100%' bgcolor='#ffffff'>
+              <table width='100%' cellspacing='0' cellpadding='4px' border='0'>
+                <tr>
+                  <td width='100%' bgcolor='#ffffff' align='right'>
+                    <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' cellpadding='2px' border='0'>
+                <tr>
+                  <xsl:if test="@name='main'">
+                    <td bgcolor='#777777'>
+                      <img vspace='0' alt='-' src='pix/vinyl-highlight.png'
+                      border='0' />
+                    </td>
+                    <td bgcolor='#777777'>main</td>
+                    <td bgcolor='#777777'>
+                      <img vspace='0' alt='-' src='pix/vinyl-spacer.png'
+                      border='0' />
+                    </td>
+                  </xsl:if>
+                  <xsl:if test="@name!='main'">
+                    <td>
+                      <img vspace='0' alt='-' src='pix/vinyl.png' name='main'
+                      border='0' />
+                    </td>
+                    <td>
+                      <a onMouseOver="rolloverOn('main');"
+                      onMouseOut="rolloverOff('main');" href='./'>main</a>
+                    </td>
+                    <td />
+                  </xsl:if>
+                </tr>
+                <tr>
+                  <xsl:if test="@name='download'">
+                    <td bgcolor='#777777'>
+                      <img vspace='0' alt='-' src='pix/vinyl-highlight.png'
+                      border='0' />
+                    </td>
+                    <td bgcolor='#777777'>download</td>
+                    <td bgcolor='#777777'>
+                      <img vspace='0' alt='-' src='pix/vinyl-spacer.png'
+                      border='0' />
+                    </td>
+                  </xsl:if>
+                  <xsl:if test="@name!='download'">
+                    <td>
+                      <img vspace='0' alt='-' src='pix/vinyl.png'
+                      name='download' border='0' />
+                    </td>
+                    <td>
+                      <a onMouseOver="rolloverOn('download');"
+                      onMouseOut="rolloverOff('download');"
+                      href='download.html'>download</a>
+                    </td>
+                    <td />
+                  </xsl:if>
+                </tr>
+                <tr>
+                  <xsl:if test="@name='screenshots'">
+                    <td bgcolor='#777777'>
+                      <img vspace='0' alt='-' src='pix/vinyl-highlight.png'
+                      border='0' />
+                    </td>
+                    <td bgcolor='#777777'>screenshots</td>
+                    <td bgcolor='#777777'>
+                      <img vspace='0' alt='-' src='pix/vinyl-spacer.png'
+                      border='0' />
+                    </td>
+                  </xsl:if>
+                  <xsl:if test="@name!='screenshots'">
+                    <td>
+                      <img vspace='0' alt='-' src='pix/vinyl.png'
+                      name='screenshots' border='0' />
+                    </td>
+                    <td>
+                      <a onMouseOver="rolloverOn('screenshots');"
+                      onMouseOut="rolloverOff('screenshots');"
+                      href='screenshots.html'>screenshots</a>
+                    </td>
+                    <td />
+                  </xsl:if>
+                </tr>
+                <tr>
+                  <xsl:if test="@name='faq'">
+                    <td bgcolor='#777777'>
+                      <img vspace='0' alt='-' src='pix/vinyl-highlight.png'
+                      border='0' />
+                    </td>
+                    <td bgcolor='#777777'>faq</td>
+                    <td bgcolor='#777777'>
+                      <img vspace='0' alt='-' src='pix/vinyl-spacer.png'
+                      border='0' />
+                    </td>
+                  </xsl:if>
+                  <xsl:if test="@name!='faq'">
+                    <td>
+                      <img vspace='0' alt='-' src='pix/vinyl.png' name='faq'
+                      border='0' />
+                    </td>
+                    <td>
+                      <a onMouseOver="rolloverOn('faq');"
+                      onMouseOut="rolloverOff('faq');" href='faq.html'>faq</a>
+                    </td>
+                    <td />
+                  </xsl:if>
+                </tr>
+                <tr>
+                  <xsl:if test="@name='docs'">
+                    <td bgcolor='#777777'>
+                      <img vspace='0' alt='-' src='pix/vinyl-highlight.png'
+                      border='0' />
+                    </td>
+                    <td bgcolor='#777777'>docs</td>
+                    <td bgcolor='#777777'>
+                      <img vspace='0' alt='-' src='pix/vinyl-spacer.png'
+                      border='0' />
+                    </td>
+                  </xsl:if>
+                  <xsl:if test="@name!='docs'">
+                    <td>
+                      <img vspace='0' alt='-' src='pix/vinyl.png' name='docs'
+                      border='0' />
+                    </td>
+                    <td>
+                      <a onMouseOver="rolloverOn('docs');"
+                      onMouseOut="rolloverOff('docs');" href='docs.html'>
+                      docs</a>
+                    </td>
+                    <td />
+                  </xsl:if>
+                </tr>
+                <tr>
+                  <xsl:if test="@name='scratches'">
+                    <td bgcolor='#777777'>
+                      <img vspace='0' alt='-' src='pix/vinyl-highlight.png'
+                      border='0' />
+                    </td>
+                    <td bgcolor='#777777'>scratches</td>
+                    <td bgcolor='#777777'>
+                      <img vspace='0' alt='-' src='pix/vinyl-spacer.png'
+                      border='0' />
+                    </td>
+                  </xsl:if>
+                  <xsl:if test="@name!='scratches'">
+                    <td>
+                      <img vspace='0' alt='-' src='pix/vinyl.png'
+                      name='scratches' border='0' />
+                    </td>
+                    <td>
+                      <a onMouseOver="rolloverOn('scratches');"
+                      onMouseOut="rolloverOff('scratches');"
+                      href='scratches.html'>scratches</a>
+                    </td>
+                    <td />
+                  </xsl:if>
+                </tr>
+                <tr>
+                  <xsl:if test="@name='turntable gallery'">
+                    <td bgcolor='#777777'>
+                      <img vspace='0' alt='-' src='pix/vinyl-highlight.png'
+                      border='0' />
+                    </td>
+                    <td bgcolor='#777777'>turntables</td>
+                    <td bgcolor='#777777'>
+                      <img vspace='0' alt='-' src='pix/vinyl-spacer.png'
+                      border='0' />
+                    </td>
+                  </xsl:if>
+                  <xsl:if test="@name!='turntable gallery'">
+                    <td>
+                      <img vspace='0' alt='-' src='pix/vinyl.png'
+                      name='turntable' border='0' />
+                    </td>
+                    <td>
+                      <a onMouseOver="rolloverOn('turntable');"
+                      onMouseOut="rolloverOff('turntable');"
+                      href='turntable.html'>turntables</a>
+                    </td>
+                    <td />
+                  </xsl:if>
+                </tr>
+                <tr>
+                  <xsl:if test="@name='aseqjoy'">
+                    <td bgcolor='#777777'>
+                      <img vspace='0' alt='-' src='pix/vinyl-highlight.png'
+                      border='0' />
+                    </td>
+                    <td bgcolor='#777777'>aseqjoy</td>
+                    <td bgcolor='#777777'>
+                      <img vspace='0' alt='-' src='pix/vinyl-spacer.png'
+                      border='0' />
+                    </td>
+                  </xsl:if>
+                  <xsl:if test="@name!='aseqjoy'">
+                    <td>
+                      <img vspace='0' alt='-' src='pix/vinyl.png'
+                      name='aseqjoy' border='0' />
+                    </td>
+                    <td>
+                      <a onMouseOver="rolloverOn('aseqjoy');"
+                      onMouseOut="rolloverOff('aseqjoy');" href='aseqjoy.html'>
+                      aseqjoy</a>
+                    </td>
+                    <td />
+                  </xsl:if>
+                </tr>
+              </table>
+            </td>
+<!--contents-->
+            <td valign='top'>
+              <table width='100%' cellspacing='0' cellpadding='10px'
+              border='0'>
+                <tr>
+                  <td width='100%' bgcolor='#777777'>
+                    <xsl:apply-templates />
+                  </td>
+                </tr>
+              </table>
+            </td>
+          </tr>
+        </table>
+<!-- bottom -->
+<HR width='100%' />
+        <table width='100%'>
+          <tr>
+            <td width='100%' align='left' 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 width='88' alt='Valid HTML 4.01!'
+                src='http://validator.w3.org/images/vh401' height='31'
+                border='0' />
+              </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 match='heading'>
+    <font size='+2'>
+      <xsl:apply-templates />
+    </font>
+    <br />
   </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 match='subtitle'>
+    <font size='-2'>
+      <xsl:apply-templates />
+    </font>
   </xsl:template>
-  
-  <xsl:template match="italic">
-    <i><xsl:apply-templates/></i>
+  <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="red">
-    <font color="#FF4444"><xsl:apply-templates/></font>
+  <xsl:template match='italic'>
+    <i>
+      <xsl:apply-templates />
+    </i>
   </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 match='red'>
+    <font color='#FF4444'>
+      <xsl:apply-templates />
+    </font>
   </xsl:template>
-  
-  <xsl:template match="link">
-  <A><xsl:attribute name="HREF"><xsl:value-of select="@ref"/></xsl:attribute><xsl:apply-templates/></A>
+  <xsl:template match='bold'>
+    <b>
+      <xsl:apply-templates />
+    </b>
+  </xsl:template>
+  <xsl:template match='newsheader' />
+  <xsl:template match='newsitem'>
+    <table cellspacing='0' cellpadding='0' border='0'>
+      <!-- header -->
+<tr>
+        <td bgcolor='#999999'>
+          <xsl:for-each select='newsheader'>
+            <table cellspacing='0' cellpadding='2px' border='0'>
+              <tr>
+                <td>
+                  <img alt='new:' src='pix/new.png' />
+                </td>
+                <td width='100%' align='left' valign='middle'>
+                  <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="newline">
-    <br/>
+  <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="itemizedlist">
-    CLOSE_DA_P<ul><xsl:apply-templates/></ul>OPEN_DA_P
+  <xsl:template match='newline'>
+    <br />
   </xsl:template>
-  
-  <xsl:template match="listitem">
-    <li><xsl:apply-templates/></li>
+  <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 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">
+  <xsl:template match='index'>
     <p>
-    <font size="+1">
-    <xsl:value-of select="title"/>
-    </font>
+      <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>
+      <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>
+    <p></p>
   </xsl:template>
-  
-  <xsl:template match="subsection">
+  <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>
+      <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:apply-templates />
   </xsl:template>
-  
-  <xsl:template match="title">
-  </xsl:template>
-  
-  <xsl:template match="tarfiles">
+  <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>
+      <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">
+  <xsl:template name='rpm' match='rpm'>
+    <li>
+      <xsl:if test="@type='src'">Source RPM: </xsl:if>
+      <xsl:if test="@type!='src'">
+      <xsl:value-of select='@type' />-binary RPM: </xsl:if>
+      <a>
+      <xsl:attribute name='href'>terminatorX-<xsl:value-of select='@version' />-<xsl:value-of select='@rpmsubversion' />.<xsl:value-of select='@type' />.<xsl:if test='@ext'><xsl:value-of select='@ext' />.</xsl:if>rpm</xsl:attribute>
+        terminatorX-<xsl:value-of select='@version' />-<xsl:value-of select='@rpmsubversion' />.<xsl:value-of select='@type' />.<xsl:if test='@ext'><xsl:value-of select='@ext' />.</xsl:if>rpm</a>
+      <xsl:if test='@distribution'> built for: <i>
+        <xsl:value-of select='@distribution' />
+      </i></xsl:if>
+      <xsl:if test='@note'> <b>note:</b>  
+      <xsl:value-of select='@note' /></xsl:if>
+    </li>
+  </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>
+      <xsl:for-each select='rpm[@version!=//current/@version]'>
+        <xsl:call-template name='rpm' />
+      </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 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[@version=//current/@version]'>
+        <xsl:call-template name='rpm' />
+      </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>
   </xsl:template>
-  
-  <xsl:template match="file">
-    <a><xsl:attribute name="href"><xsl:apply-templates/></xsl:attribute><xsl:apply-templates/></a>
+  <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="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 match='file'>
+    <a>
+      <xsl:attribute name='href'>
+        <xsl:apply-templates />
+      </xsl:attribute>
+      <xsl:apply-templates />
+    </a>
   </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 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="question">
+  <xsl:template match='qa'>
+    <table width='100%' cellspacing='0' cellpadding='0' border='0'>
+      <tr>
+        <td bgcolor='#999999'>
+          <table width='100%' cellspacing='0' cellpadding='3px' border='0'>
+            <tr>
+              <td>
+                <a>
+                  <xsl:attribute name='name'>
+                    <xsl:value-of select='position() div 2' />
+                  </xsl:attribute>
+                  <font color='#FFCC33' size='+1'>
+                    <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="answer">
-    <xsl:apply-templates/>
+  <xsl:template match='question'></xsl:template>
+  <xsl:template match='answer'>
+    <xsl:apply-templates />
   </xsl:template>
+  <xsl:template match='turntabletable'>
+    <table width='100%' cellpadding='2px' border='2'>
+      <!--
   
-  <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/>
+<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>
+  <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>
-    <xsl:apply-templates/>
+    <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 face='Arial,Helvetica' color='#000000' size='+1'>
+            <b>Scratch</b>
+          </font>
+        </td>
+        <td>
+          <font face='Arial,Helvetica' color='#000000' size='+1'>
+            <b>Author</b>
+          </font>
+        </td>
+        <td>
+          <font face='Arial,Helvetica' color='#000000' size='+1'>
+            <b>Description</b>
+          </font>
+        </td>
+      </tr>
+      <xsl:apply-templates />
     </table>
   </xsl:template>
-    
-  <xsl:template match="scratch">
-  <tr>
-    <xsl:apply-templates/>
-  </tr>
+  <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 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 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 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>
+  <xsl:template match='screenshot'>
+    <xsl:if test="name(.)='screenshot'">CLOSE_DA_P</xsl:if>
     <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/>
+      <table width='100%' 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>
     </center>
-    </td>
-    </tr>
-    </table>
-  </center>
-  <xsl:if test="name(.)='screenshot'">OPEN_DA_P</xsl:if>
+    <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:template match='image'>
+    <xsl:if test='position()&gt;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 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>
index e5ff36ca7a7cfe15e968d5510dc4d2b2f3f46629..4bbe5e10ef3b80bea031340ee0a3f55e5ab55525 100644 (file)
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE section SYSTEM "./tX.dtd"[
-]>
-<section name="turntable gallery">
+<?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>
-
+    <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>
-