updates - alex
authorterminatorX <>
Wed, 30 Jul 2003 22:06:09 +0000 (22:06 +0000)
committerterminatorX <>
Wed, 30 Jul 2003 22:06:09 +0000 (22:06 +0000)
website/aseqjoy.xml
website/docs.xml
website/download.xml
website/faq.xml
website/index.xml
website/linkdb.xml
website/links.xml
website/scratches.xml
website/screenshots.xml
website/tX.xsl
website/turntable.xml

index 1a3b786b60734c14c99e8dd2d1a82edb199e08f0..b42fbffe7a1eb661aa4ee3d3a50803b22b6d540a 100644 (file)
@@ -1,38 +1,28 @@
-<?xml version='1.0' encoding='iso-8859-1'?>
+<?xml version="1.0" encoding="ISO-8859-1"?>
 <!DOCTYPE section SYSTEM "./tX.dtd">
-<section name='aseqjoy'>
-  &db;
-  <aseqjoy>
+<section name="aseqjoy"> &db; <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 
-    <dblink id='alsa'>ALSA</dblink> 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 <dblink id='aseqjoy_man'>manpage</dblink>.</para>
-    <para>If you want to test it yourself download the source: 
-    <file>aseqjoy-0.0.1.tar.gz</file> (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>
+      <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
+        <dblink id="alsa">ALSA</dblink> 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 <dblink id="aseqjoy_man">manpage</dblink>.</para>
+    <para>If you want to test it yourself download the source: <file>aseqjoy-0.0.1.tar.gz</file>
+      (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>
+      <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 
-    <dblink id='alsa'>alsa-utils</dblink> package to connect
-    aseqjoy's MIDI output port to other input ports.</para>
-    <para>aseqjoy is distributed under the terms of the 
-    <dblink id='license'>GNU General Public License V2</dblink>.</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
+        <dblink id="alsa">alsa-utils</dblink> package to connect aseqjoy's MIDI output port to other
+      input ports.</para>
+    <para>aseqjoy is distributed under the terms of the <dblink id="license">GNU General Public
+        License V2</dblink>.</para>
   </aseqjoy>
 </section>
index 2212ceafb20de63fee68e1aa0800a9b214c1232f..8f50ae9f7c873c450f940006994152a537cc0872 100644 (file)
@@ -1,49 +1,40 @@
-<?xml version='1.0' encoding='iso-8859-1'?>
+<?xml version="1.0" encoding="ISO-8859-1"?>
 <!DOCTYPE section SYSTEM "./tX.dtd">
-<section name='docs'>
-  &db;
-  <docs>
-    <para>The following documentation is available: 
-    <itemizedlist>
-      <listitem>
-        <para>An HTML version of the 
-        <dblink id='manual'>terminatorX online manual</dblink>. 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 
-        <dblink id='tutorial'>here</dblink> or have look at all the other 
-        <dblink id='quicktoots'>QuickToots</dblink> available.</para>
-      </listitem>
-      <listitem>
-        <para>If you're stuck on installing terminatorX I recommend having a
-        look at the <dblink id='install'/> file.</para>
-      </listitem>
-      <listitem>
-        <para>I also maintain a 
-        <dblink id='faq'>Frequently Asked Questions</dblink> document.</para>
-      </listitem>
-    </itemizedlist></para>
-    <para>Additionally there's a 
-    <itemizedlist>
-      <listitem>
-        <para>HTML version of the 
-        <dblink id='aseqjoy'/>
-        <dblink id='aseqjoy_man'>man page</dblink>.</para>
-      </listitem>
-      <listitem>
-        <para>And a rather old 
-        <dblink id='oldtable'>description</dblink> on how I turned my
-        broken turntable into terminatorX device.</para>
-      </listitem>
-    </itemizedlist></para>
+<section name="docs"> &db; <docs>
+    <para>The following documentation is available: <itemizedlist>
+        <listitem>
+          <para>An HTML version of the <dblink id="manual">terminatorX online manual</dblink>. 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
+              <dblink id="tutorial">here</dblink> or have look at all the other <dblink
+            id="quicktoots">QuickToots</dblink> available.</para>
+        </listitem>
+        <listitem>
+          <para>If you're stuck on installing terminatorX I recommend having a look at the <dblink
+            id="install"/> file.</para>
+        </listitem>
+        <listitem>
+          <para>I also maintain a <dblink id="faq">Frequently Asked Questions</dblink> document.</para>
+        </listitem>
+      </itemizedlist>
+    </para>
+    <para>Additionally there's a <itemizedlist>
+        <listitem>
+          <para>HTML version of the <dblink id="aseqjoy"/>
+            <dblink id="aseqjoy_man">man page</dblink>.</para>
+        </listitem>
+        <listitem>
+          <para>And a rather old <dblink id="oldtable">description</dblink> on how I turned my
+            broken turntable into terminatorX device.</para>
+        </listitem>
+      </itemizedlist>
+    </para>
   </docs>
 </section>
index 4cf62e4f45c1618bdb4e846e3af1497df9a3858d..1395fc97ed29663009697620d6add897482db6cf 100644 (file)
-<?xml version='1.0' encoding='iso-8859-1'?>
+<?xml version="1.0" encoding="ISO-8859-1"?>
 <!DOCTYPE section SYSTEM "./tX.dtd">
-<section name='download'>
-  &db;
-  <download>
+<section name="download"> &db; <download>
     <index>
       <title>Available Downloads</title>
     </index>
-    <current version='3.80' havebz2='yes' />
+    <current havebz2="yes" version="3.80"/>
     <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>
-          <dblink id='ladspa'/> 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' 
-          <dblink id='liblrdf'/> 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 
-          <dblink id='alsa'/> 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>
+      <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/>
+            </nopara>
+          </listitem>
+          <listitem>
+            <nopara>The <link ref="http://www.gtk.org">Gimp Toolkit - gtk+</link> Version 2.0 or above</nopara>
+          </listitem>
+          <listitem>
+            <nopara>
+              <dblink id="ladspa"/> 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' <dblink id="liblrdf"/> 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 <dblink id="alsa"/> 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 want to check out
-      <person>
-        <name>Thac</name>
-        <email>tobbe@nyvalls.com</email>
-      </person>'s RPMs <link ref='http://rpm.nyvalls.se/sound9.1.html'>here</link>.</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 want to check out <person>
+          <name>Thac</name>
+          <email>tobbe@nyvalls.com</email>
+        </person>'s RPMs <link ref="http://rpm.nyvalls.se/sound9.1.html">here</link>.</para>
     </subsection>
     <subsection>
       <title>Old Sources</title>
       <tarfiles>
-        <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' />
+        <tar havebz2="yes" version="3.80"/>
+        <tar havebz2="yes" version="3.73"/>
+        <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 rpmsubversion='1' version='3.80' type='i386' distribution='RH 8.0'
-          note='without liblrdf, ALSA, MIDI and libmad support, works with RH9' />
-        <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' />
+        <rpm distribution="RH 8.0"
+          note="without liblrdf, ALSA, MIDI and libmad support, works with RH9" rpmsubversion="1"
+          type="i386" version="3.80"/>
+        <rpm rpmsubversion="1" type="i386" version="3.73"/>
+        <rpm rpmsubversion="1" type="i386" version="3.72"/>
+        <rpm rpmsubversion="2" type="i586" version="3.71"/>
+        <rpm rpmsubversion="1" type="i586" version="3.70"/>
+        <rpm rpmsubversion="2" type="i586" version="3.60"/>
+        <rpm rpmsubversion="2" type="sparc" version="3.71"/>
+        <rpm rpmsubversion="1" type="src" version="3.73"/>
+        <rpm rpmsubversion="1" type="src" version="3.72"/>
+        <rpm rpmsubversion="2" type="src" version="3.71"/>
+        <rpm rpmsubversion="1" type="src" version="3.70"/>
+        <rpm rpmsubversion="2" type="src" version="3.60"/>
       </rpmfiles>
     </subsection>
     <subsection>
     </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 &quot;get you started&quot;-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 6008656c462eecc4583eda2c745fcaf4c92b8996..f09ceee6c820b881110764f0401d743d55e93858 100644 (file)
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE section SYSTEM "./tX.dtd"[ ]>
-<section name='faq'>
-  &db;
-  <faq>
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE section SYSTEM "./tX.dtd">
+<section name="faq"> &db; <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 
-        <dblink id="ladspa"/> 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 &quot;scratch&quot; 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
+            <dblink id="ladspa"/> 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>
       <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>
+        <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>
       <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 "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>
+        <para>Oh well due to my laziness I guess. <person>
+            <name>Benno Senoner</name>
+            <email>sbenno@gardena.net</email>
+          </person> wrote a <link
+            ref="http://www.gardena.net/benno/linux/terminatorX-3.2-mmap.patch"> patch</link>
+          against 3.2 to support &quot;on-the-fly&quot; reading of wavfiles. The problem is the
+          patch wasn't applyable to later versions of terminatorX, nor would it work with sox/mpg123
+          support. I still plan to port the patch to the newer releases sometime.</para>
       </answer>
     </qa>
     <qa>
-      <question>How can I use a second mouse, a joystick or other input devices
-      for scratching?</question>
+      <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 
-        <dblink id='aseqjoy'/> 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>
+          <bold>Update:</bold> If you want to use your joystick along with your mouse I suggest
+          using my tiny <dblink id="aseqjoy"/> 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 &quot;the optional XInput section&quot;. 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 &quot;Apply&quot;
+          or &quot;Ok&quot; and you should be able to scratch with that devices next time you press &quot;Start&quot;.</para>
       </answer>
     </qa>
     <qa>
-      <question>Why do I get "./terminatorX: undefined symbol:
-      _t24__default_alloc_template2b1i0.free_list" when I run
-      terminatorX?</question>
+      <question>Why do I get &quot;./terminatorX: undefined symbol:
+        _t24__default_alloc_template2b1i0.free_list&quot; when I run terminatorX?</question>
       <answer>
-        <para>You probably 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 probably 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 "tX_seqpar.h:25: list: No such file or directory"
-      when building terminatorX myself?</question>
+      <question>Why do I get &quot;tX_seqpar.h:25: list: No such file or directory&quot; when
+        building terminatorX myself?</question>
       <answer>
-        <para>You don't have the libstdc++ headers installed. Install the
-        libstdc++-devel package for the libstdc++-package you have
-        installed.</para>
+        <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>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 &quot;omit xfree86-dga&quot;</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>
+        <para><bold>No</bold>. While I recommended installing terminatorX suid root before - I no 
+          longer do for two reasons:
+          <itemizedlist>            
+            <listitem><nopara>According to this
+              <link ref="http://www.securityfocus.com/archive/1/328469">bugtraq posting</link> it is 
+              insecure (I've always warned you before). Although this specific exploit is fixable I'm 
+              rather sure it would be easy to create others.</nopara></listitem>
+            <listitem><nopara>Some machines seem to deadlock with the engine thread
+              running with rt-scheduling for no obvious reason. Unluckily this is pretty hard
+              to debug.</nopara></listitem>
+          </itemizedlist>         
+        </para>
+        <para>So instead of running terminatorX suid root I recommend using either 
+          <link ref="http://www.kernel.org">Linux 2.6.x</link> or
+          <person>
+            <name>Con Kolivas</name>
+            <email>conman@kolivas.org</email>
+          </person>' <link ref="http://members.optusnet.com.au/ckolivas/kernel/">patches</link>
+          against Linux 2.4.x. With these new scheduler tweaks terminatorX performs very well without
+          extra privileges.</para>
+        <!--<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>
+    <!--<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>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>
+          <screen>chown root: ./terminatorX &amp;&amp; chmod u+s ./terminatorX</screen>
         </para>
       </answer>
-    </qa>
+    </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>
+        <para>No, there is no such version, nor will I port it myself - as I hardly have the time
+          to maintain the regular version. If you plan to port it,
+          please let <person>
+            <name>me</name>
+            <email>alex@lisas.de</email>
+          </person> 
+          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>
index acf1e119d6dc8037f2518f9e6cd027cebb4fb7e6..d0f0ce6a0523df7b00566ccf0ee5b76fb5be242d 100644 (file)
-<?xml version="1.0" encoding="iso-8859-1"?>
+<?xml version="1.0" encoding="ISO-8859-1"?>
 <!DOCTYPE section SYSTEM "./tX.dtd">
-<section name='main'>
-  &db;
-  <main>
+<section name="main"> &db; <main>
     <general>
       <heading>Welcome to the terminatorX website!</heading>
       <subtitle>
-        <nopara>Bookmark this site as 
-        <link ref='http://terminatorX.cx'>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://terminatorX.cx">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 
-        <dblink id="ladspa"/> 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 
-        <dblink id='faq'/>/<dblink id='manual'>Manual</dblink>/<dblink id='tutorial'>Tutorial</dblink>/<dblink id='license'>License</dblink> and if you have further questions,
-        suggestions, patches, 
-        <dblink id='scratches'>scratches</dblink> 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 &quot;scratch&quot; 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 <dblink id="ladspa"/> 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 <dblink id="faq"/>, <dblink id="manual">Manual</dblink>,
+            <dblink id="tutorial">Tutorial</dblink>, <dblink id="license">License</dblink> and if
+          you have further questions, suggestions, patches, <dblink
+          id="scratches">scratches</dblink> send me a <link ref="mailto:alex@lisas.de">mail</link>
+        </para>
       </text>
     </general>
     <news>
       <newsitem>
-        <newsheader date='April 18'>
-        <link ref='download.html#Current Version'>terminatorX 3.80</link> and 
-        <link ref='aseqjoy.html'>aseqjoy 0.0.1</link></newsheader>
+        <newsheader date="Jul 23">Updates, 3.81 on the way</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> <dblink id="alsa"/>
-              <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>
-         </itemizedlist>
-          <screenshot filename='shot-3.80-1.png'>
-            <nopara>Scrolling audio data, a menubar and even less space consumption
-               for small displays.
-           </nopara>
-          </screenshot>
-         <itemizedlist>  
-            <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 
-              <dblink id="alsa"/> 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 <dblink id='aseqjoy'/> 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 is
-              very easy to synchronize (<italic>precisely cut</italic>) loops now. 
-             Note that this feature is
-              probably useless with large audiofiles (like complete songs).</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 fixed, too.
-          Unlike 3.73 this one compiles with gcc &gt; 3.0 with 
-          <screen>-Wall</screen> and 
-          <screen>-Werror</screen> enabled. Well, the version number ends in a
-         zero, which means lots of new code with possibly lots of new and yet
-         undiscovered bugs.
-         </para>
+          <para>As shown in this <link ref="http://www.securityfocus.com/archive/1/328469">bugtraq
+            post</link> by <person>
+              <name>Andrew</name>
+              <email/>
+            </person> installing terminatorX suid root is exploitable. Although you had been
+            warned before, I decided to change my <link ref="faq.html#11">recommendation</link>.</para>
+          <para>The website now features a new <dblink id="links"/>.</para>
+          <para>
+            <person>
+              <name>Arthur Moore</name>
+              <email>art@infinitybox.net</email>
+            </person> is a &quot;twentieth-century&quot; composer who is using terminatorX for his 
+            compositions. I've
+            added three of his compositions to the <dblink id="scratches"/> to find out more about
+            the author and his music check out his <link ref="http://infinitybox.net">site</link>.</para>
+          <para>The friendly people of <dblink id="sonar"/> invited me to do a demonstration at this
+            year's festival. As a side effect I was actually forced to <bold>use</bold> terminatorX,
+            so I found and fixed quite some annoying bugs with the upcomming 3.81 release.
+            Additionally it will feature MIDI and sequencer improvements and a <dblink id="jack"/> 
+            backend.</para>
+        </newstext>
+      </newsitem>
+      <newsitem>
+        <newsheader date="April 18">
+          <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>
+                  <dblink id="alsa"/>
+                  <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>
+            </itemizedlist>
+            <screenshot filename="shot-3.80-1.png">
+              <nopara>Scrolling audio data, a menubar and even less space consumption for small
+                displays. </nopara>
+            </screenshot>
+            <itemizedlist>
+              <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
+                  &quot;zoom&quot; 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 <dblink id="alsa"/> 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 <dblink
+                  id="aseqjoy"/> 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
+                  &quot;straight&quot; 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 is very easy
+                  to synchronize (<italic>precisely cut</italic>) loops now. Note that this feature
+                  is probably useless with large audiofiles (like complete songs).</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 fixed, too. Unlike 3.73 this one compiles with gcc
+            &gt; 3.0 with <screen>-Wall</screen> and <screen>-Werror</screen> enabled. Well, the
+            version number ends in a zero, which means lots of new code with possibly lots of new
+            and yet undiscovered bugs. </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 
-        <dblink id="tutorial"/></newsheader>
+        <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 <dblink id="tutorial"/>
+        </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>
-          <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 
-          <dblink id='tutorial'>
-          "terminatorX TOOT" tutorial</dblink> - reading that will accelerate the
-          creation of your first scratch considerably.</para>
+          <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>
+            <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 <dblink id="tutorial">
+              &quot;terminatorX TOOT&quot; tutorial</dblink> - reading that will accelerate
+            the creation of your first scratch considerably.</para>
         </newstext>
       </newsitem>
       <newsitem>
-        <newsheader date='31 Jul'>
-        <dblink id='turntables'>Turntable gallery</dblink> online and a fresh 
-        <dblink id='scratches'>scratch</dblink></newsheader>
+        <newsheader date="31 Jul">
+          <dblink id="turntables">Turntable gallery</dblink> online and a fresh <dblink id="scratches">scratch</dblink>
+        </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>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 
-          <dblink id='scratches'>scratches section</dblink>. 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>
+            <person>
+              <name>Brian</name>
+              <email>bredfern@calarts.edu</email>
+            </person> - a California based terminatorX DJ - has contributed a very cool scratch for
+            the <dblink id="scratches">scratches section</dblink>. 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>
+            <italic>The names have been changed to protect the innocent...</italic> from
+            <bold>spamming</bold>. The XSLT stylesheet now mangles all email addresses on this site
+            except for mine - if you've seen a correct email address before you should be able to
+            recover the real address easily. BTW if you're a spam victim, too, add the incredible
+              <link ref="http://spamassassin.org">spamassassin</link> to your
+            <italic>.procmailrc</italic> and spam won't annoy you anymore.</para>
+          <para>On terminatorX news Version 3.73 should be ready for release RSN! It will probably
+            still lack native ALSA support, though.</para>
         </newstext>
       </newsitem>
       <newsitem>
-        <newsheader date='05 jan'>happy new year: 
-        <link ref='download.html#Current Version'>terminatorX V3.72</link> is
-        here.</newsheader>
+        <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 
-          <dblink id='changelog'/>): 
-          <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>
+          <para>Hope everybody had a nice start into 2002, these are the changes that come with
+            terminatorX release 3.72 (for details check the <dblink id="changelog"/>): <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>
-     </news>
+    </news>
   </main>
 </section>
index 1b59e86ff74fc0fd0918bc5f724c1e70b8580ac1..6336aff826fb2b1983806e2779b076fa3481cdbf 100644 (file)
@@ -1,37 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <linkdb>
-       <dlink id="license" url="COPYING" text="license"/>
-       <dlink id="tutorial" url="http://www.djcj.org/LAU/quicktoots/toots/tx_toot/tx_toot1.html" text="tutorial"/>
-       <dlink id="quicktoots" url="http://www.djcj.org/LAU/quicktoots/" text="QuickToots"/>
-       <dlink id="ladspa" url="http://www.ladspa.org" text="LADSPA"/>
-       <dlink id="download" url="download.html" text="download section"/>
-       <dlink id="main" url="./" text="main section"/>
-       <dlink id="screenshots" url="screenshots.html" text="screenshots section"/>
-       <dlink id="faq" url="faq.html" text="FAQ"/>
-       <dlink id="docs" url="docs.html" text="documentation section"/>
-       <dlink id="scratches" url="scratches.html" text="user's scratches section"/>
-       <dlink id="turntables" url="turntable.html" text="turntable gallery"/>
-       <dlink id="aseqjoy" url="aseqjoy.html" text="aseqjoy"/>
-       <dlink id="alsa" url="http://www.alsa-project.org" text="ALSA"/>
-       <dlink id="changelog" url="ChangeLog" text="ChangeLog"/>
-       <dlink id="install" url="INSTALL" text="INSTALL"/>
-       <dlink id="oldtable" url="oldtable.html" text="old turntable to tX device description"/>
-       <dlink id="aseqjoy_man" url="aseqjoy-man.html" text="aseqjoy man page"/>
-       <dlink id="liblrdf" url="http://plugin.org.uk/releases/lrdf/" text="liblrdf"/>
-       <dlink id="manual" url="manual/index.html" text="manual"/>
-       <dlink id="openjay" url="http://www.openjay.org" text="Openjay"/>
-       <dlink id="debian" url="http://www.debian.org" text="Debian"/>
-       <dlink id="dynebolic" url="http://www.dynebolic.org/" text="dyne:bolic"/>
-       <dlink id="rezound" url="http://rezound.sourceforge.net" text="Rezound"/>
-       <dlink id="linuxsound" url="http://linux-sound.org" text="Linux Sound And Midi Pages"/>
-       <dlink id="freshmeat" url="http://freshmeat.net" text="freshmeat"/>
-       <dlink id="lad" url="http://www.linuxdj.com/audio/lad" text="LAD"/>
-       <dlink id="agnula" url="http://www.agnula.org" text="AGNULA"/>
-       <dlink id="ccrma" url="http://www-ccrma.stanford.edu/planetccrma/software/" text="Planet CCRMA"/>
-       <dlink id="suse" url="http://www.suse.com" text="SuSE"/>
-       <dlink id="freebsd" url="http://freebsd.org" text="FreeBSD"/>
-       <dlink id="neural" url="http://neural.it" text="neural.it"/>
-       <dlink id="ct" url="http://www.heise.de/ct" text="c't"/>
-       <dlink id="sonar" url="http://www.sonar.es" text="Sonar"/>
-       <dlink id="testing" url="http://packages.debian.org/testing/sound/terminatorx.html" text="testing package"/>
-       <dlink id="unstable" url="http://packages.debian.org/unstable/sound/terminatorx.html" text="unstable package"/>
+  <dlink id="license" text="license" url="COPYING"/>
+  <dlink id="tutorial" text="tutorial" url="http://www.djcj.org/LAU/quicktoots/toots/tx_toot/tx_toot1.html"/>
+  <dlink id="quicktoots" text="QuickToots" url="http://www.djcj.org/LAU/quicktoots/"/>
+  <dlink id="ladspa" text="LADSPA" url="http://www.ladspa.org"/>
+  <dlink id="download" text="download section" url="download.html"/>
+  <dlink id="main" text="main section" url="./"/>
+  <dlink id="screenshots" text="screenshots section" url="screenshots.html"/>
+  <dlink id="faq" text="FAQ" url="faq.html"/>
+  <dlink id="docs" text="documentation section" url="docs.html"/>
+  <dlink id="scratches" text="user's scratches section" url="scratches.html"/>
+  <dlink id="turntables" text="turntable gallery" url="turntable.html"/>
+  <dlink id="aseqjoy" text="aseqjoy" url="aseqjoy.html"/>
+  <dlink id="alsa" text="ALSA" url="http://www.alsa-project.org"/>
+  <dlink id="changelog" text="ChangeLog" url="ChangeLog"/>
+  <dlink id="install" text="INSTALL" url="INSTALL"/>
+  <dlink id="oldtable" text="old turntable to tX device description" url="oldtable.html"/>
+  <dlink id="aseqjoy_man" text="aseqjoy man page" url="aseqjoy-man.html"/>
+  <dlink id="liblrdf" text="liblrdf" url="http://plugin.org.uk/releases/lrdf/"/>
+  <dlink id="manual" text="manual" url="manual/index.html"/>
+  <dlink id="openjay" text="Openjay" url="http://www.openjay.org"/>
+  <dlink id="debian" text="Debian" url="http://www.debian.org"/>
+  <dlink id="dynebolic" text="dyne:bolic" url="http://www.dynebolic.org/"/>
+  <dlink id="rezound" text="Rezound" url="http://rezound.sourceforge.net"/>
+  <dlink id="linuxsound" text="Linux Sound And Midi Pages" url="http://linux-sound.org"/>
+  <dlink id="freshmeat" text="freshmeat" url="http://freshmeat.net"/>
+  <dlink id="lad" text="LAD" url="http://www.linuxdj.com/audio/lad"/>
+  <dlink id="agnula" text="AGNULA" url="http://www.agnula.org"/>
+  <dlink id="ccrma" text="Planet CCRMA" url="http://www-ccrma.stanford.edu/planetccrma/software/"/>
+  <dlink id="suse" text="SuSE" url="http://www.suse.com"/>
+  <dlink id="freebsd" text="FreeBSD" url="http://freebsd.org"/>
+  <dlink id="neural" text="neural.it" url="http://neural.it"/>
+  <dlink id="ct" text="c't" url="http://www.heise.de/ct"/>
+  <dlink id="sonar" text="Sonar" url="http://www.sonar.es"/>
+  <dlink id="testing" text="testing package" url="http://packages.debian.org/testing/sound/terminatorx.html"/>
+  <dlink id="unstable" text="unstable package" url="http://packages.debian.org/unstable/sound/terminatorx.html"/>
+  <dlink id="jack" text="JACK" url="http://jackit.sourceforge.net"/>
+  <dlink id="links" text="links section" url="links.html"/>
 </linkdb>
index cbfbcee674de9f56a63a2c34c9f8ccf58ae59215..6e478585bdba37d7ca2974f5bd3cd82f0326d696 100644 (file)
-<?xml version='1.0' encoding='iso-8859-1'?>
+<?xml version="1.0" encoding="ISO-8859-1"?>
 <!DOCTYPE section SYSTEM "./tX.dtd">
-<section name='links'>
-  &db;
-  <links>
+<section name="links"> &db; <links>
     <index>
       <title>Links</title>
     </index>
     <subsection>
       <title>Linux Audio</title>
       <ilink>
-      <banner filename="th_snd1.gif"/>
-      <dblink id="linuxsound"/>
-      <para><person><name>Dave Philips</name><email>dlphilp@bright.net</email></person> has not only written
-       a <link ref="http://www.nostarch.com/lms.htm">book</link> on Linux audio software (that features terminatorX) - he 
-       is also maintaining the wonderful <dblink id="linuxsound"/>. IMHO it's the most complete 
-       collection of links to Linux audio projects and very well structured.
-      </para>
+        <banner filename="th_snd1.gif"/>
+        <dblink id="linuxsound"/>
+        <para>
+          <person>
+            <name>Dave Philips</name>
+            <email>dlphilp@bright.net</email>
+          </person> has not only written a <link ref="http://www.nostarch.com/lms.htm">book</link>
+          on Linux audio software (that features terminatorX) - he is also maintaining the wonderful
+            <dblink id="linuxsound"/>. IMHO it's the most complete collection of links to Linux
+          audio projects and very well structured. </para>
       </ilink>
+      <!--<ilink>
+        <banner filename="rezound.png"/>
+        <dblink id="rezound"/>
+        <para>I don't really want to go into recommending other Linux software packages (as without
+          maintenance such a list will always seem unfair), but I'll make an exception for the cool
+            <dblink id="rezound"/> as I think it's the perfect tool to be used for terminatorX'
+          soundfile editor option. It is specifically well-suited for creating and modifying loops. </para>
+      </ilink>-->
       <ilink>
-      <banner filename="rezound.png"/>
-      <dblink id="rezound"/>
-      <para>I don't really want to go into recommending other Linux software packages (as without maintenance such a list
-       will always seem unfair), but I'll make an exception for
-        the cool <dblink id="rezound"/> as I think it's the perfect tool to be used for terminatorX' soundfile editor option.
-       It is specifically well-suited for creating and modifying loops.
-      </para>
+        <banner filename="freshmeat.gif"/>
+        <dblink id="freshmeat"/>
+        <para>I guess it's not necessary to introduce <dblink id="freshmeat"/>. If you want to be
+          informed about new terminatorX releases you might want to subscribe to the terminatorX
+            <link ref="http://freshmeat.net/projects/terminatorX">freshmeat project</link>.</para>
       </ilink>
       <ilink>
-      <banner filename="freshmeat.gif"/>
-      <dblink id="freshmeat"/>
-      <para>I guess it's not necessary to introduce <dblink id="freshmeat"/>. If you want to be informed about new terminatorX
-      releases you might want to subscribe to the terminatorX <link ref="http://freshmeat.net/projects/terminatorX">freshmeat
-      project</link>.</para>
+        <banner filename="lad.png"/>
+        <dblink id="lad"/>
+        <para>If you're working on a Linux audio project, you really should join the <dblink
+            id="lad">Linux Audio Developers' mailing list</dblink>. If you just want to use Linux
+          audio applications you might want to check out the <link
+            ref="http://www.linuxdj.com/audio/lad/subscribelau.php3">Linux Audio Users' mailing
+          list</link>. </para>
+      </ilink>
+    </subsection>
+    <subsection>
+      <title>Distributions</title>
+      <para>Quite some OS distributions include terminatorX nowadays:</para>
+      <ilink>
+        <banner filename="debian.png"/>
+        <dblink id="debian"/>
+        <para>Simply the best and biggest. The machines I develop terminatorX on all run <dblink
+          id="debian"/> (sid) and although <dblink id="debian"/> is not specifically targeted at
+          multimedia users it features a whole lot of audio applications as it's just
+          <bold>so</bold> big. You can find the terminatorX package <dblink
+          id="testing">here</dblink> (testing) and <dblink id="unstable">here</dblink> (unstable). </para>
       </ilink>
       <ilink>
-      <banner filename="lad.png"/>
-      <dblink id="lad"/>
-      <para>If you're working on a Linux audio project, you really should join the <dblink id="lad">Linux Audio Developers'
-        mailing list</dblink>. If you just want to use Linux audio applications you might want to check out the
-       <link ref="http://www.linuxdj.com/audio/lad/subscribelau.php3">Linux Audio Users' mailing list</link>.
-       </para>
-      </ilink>      
+        <banner filename="dynebolic.png"/>
+        <dblink id="dynebolic"/>
+        <para>Based on <dblink id="debian"/>, <dblink id="dynebolic"/> is a multimedia Linux
+          distribution that boots of a CD-ROM and doesn't require harddisk installation. So if you
+          just want to test terminatorX without actually installing Linux (what you really should do
+          :) <dblink id="dynebolic"/> might be an option. And it runs on XBOXen, too. </para>
+      </ilink>
+      <ilink>
+        <banner filename="agnula.png"/>
+        <dblink id="agnula"/>
+        <para>
+          <dblink id="agnula"/> is a project that aims to create a Linux distribution specifically
+          targeted at musicians. They have released a beta release of their <dblink id="debian"/>
+          based <link ref="http://www.demudi.org">DeMUDI</link> distribution. </para>
+      </ilink>
+      <ilink>
+        <banner filename="ccrma.png"/>
+        <dblink id="ccrma"/>
+        <para>
+          <dblink id="ccrma"/> provides up-to-date RPM packages of many audio applications for
+          RedHat 7.2, 8.0 and 9 distributions. Their terminatorX package has much more features
+          enabled than the one that I provide (as they provide RPMs for the dependencies that don't
+          come with RedHat, too). </para>
+      </ilink>
+      <ilink>
+        <banner filename="suse.png"/>
+        <dblink id="suse"/>
+        <para>Thanks to <person>
+            <name>Matthias</name>
+            <email>mana@suse.de</email>
+          </person>, <dblink id="suse"/> provide a terminatorX <link
+          ref="http://www.suse.de/us/private/products/suse_linux/i386/packages_personal/terminatorx.html">package</link>
+          for quite some time now.</para>
+      </ilink>
+      <ilink>
+        <banner filename="freebsd.png"/>
+        <link ref="http://www.freebsd.org"/>
+        <para>If you want to use terminatorX on your <dblink id="freebsd"/> box, you can use the
+          official <link
+            ref="http://www.FreeBSD.org/cgi/cvsweb.cgi/ports/audio/terminatorx">terminatorX port</link>.</para>
+      </ilink>
     </subsection>
     <subsection>
-       <title>Distributions</title>
-       <para>Quite some OS distributions include terminatorX nowadays:</para>
-       <ilink>
-       <banner filename="debian.png"/>
-       <dblink id="debian"/>
-       <para>Simply the best and biggest. The machines I develop terminatorX on all run <dblink id="debian"/> (sid) and 
-         although <dblink id="debian"/> is not specifically targeted at multimedia users it features a whole lot of
-         audio applications as it's just <bold>so</bold> big. You can find the terminatorX package
-         <dblink id="testing">here</dblink> (testing) and <dblink id="unstable">here</dblink> (unstable).
-       </para>
-       </ilink>        
-       <ilink>
-       <banner filename="dynebolic.png"/>
-       <dblink id="dynebolic"/>
-       <para>Based on <dblink id="debian"/>, <dblink id="dynebolic"/> is a multimedia Linux distribution that
-         boots of a CD-ROM and doesn't require harddisk installation. So if you just want to test terminatorX without
-         actually installing Linux (what you really should do :) <dblink id="dynebolic"/> might be an option. And it runs on 
-         XBOXen, too.
-       </para>
-       </ilink>
-       <ilink>
-       <banner filename="agnula.png"/>
-       <dblink id="agnula"/>
-       <para><dblink id="agnula"/> is a project that aims to create a Linux distribution specifically targeted at
-         musicians. They have released a beta release of their <dblink id="debian"/> based 
-         <link ref="http://www.demudi.org">DeMUDI</link> distribution.
-       </para>
-       </ilink>
-       <ilink>
-       <banner filename="ccrma.png"/>
-       <dblink id="ccrma"/>
-       <para><dblink id="ccrma"/> provides up-to-date RPM packages of many audio applications for RedHat 7.2,
-       8.0 and 9 distributions. Their terminatorX package has much more features enabled than the one that I provide
-       (as they provide RPMs for the dependencies that don't come with RedHat, too). 
-       </para>
-       </ilink>
-       <ilink>
-       <banner filename="suse.png"/>
-       <dblink id="suse"/>
-       <para>Thanks to <person><name>Matthias</name><email>mana@suse.de</email></person>, <dblink id="suse"/> provide 
-       a terminatorX <link ref="http://www.suse.de/us/private/products/suse_linux/i386/packages_personal/terminatorx.html">package</link>
-       for quite some time now.</para>
-       </ilink>
-       <ilink>
-       <banner filename="freebsd.png"/>
-       <link ref="http://www.freebsd.org"/>
-       <para>If you want to use terminatorX on your <dblink id="freebsd"/> box, you can use the official 
-       <link ref="http://www.FreeBSD.org/cgi/cvsweb.cgi/ports/audio/terminatorx">terminatorX port</link>.</para>
-       </ilink>
+      <title>terminatorX Coverage</title>
+      <ilink>
+        <banner filename="sonar.png"/>
+        <dblink id="sonar"/>
+        <para>The friendly people of <dblink id="sonar"/> invited me to do a terminatorX demo for
+            <link ref="http://www.sonar.es/2003/eng/festival/rama.cfm">Sonarama</link> at the 2003
+          Sonar festival (Friday 13th). </para>
+      </ilink>
+      <ilink>
+        <banner filename="openjay.png"/>
+        <dblink id="openjay"/>
+        <para>
+          <dblink id="openjay"/> is a website for open source DJs. <person>
+            <name>J_Zar</name>
+            <email>contact@openjay.org</email>
+          </person> a very nice <link
+          ref="http://www.openjay.org/modules.php?op=modload&amp;name=Sections&amp;file=index&amp;req=viewarticle&amp;artid=13&amp;page=1">review</link>
+          on terminatorX. </para>
+      </ilink>
+      <ilink>
+        <banner filename="neural.png"/>
+        <dblink id="neural"/>
+        <para>
+          <dblink id="neural"/> is an online magazine for hacktivism, e-music and new media art.
+          They have an Italian <link
+          ref="http://www.neural.it/nnews/terminatorx.htm">introduction</link> on terminatorX.</para>
+      </ilink>
+      <ilink>
+        <banner filename="or.png"/>
+        <link ref="http://linux.oreillynet.com"/>
+        <para>
+          <person>
+            <name>Dave</name>
+            <email>dlphilp@bright.net</email>
+          </person> wrote an introductory <link
+          ref="http://linux.oreillynet.com/pub/a/linux/2001/02/02/ladspa.html">article</link> on
+            <dblink id="ladspa"/> plugins and hosts that features terminatorX. </para>
+      </ilink>
+      <ilink>
+        <banner filename="ct.png"/>
+        <dblink id="ct"/>
+        <para>The German computer magazine <dblink id="ct"/> once had terminatorX <link
+          ref="http://www.heise.de/ct/shareware/default.shtml?prg=1845">included</link> on their
+          freeware CDROM.</para>
+      </ilink>
     </subsection>
+    <!--
     <subsection>
-       <title>terminatorX Coverage</title>
-       <ilink>
-       <banner filename="sonar.png"/>
-       <dblink id="sonar"/>
-       <para>The friendly people of <dblink id="sonar"/> invited me to do a terminatorX demo for
-       <link ref="http://www.sonar.es/2003/eng/festival/rama.cfm">Sonarama</link> at the 2003 Sonar festival (Friday 13th).
-       </para>
-       </ilink>
-       <ilink>
-       <banner filename="openjay.png"/>
-       <dblink id="openjay"/>
-       <para><dblink id="openjay"/> is a website for open source DJs. 
-               <person><name>J_Zar</name><email>contact@openjay.org</email></person> a very nice 
-               <link ref="http://www.openjay.org/modules.php?op=modload&amp;name=Sections&amp;file=index&amp;req=viewarticle&amp;artid=13&amp;page=1">review</link>
-               on terminatorX.
-       </para>
-       </ilink>
-       <ilink>
-       <banner filename="neural.png"/>
-       <dblink id="neural"/>
-       <para><dblink id="neural"/> is an online magazine for hacktivism, e-music and new media art. They have an Italian
-       <link ref="http://www.neural.it/nnews/terminatorx.htm">introduction</link> on terminatorX.</para>
-       </ilink>
-       <ilink>
-       <banner filename="or.png"/>
-       <link ref="http://linux.oreillynet.com"/>
-       <para><person><name>Dave</name><email>dlphilp@bright.net</email></person> wrote an introductory
-       <link ref="http://linux.oreillynet.com/pub/a/linux/2001/02/02/ladspa.html">article</link> on <dblink id="ladspa"/>
-       plugins and hosts that features terminatorX.
-       </para>
-       </ilink>
-       <ilink>
-       <banner filename="ct.png"/>
-       <dblink id="ct"/>
-       <para>The German computer magazine <dblink id="ct"/> once had terminatorX <link ref="http://www.heise.de/ct/shareware/default.shtml?prg=1845">included</link>
-       on their freeware CDROM.</para>
-       </ilink>        
+      <title>Contributors (incomplete)</title>
+      <ilink>
+        <banner filename="kover.png"/>
+        <dblink id="ladspa"/>
+        <para/>
+      </ilink>
     </subsection>
-<!--    <subsection>
-       <title>Technology</title>
-       <ilink>
-               <banner filename="ladspa.png"/>
-               <dblink id="ladspa"/>
-               <para></para>
-       </ilink>
-      </subsection> -->
+    -->
   </links>
 </section>
index aa97a2dcf7698019086e7b673445d54286a2a71d..218e0a1a90574f927b513c7b7405e74c4c71acab 100644 (file)
@@ -1,16 +1,61 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE section SYSTEM "./tX.dtd"[ ]>
-<section name='scratches'>
-  &db;
-  <scratches>
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE section SYSTEM "./tX.dtd">
+<section name="scratches"> &db; <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 "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>
+      <bold>Yeah, Boy!</bold> (talking <link
+      ref="http://www.publicenemy.com/soldiers/flavor.php">flavor</link>, here)</para>
+    <para>Here are the current &quot;users scratches&quot;. So you think these are not enough?
+      Right, Ok, so do something about it! Read the text below if you want to send me what you
+      created with terminatorX.</para>
     <scratchtable>
+      <scratch>
+        <mp3file>
+          <file>en_ghane_cigo.mp3</file>
+          <filesize>7.4MB</filesize>
+        </mp3file>
+        <author>
+          <person>
+            <name>Arthur Moore</name>
+            <email>art@infinitybox.net</email>
+          </person>
+        </author>
+        <comment>
+          <nopara>&quot;Modern Music&quot; (no beats invovled) - 
+            <link ref="http://www.infinitybox.net">author's website</link>.</nopara>
+        </comment>
+      </scratch>
+      <scratch>
+        <mp3file>
+          <file>dark_river.mp3</file>
+          <filesize>4.6MB</filesize>
+        </mp3file>
+        <author>
+          <person>
+            <name>Arthur Moore</name>
+            <email>art@infinitybox.net</email>
+          </person>
+        </author>
+        <comment>
+          <nopara>&quot;Think Stravinsky, Shoenberg, Cage, Stockhausen&quot; - 
+            <link ref="http://www.infinitybox.net">author's website</link>.</nopara>
+        </comment>
+      </scratch>
+      <scratch>
+        <mp3file>
+          <file>ving.mp3</file>
+          <filesize>8.3MB</filesize>
+        </mp3file>
+        <author>
+          <person>
+            <name>Arthur Moore</name>
+            <email>art@infinitybox.net</email>
+          </person>
+        </author>
+        <comment>
+          <nopara>&quot;Not cheesy LDS artist stuff&quot; -
+            <link ref="http://www.infinitybox.net">author's website</link>.</nopara>
+        </comment>
+      </scratch>
       <scratch>
         <mp3file>
           <file>asapien_scratch.mp3</file>
           </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>
+          <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>
@@ -44,8 +89,7 @@
         <comment>
           <nopara>Aint no DJ but love to scratch!</nopara>
           <tinycomment>
-            <nopara>created with his 
-            <dblink id='turntables'>own turntable</dblink>.</nopara>
+            <nopara>created with his <dblink id="turntables">own turntable</dblink>.</nopara>
           </tinycomment>
         </comment>
       </scratch>
             <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>
+            <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>
+          <nopara>From the <link ref="http://farnkyboyz.virtualave.net">Farnky Boyz'</link> upcoming Album</nopara>
         </comment>
       </scratch>
       <scratch>
             <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>
+            <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>
+              <italic>&quot;Mixed in 15 min&quot;</italic>- Wow!</nopara>
           </tinycomment>
         </comment>
       </scratch>
         </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 01a2bf932cf487fb0f2bc961690f7a1a3a9034b7..0922889209ba1be8418868d3ffd356930682f318 100644 (file)
@@ -1,30 +1,24 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE section SYSTEM "./tX.dtd"[ ]>
-<section name='screenshots'>
-  &db;
-  <screenshots>
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE section SYSTEM "./tX.dtd">
+<section name="screenshots"> &db; <screenshots>
     <subsection>
       <title>What it looks like...</title>
-      <para>Here are some screenshots of terminatorX 3.80 in
-      action.</para>
+      <para>Here are some screenshots of terminatorX 3.80 in action.</para>
       <para>
-        <screenshot filename='shot-3.80-1.png'>
-          <nopara>This shows terminatorX with the sequencer and live scratching
-          in effect.</nopara>
+        <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 
-          <dblink id='ladspa'/> plugin from a 
-          <dblink id='liblrdf'/> structured menu.</nopara>
+        <screenshot filename="shot-3.80-2.png">
+          <nopara>Selecting a <dblink id="ladspa"/> plugin from a <dblink id="liblrdf"/> structured menu.</nopara>
         </screenshot>
-        <screenshot filename='shot-3.80-3.png'>
-          <nopara>Mapping a parameter to a turntable's axis. This works for 
-          <dblink id='ladspa'/> plugins, too.</nopara>
+        <screenshot filename="shot-3.80-3.png">
+          <nopara>Mapping a parameter to a turntable's axis. This works for <dblink id="ladspa"/>
+            plugins, too.</nopara>
         </screenshot>
-        <screenshot filename='shot-3.80-4.png'>
+        <screenshot filename="shot-3.80-4.png">
           <nopara>Configuring terminatorX.</nopara>
         </screenshot>
-        <screenshot filename='shot-3.80-5.png'>
+        <screenshot filename="shot-3.80-5.png">
           <nopara>Mapping MIDI events to turntable parameters.</nopara>
         </screenshot>
       </para>
index 531d69c5bfdc3bd07d554b1cafe09ea02b59f94f..05144d0a8cf40c2c4efb85dcc6fb31ca263712ba 100644 (file)
@@ -1,61 +1,48 @@
-<?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" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+  <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 content="Alexander Koenig" name="Author"/>
+        <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type"/>
+        <link href="favicon.ico" rel="icon" type="image/x-icon"/>
+        <link href="favicon.ico" rel="shortcut icon" type="image/x-icon"/>
+        <title>terminatorX: <xsl:value-of select="@name"/>
+        </title>
+        <script language="Javascript" src="script.js" type="text/javascript"/>
+        <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 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('links','pix/vinyl-hover.gif','pix/vinyl.png'); 
-             rolloverLoad('aseqjoy','pix/vinyl-hover.gif','pix/vinyl.png');">
-
-
-<!--new-->
-        <table width='100%' cellspacing='0' cellpadding='0' border='0'>
-         <tr>
-            <td colspan="2" bgcolor='#000000'>
-            <table width='100%' cellspacing='5px'  border='0'>
-            <tr><td>        
-              <center>
-                <img src='pix/tX_logo.jpg' ALT='terminatorX'/>
-              </center>
-             </td></tr>
-             </table>
-            </td>        
-         </tr>
+      <body alink="#FF0000" bgcolor="#555555" link="#FFFF99"
+        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('links','pix/vinyl-hover.gif','pix/vinyl.png');         rolloverLoad('aseqjoy','pix/vinyl-hover.gif','pix/vinyl.png');"
+        text="#FFFFFF" vlink="#FFCC33">
+        <!--new-->
+        <table border="0" cellpadding="0" cellspacing="0" width="100%">
           <tr>
-            <td bgcolor='#ffffff' align='left'>
-              <font face='Arial,Helvetica' color='#ffffff' size='+2'>
-              menu</font>
+            <td bgcolor="#000000" colspan="2">
+              <table border="0" cellspacing="5px" width="100%">
+                <tr>
+                  <td>
+                    <center>
+                      <img ALT="terminatorX" src="pix/tX_logo.jpg"/>
+                    </center>
+                  </td>
+                </tr>
+              </table>
             </td>
-            <td width='100%' bgcolor='#ffffff'>
-              <table width='100%' cellspacing='0' cellpadding='4px' border='0'>
+          </tr>
+          <tr>
+            <td align="left" bgcolor="#ffffff">
+              <font color="#ffffff" face="Arial,Helvetica" size="+2"> menu</font>
+            </td>
+            <td bgcolor="#ffffff" width="100%">
+              <table border="0" cellpadding="4px" cellspacing="0" width="100%">
                 <tr>
-                  <td width='100%' bgcolor='#ffffff' align='right'>
-                    <font face='Arial,Helvetica' color='#000000' size='+2'>
+                  <td align="right" bgcolor="#ffffff" width="100%">
+                    <font color="#000000" face="Arial,Helvetica" size="+2">
                       <b>
-                        <xsl:value-of select='@name' />
+                        <xsl:value-of select="@name"/>
                       </b>
                     </font>
                   </td>
             </td>
           </tr>
           <tr>
-<!--menu-->
-            <td valign='top'>
-              <table cellspacing='0' cellpadding='2px' border='0'>
+            <!--menu-->
+            <td valign="top">
+              <table border="0" cellpadding="2px" cellspacing="0">
                 <tr>
                   <xsl:if test="@name='main'">
-                    <td bgcolor='#777777'>
-                      <img vspace='0' alt='-' src='pix/vinyl-highlight.png'
-                      border='0' />
+                    <td bgcolor="#777777">
+                      <img alt="-" border="0" src="pix/vinyl-highlight.png" vspace="0"/>
                     </td>
-                    <td bgcolor='#777777'>main</td>
-                    <td bgcolor='#777777'>
-                      <img vspace='0' alt='-' src='pix/vinyl-spacer.png'
-                      border='0' />
+                    <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 vspace='0' alt='-' src='pix/vinyl.png' name='main'
-                      border='0' />
+                      <img alt="-" border="0" name="main" src="pix/vinyl.png" vspace="0"/>
                     </td>
                     <td>
-                      <a onMouseOver="rolloverOn('main');"
-                      onMouseOut="rolloverOff('main');" href='./'>main</a>
+                      <a href="./" onMouseOut="rolloverOff('main');" onMouseOver="rolloverOn('main');">main</a>
                     </td>
-                    <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 bgcolor="#777777">
+                      <img alt="-" border="0" src="pix/vinyl-highlight.png" vspace="0"/>
                     </td>
-                    <td bgcolor='#777777'>download</td>
-                    <td bgcolor='#777777'>
-                      <img vspace='0' alt='-' src='pix/vinyl-spacer.png'
-                      border='0' />
+                    <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 vspace='0' alt='-' src='pix/vinyl.png'
-                      name='download' border='0' />
+                      <img alt="-" border="0" name="download" src="pix/vinyl.png" vspace="0"/>
                     </td>
                     <td>
-                      <a onMouseOver="rolloverOn('download');"
-                      onMouseOut="rolloverOff('download');"
-                      href='download.html'>download</a>
+                      <a href="download.html" onMouseOut="rolloverOff('download');" onMouseOver="rolloverOn('download');">download</a>
                     </td>
-                    <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 bgcolor="#777777">
+                      <img alt="-" border="0" src="pix/vinyl-highlight.png" vspace="0"/>
                     </td>
-                    <td bgcolor='#777777'>screenshots</td>
-                    <td bgcolor='#777777'>
-                      <img vspace='0' alt='-' src='pix/vinyl-spacer.png'
-                      border='0' />
+                    <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 vspace='0' alt='-' src='pix/vinyl.png'
-                      name='screenshots' border='0' />
+                      <img alt="-" border="0" name="screenshots" src="pix/vinyl.png" vspace="0"/>
                     </td>
                     <td>
-                      <a onMouseOver="rolloverOn('screenshots');"
-                      onMouseOut="rolloverOff('screenshots');"
-                      href='screenshots.html'>screenshots</a>
+                      <a href="screenshots.html" onMouseOut="rolloverOff('screenshots');" onMouseOver="rolloverOn('screenshots');">screenshots</a>
                     </td>
-                    <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 bgcolor="#777777">
+                      <img alt="-" border="0" src="pix/vinyl-highlight.png" vspace="0"/>
                     </td>
-                    <td bgcolor='#777777'>faq</td>
-                    <td bgcolor='#777777'>
-                      <img vspace='0' alt='-' src='pix/vinyl-spacer.png'
-                      border='0' />
+                    <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 vspace='0' alt='-' src='pix/vinyl.png' name='faq'
-                      border='0' />
+                      <img alt="-" border="0" name="faq" src="pix/vinyl.png" vspace="0"/>
                     </td>
                     <td>
-                      <a onMouseOver="rolloverOn('faq');"
-                      onMouseOut="rolloverOff('faq');" href='faq.html'>faq</a>
+                      <a href="faq.html" onMouseOut="rolloverOff('faq');" onMouseOver="rolloverOn('faq');">faq</a>
                     </td>
-                    <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 bgcolor="#777777">
+                      <img alt="-" border="0" src="pix/vinyl-highlight.png" vspace="0"/>
                     </td>
-                    <td bgcolor='#777777'>docs</td>
-                    <td bgcolor='#777777'>
-                      <img vspace='0' alt='-' src='pix/vinyl-spacer.png'
-                      border='0' />
+                    <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 vspace='0' alt='-' src='pix/vinyl.png' name='docs'
-                      border='0' />
+                      <img alt="-" border="0" name="docs" src="pix/vinyl.png" vspace="0"/>
                     </td>
                     <td>
-                      <a onMouseOver="rolloverOn('docs');"
-                      onMouseOut="rolloverOff('docs');" href='docs.html'>
-                      docs</a>
+                      <a href="docs.html" onMouseOut="rolloverOff('docs');"
+                        onMouseOver="rolloverOn('docs');"> docs</a>
                     </td>
-                    <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 bgcolor="#777777">
+                      <img alt="-" border="0" src="pix/vinyl-highlight.png" vspace="0"/>
                     </td>
-                    <td bgcolor='#777777'>scratches</td>
-                    <td bgcolor='#777777'>
-                      <img vspace='0' alt='-' src='pix/vinyl-spacer.png'
-                      border='0' />
+                    <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 vspace='0' alt='-' src='pix/vinyl.png'
-                      name='scratches' border='0' />
+                      <img alt="-" border="0" name="scratches" src="pix/vinyl.png" vspace="0"/>
                     </td>
                     <td>
-                      <a onMouseOver="rolloverOn('scratches');"
-                      onMouseOut="rolloverOff('scratches');"
-                      href='scratches.html'>scratches</a>
+                      <a href="scratches.html" onMouseOut="rolloverOff('scratches');" onMouseOver="rolloverOn('scratches');">scratches</a>
                     </td>
-                    <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 bgcolor="#777777">
+                      <img alt="-" border="0" src="pix/vinyl-highlight.png" vspace="0"/>
                     </td>
-                    <td bgcolor='#777777'>turntables</td>
-                    <td bgcolor='#777777'>
-                      <img vspace='0' alt='-' src='pix/vinyl-spacer.png'
-                      border='0' />
+                    <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 vspace='0' alt='-' src='pix/vinyl.png'
-                      name='turntable' border='0' />
+                      <img alt="-" border="0" name="turntable" src="pix/vinyl.png" vspace="0"/>
                     </td>
                     <td>
-                      <a onMouseOver="rolloverOn('turntable');"
-                      onMouseOut="rolloverOff('turntable');"
-                      href='turntable.html'>turntables</a>
+                      <a href="turntable.html" onMouseOut="rolloverOff('turntable');" onMouseOver="rolloverOn('turntable');">turntables</a>
                     </td>
-                    <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 bgcolor="#777777">
+                      <img alt="-" border="0" src="pix/vinyl-highlight.png" vspace="0"/>
                     </td>
-                    <td bgcolor='#777777'>aseqjoy</td>
-                    <td bgcolor='#777777'>
-                      <img vspace='0' alt='-' src='pix/vinyl-spacer.png'
-                      border='0' />
+                    <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 vspace='0' alt='-' src='pix/vinyl.png'
-                      name='aseqjoy' border='0' />
+                      <img alt="-" border="0" name="aseqjoy" src="pix/vinyl.png" vspace="0"/>
                     </td>
                     <td>
-                      <a onMouseOver="rolloverOn('aseqjoy');"
-                      onMouseOut="rolloverOff('aseqjoy');" href='aseqjoy.html'>
-                      aseqjoy</a>
+                      <a href="aseqjoy.html" onMouseOut="rolloverOff('aseqjoy');"
+                        onMouseOver="rolloverOn('aseqjoy');"> aseqjoy</a>
                     </td>
-                    <td />
+                    <td/>
                   </xsl:if>
-                </tr>                
-               <tr>
+                </tr>
+                <tr>
                   <xsl:if test="@name='links'">
-                    <td bgcolor='#777777'>
-                      <img vspace='0' alt='-' src='pix/vinyl-highlight.png'
-                      border='0' />
+                    <td bgcolor="#777777">
+                      <img alt="-" border="0" src="pix/vinyl-highlight.png" vspace="0"/>
                     </td>
-                    <td bgcolor='#777777'>links</td>
-                    <td bgcolor='#777777'>
-                      <img vspace='0' alt='-' src='pix/vinyl-spacer.png'
-                      border='0' />
+                    <td bgcolor="#777777">links</td>
+                    <td bgcolor="#777777">
+                      <img alt="-" border="0" src="pix/vinyl-spacer.png" vspace="0"/>
                     </td>
                   </xsl:if>
                   <xsl:if test="@name!='links'">
                     <td>
-                      <img vspace='0' alt='-' src='pix/vinyl.png'
-                      name='links' border='0' />
+                      <img alt="-" border="0" name="links" src="pix/vinyl.png" vspace="0"/>
                     </td>
                     <td>
-                      <a onMouseOver="rolloverOn('links');"
-                      onMouseOut="rolloverOff('links');" href='links.html'>
-                      links</a>
+                      <a href="links.html" onMouseOut="rolloverOff('links');"
+                        onMouseOver="rolloverOn('links');"> links</a>
                     </td>
-                    <td />
+                    <td/>
                   </xsl:if>
                 </tr>
               </table>
             </td>
-<!--contents-->
-            <td valign='top'>
-              <table width='100%' cellspacing='0' cellpadding='10px'
-              border='0'>
+            <!--contents-->
+            <td valign="top">
+              <table border="0" cellpadding="10px" cellspacing="0" width="100%">
                 <tr>
-                  <td width='100%' bgcolor='#777777'>
-                    <xsl:apply-templates />
+                  <td bgcolor="#777777" width="100%">
+                    <xsl:apply-templates/>
                   </td>
                 </tr>
               </table>
             </td>
           </tr>
         </table>
-<!-- bottom -->
-<HR width='100%' />
-        <table width='100%'>
+        <!-- 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 align="left" valign="top" width="100%">
+              <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='pix/valid-html401.png' height='31'
-                border='0' />
+              <a href="http://validator.w3.org/check/referer">
+                <img alt="Valid HTML 4.01!" border="0" height="31" src="pix/valid-html401.png" width="88"/>
               </a>
             </td>
           </tr>
       </body>
     </html>
   </xsl:template>
-  <xsl:template match='heading'>
-    <font size='+2'>
-      <xsl:apply-templates />
+  <xsl:template match="heading">
+    <font size="+2">
+      <xsl:apply-templates/>
     </font>
-    <br />
+    <br/>
   </xsl:template>
-  <xsl:template match='subtitle'>
-    <font size='-2'>
-      <xsl:apply-templates />
+  <xsl:template match="subtitle">
+    <font size="-2">
+      <xsl:apply-templates/>
     </font>
   </xsl:template>
-  <xsl:template match='para'>
+  <xsl:template match="para">
     <xsl:if test="@class='fancy'">
-      <p class='fancy'>
-        <xsl:apply-templates />
+      <p class="fancy">
+        <xsl:apply-templates/>
       </p>
     </xsl:if>
     <xsl:if test="@class='plain'">
-      <p class='plain'>
-        <xsl:apply-templates />
+      <p class="plain">
+        <xsl:apply-templates/>
       </p>
     </xsl:if>
   </xsl:template>
-  <xsl:template match='italic'>
+  <xsl:template match="italic">
     <i>
-      <xsl:apply-templates />
+      <xsl:apply-templates/>
     </i>
   </xsl:template>
-  <xsl:template match='red'>
-    <font color='#FF4444'>
-      <xsl:apply-templates />
+  <xsl:template match="red">
+    <font color="#FF4444">
+      <xsl:apply-templates/>
     </font>
   </xsl:template>
-  <xsl:template match='bold'>
+  <xsl:template match="bold">
     <b>
-      <xsl:apply-templates />
+      <xsl:apply-templates/>
     </b>
   </xsl:template>
-  <xsl:template match='newsheader' />
-  <xsl:template match='newsitem'>
-    <table cellspacing='0' cellpadding='0' border='0'>
+  <xsl:template match="newsheader"/>
+  <xsl:template match="newsitem">
+    <table border="0" cellpadding="0" cellspacing="0">
       <!-- header -->
-<tr>
-        <td bgcolor='#999999'>
-          <xsl:for-each select='newsheader'>
-            <table cellspacing='0' cellpadding='2px' border='0'>
+      <tr>
+        <td bgcolor="#999999">
+          <xsl:for-each select="newsheader">
+            <table border="0" cellpadding="2px" cellspacing="0">
               <tr>
                 <td>
-                  <img alt='new:' src='pix/new.png' />
+                  <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 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>
         </td>
       </tr>
       <!-- contents -->
-<tr>
+      <tr>
         <td>
-          <xsl:apply-templates />
+          <xsl:apply-templates/>
         </td>
       </tr>
     </table>
   </xsl:template>
-  <xsl:template match='link'>
-    <a><xsl:attribute name='href'><xsl:value-of select='@ref' /></xsl:attribute><xsl:apply-templates /></a>
+  <xsl:template match="link">
+    <a>
+      <xsl:attribute name="href">
+        <xsl:value-of select="@ref"/>
+      </xsl:attribute>
+      <xsl:apply-templates/>
+    </a>
   </xsl:template>
-  <xsl:template match='dblink'>
+  <xsl:template match="dblink">
     <xsl:variable name="search" select="@id"/>
-    <a><xsl:attribute name='href'><xsl:value-of select='//dlink[@id=$search]/@url'/></xsl:attribute><xsl:choose
-       ><xsl:when test="./text()"><xsl:apply-templates /></xsl:when
-       ><xsl:otherwise><xsl:value-of select='//dlink[@id=$search]/@text'/></xsl:otherwise
-       ></xsl:choose
-    ></a>
+    <a>
+      <xsl:attribute name="href">
+        <xsl:value-of select="//dlink[@id=$search]/@url"/>
+      </xsl:attribute>
+      <xsl:choose>
+        <xsl:when test="./text()">
+          <xsl:apply-templates/>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:value-of select="//dlink[@id=$search]/@text"/>
+        </xsl:otherwise>
+      </xsl:choose>
+    </a>
     <xsl:if test="sum(//dlink[@id=$search])=0">
-    <font color='#FF0000'>
-      <blink>broken dblink &quot;<xsl:value-of select="$search"/>&quot;</blink>
-    </font>    
+      <font color="#FF0000">
+        <blink>broken dblink &quot;<xsl:value-of select="$search"/>&quot;</blink>
+      </font>
     </xsl:if>
   </xsl:template>
-  <xsl:template match='newline'>
-    <br />
+  <xsl:template match="newline">
+    <br/>
   </xsl:template>
-  <xsl:template match='itemizedlist'>CLOSE_DA_P 
-  <ul>
-    <xsl:apply-templates />
-  </ul>OPEN_DA_P</xsl:template>
-  <xsl:template match='listitem'>
+  <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 />
+      <xsl:apply-templates/>
     </li>
   </xsl:template>
-  <xsl:template match='person'>
+  <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 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' />
+      <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 size="+2">
+        <b><xsl:value-of select="title"/></b>
       </font>
     </p>
     <ul>
-      <xsl:for-each select='//subsection'>
+      <xsl:for-each select="//subsection">
         <li>
-          <a><xsl:attribute name='href'>#<xsl:value-of select='title' /></xsl:attribute><xsl:value-of select='title' /></a>
+          <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/>
   </xsl:template>
-  <xsl:template match='subsection'>
+  <xsl:template match="subsection">
     <p>
-      <font size='+1'>
+      <font size="+1"><b>
         <a>
-          <xsl:attribute name='name'>
-            <xsl:value-of select='title' />
+          <xsl:attribute name="name">
+            <xsl:value-of select="title"/>
           </xsl:attribute>
-          <xsl:value-of select='title' />
+          <xsl:value-of select="title"/>
         </a>
-      </font>
+      </b></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 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'>dist/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'>dist/terminatorX-<xsl:value-of select='@version' />.tar.bz2</xsl:attribute>bz2</a>)</xsl:if>
-        </li>
+      <xsl:for-each select="tar">
+        <xsl:if test="@version!=//current/@version">
+          <li>Version <xsl:value-of select="@version"/>: <a>
+              <xsl:attribute name="href">dist/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">dist/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 name='rpm' match='rpm'>
+  <xsl:template match="rpm" name="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>
+        <xsl:value-of select="@type"/>-binary RPM: </xsl:if>
       <a>
-      <xsl:attribute name='href'>rpms/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>
+        <xsl:attribute name="href">rpms/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'>
+  <xsl:template match="rpmfiles">
     <ul>
-      <xsl:for-each select='rpm[@version!=//current/@version]'>
-        <xsl:call-template name='rpm' />
+      <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>
+  <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'>dist/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'>dist/terminatorX-<xsl:value-of select='//current/@version' />.tar.bz2</xsl:attribute>bz2</a>)</xsl:if>
+      <li>tar file: <a>
+          <xsl:attribute name="href">dist/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">dist/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 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: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='filelist'>
+  <xsl:template match="filelist">
     <ul>
-      <xsl:for-each select='file'>
-        <li><xsl:call-template name="file" /></li>
+      <xsl:for-each select="file">
+        <li>
+          <xsl:call-template name="file"/>
+        </li>
       </xsl:for-each>
     </ul>
   </xsl:template>
-  <xsl:template name="file" match='file'>
-    <a><xsl:attribute name='href'>files/<xsl:apply-templates /></xsl:attribute><xsl:apply-templates /></a>
+  <xsl:template match="file" name="file">
+    <a>
+      <xsl:attribute name="href">files/<xsl:apply-templates/>
+      </xsl:attribute>
+      <xsl:apply-templates/>
+    </a>
   </xsl:template>
-  <xsl:template match='faq'>
-    <a name='index'>
-      <font size='+1'>Question-Index:</font>
+  <xsl:template match="faq">
+    <a name="index">
+      <font size="+1">Question-Index:</font>
     </a>
     <ul>
-      <xsl:for-each select='qa'>
+      <xsl:for-each select="qa">
         <li>
-          <a><xsl:attribute name='href'>#<xsl:value-of select='position()' /></xsl:attribute><xsl:value-of select='question' /></a>
+          <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>
+      <font size="+1">Answers:</font>
     </p>
-    <xsl:apply-templates />
+    <xsl:apply-templates/>
   </xsl:template>
-  <xsl:template match='qa'>
-    <table width='100%' cellspacing='0' cellpadding='0' border='0'>
+  <xsl:template match="qa">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
       <tr>
-        <td bgcolor='#999999'>
-          <table width='100%' cellspacing='0' cellpadding='3px' border='0'>
+        <td bgcolor="#999999">
+          <table border="0" cellpadding="3px" cellspacing="0" width="100%">
             <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' />
+                  <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>
       <tr>
         <td>
-          <xsl:apply-templates />
+          <xsl:apply-templates/>
         </td>
       </tr>
     </table>
     <p>
-      <font size='-1'>
-        <a href='#index'>(back to index)</a>
+      <font size="-1">
+        <a href="#index">(back to index)</a>
       </font>
     </p>
   </xsl:template>
-  <xsl:template match='question'></xsl:template>
-  <xsl:template match='answer'>
-    <xsl:apply-templates />
+  <xsl:template match="question"/>
+  <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 border="2" cellpadding="2px" width="100%">
       <!--
   
 <tr bgcolor="#FFFF99">
 </td>
 </tr>
   -->
-<xsl:apply-templates />
+      <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'>
+  <xsl:template match="tt">
+    <tr bgcolor="#FFFF99">
+      <td align="left" colspan="2" width="100%">
+        <font color="#000000" face="Arial,Helvetica" size="+1">
           <b>
-            <xsl:value-of select='@title' />
+            <xsl:value-of select="@title"/>
           </b>
         </font>
       </td>
     </tr>
     <tr>
-      <td width='50%' valign='top'>
-        <xsl:for-each select='author'>
+      <td valign="top" width="50%">
+        <xsl:for-each select="author">
           <b>Creator:</b>
-          <xsl:apply-templates />
-          <br />
+          <xsl:apply-templates/>
+          <br/>
         </xsl:for-each>
-        <xsl:for-each select='text'>
-          <xsl:apply-templates />
+        <xsl:for-each select="text">
+          <xsl:apply-templates/>
         </xsl:for-each>
       </td>
-      <td width='50%'>
-        <table width='100%'>
+      <td width="50%">
+        <table width="100%">
           <tr>
-            <xsl:for-each select='ttimages'>
-              <xsl:apply-templates />
+            <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'>
+  <xsl:template match="scratchtable">
+    <table border="2" width="100%">
+      <tr bgcolor="#FFFF99">
         <td>
-          <font face='Arial,Helvetica' color='#000000' size='+1'>
+          <font color="#000000" face="Arial,Helvetica" size="+1">
             <b>Scratch</b>
           </font>
         </td>
         <td>
-          <font face='Arial,Helvetica' color='#000000' size='+1'>
+          <font color="#000000" face="Arial,Helvetica" size="+1">
             <b>Author</b>
           </font>
         </td>
         <td>
-          <font face='Arial,Helvetica' color='#000000' size='+1'>
+          <font color="#000000" face="Arial,Helvetica" size="+1">
             <b>Description</b>
           </font>
         </td>
       </tr>
-      <xsl:apply-templates />
+      <xsl:apply-templates/>
     </table>
   </xsl:template>
-  <xsl:template match='scratch'>
+  <xsl:template match="scratch">
     <tr>
-      <xsl:apply-templates />
+      <xsl:apply-templates/>
     </tr>
   </xsl:template>
-  <xsl:template match='mp3file|author|comment'>
-    <td valign='top'>
-      <xsl:apply-templates />
+  <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 />
+  <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 />
+  <xsl:template match="screen">
+    <span style="font-family: monospace; color: #DDFFDD">
+      <xsl:apply-templates/>
     </span>
   </xsl:template>
-  <xsl:template match='screenshot'>
+  <xsl:template match="screenshot">
     <xsl:if test="name(.)='screenshot'">CLOSE_DA_P</xsl:if>
     <center>
-      <table width='100%' border='0'>
+      <table border="0" width="100%">
         <tr>
           <td>
             <center>
               <a>
-                <xsl:attribute name='href'>pix/<xsl:value-of select='@filename' /></xsl:attribute>
-                <img border='0'>
-                 <xsl:attribute name='alt'><xsl:value-of select='name(.)' /></xsl:attribute>
-                  <xsl:attribute name='src'>pix/pre_<xsl:value-of select='@filename' /></xsl:attribute>
+                <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>
         <tr>
           <td>
             <center>
-              <xsl:apply-templates />
+              <xsl:apply-templates/>
             </center>
           </td>
         </tr>
     </center>
     <xsl:if test="name(.)='screenshot'">OPEN_DA_P</xsl:if>
   </xsl:template>
-  <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: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'>
+    <td align="center" valign="top" width="33%">
+      <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>
+              <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>
         <tr>
           <td>
             <center>
-              <xsl:apply-templates />
+              <xsl:apply-templates/>
             </center>
           </td>
         </tr>
       </table>
     </td>
   </xsl:template>
-  
-  <xsl:template match='ilink'>
-  <table width='100%' border='0' bgcolor='#999999' cellspacing="5px">
-  <tr>
-         <xsl:if test='banner'>
-         <td valign="top" width="90px" halign="center">
-         <a
-               ><xsl:attribute name='href'><xsl:if test='link'><xsl:value-of select='link/@ref'/></xsl:if
-               ><xsl:if test='dblink'><xsl:variable name="search" select="dblink/@id"/><xsl:value-of select='//dlink[@id=$search]/@url'/></xsl:if></xsl:attribute
-               ><img 
-                 border='0'><xsl:attribute name='alt'><xsl:value-of select='logo'/></xsl:attribute
-                 ><xsl:attribute name='src'>pix/banner/<xsl:value-of select='banner/@filename' /></xsl:attribute>
-                </img>
-         </a>
-         </td>
-         </xsl:if>
-         
-        <td valign="top">
-               <xsl:for-each select='para'>
-                 <xsl:apply-templates />
-               </xsl:for-each>
-       </td>
-  </tr>
-  </table>
-  <xsl:if test="following-sibling::ilink">
-         <hr/>
-  </xsl:if>
+  <xsl:template match="ilink">
+    <table bgcolor="#999999" border="0" cellspacing="5px" width="100%">
+      <tr>
+        <xsl:if test="banner">
+          <td halign="center" valign="top" width="90px">
+            <a>
+              <xsl:attribute name="href">
+                <xsl:if test="link">
+                  <xsl:value-of select="link/@ref"/>
+                </xsl:if>
+                <xsl:if test="dblink">
+                  <xsl:variable name="search" select="dblink/@id"/>
+                  <xsl:value-of select="//dlink[@id=$search]/@url"/>
+                </xsl:if>
+              </xsl:attribute>
+              <img border="0">
+                <xsl:attribute name="alt">
+                  <xsl:value-of select="logo"/>
+                </xsl:attribute>
+                <xsl:attribute name="src">pix/banner/<xsl:value-of select="banner/@filename"/>
+                </xsl:attribute>
+              </img>
+            </a>
+          </td>
+        </xsl:if>
+        <td valign="top">
+          <xsl:for-each select="para">
+            <xsl:apply-templates/>
+          </xsl:for-each>
+        </td>
+      </tr>
+    </table>
+    <xsl:if test="following-sibling::ilink">
+      <hr/>
+    </xsl:if>
   </xsl:template>
-  
 </xsl:stylesheet>
index e575b10b72f9e494ae5780d7ba1aa2ecff1f0453..9d33f27d53653dc72825737f1e3bc8532de099f5 100644 (file)
@@ -1,25 +1,18 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE section SYSTEM "./tX.dtd"[ ]>
-<section name='turntable gallery'>
-   &db;
-  <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 
-    <dblink id='oldtable'>document</dblink> 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>
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE section SYSTEM "./tX.dtd">
+<section name="turntable gallery"> &db; <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 <dblink
+      id="oldtable">document</dblink> 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>
         </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>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 &quot;in detail&quot; picture
+            to find out how Fernando's table works.</para>
           <para>
-          <italic>Note</italic>: Fernando also contributed a scratch - see 
-          <dblink id='scratches'>users' scratches-section</dblink>.</para>
+            <italic>Note</italic>: Fernando also contributed a scratch - see <dblink
+              id="scratches">users' scratches-section</dblink>.</para>
         </text>
         <ttimages>
-          <image filename='fernando1.jpg'>
+          <image filename="fernando1.jpg">
             <nopara>The whole thing</nopara>
           </image>
-          <image filename='fernando2.jpg'>
+          <image filename="fernando2.jpg">
             <nopara>A little closer</nopara>
           </image>
-          <image filename='fernando3.jpg'>
+          <image filename="fernando3.jpg">
             <nopara>Even closer</nopara>
           </image>
-          <image filename='fernando4.jpg'>
+          <image filename="fernando4.jpg">
             <nopara>In detail</nopara>
           </image>
-          <image filename='fernando5.jpg'>
+          <image filename="fernando5.jpg">
             <nopara>Fernado in action</nopara>
           </image>
         </ttimages>
           </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>
+          <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'>
+          <image filename="toqer1.jpg">
             <nopara>Toqer's optical turntable</nopara>
           </image>
         </ttimages>
           </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>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 filename="matt1.jpg">
+            <nopara>Could be a &quot;usual&quot; turntable</nopara>
           </image>
-          <image filename='matt2.jpg'>
+          <image filename="matt2.jpg">
             <nopara>But it's not</nopara>
           </image>
-          <image filename='matt3.jpg'>
+          <image filename="matt3.jpg">
             <nopara>Tricky details</nopara>
           </image>
         </ttimages>
       </tt>
-      <tt title='My turntable'>
+      <tt title="My turntable">
         <author>
           <person>
             <name>Me</name>
           </person>
         </author>
         <text>
-          <para>These are the pictures of my very own terminatorX turntable.
-          The turntable is described in more detail 
-          <dblink id='oldtable'>here</dblink>.</para>
+          <para>These are the pictures of my very own terminatorX turntable. The turntable is
+            described in more detail <dblink id="oldtable">here</dblink>.</para>
         </text>
         <ttimages>
-          <image filename='tt_normal.jpg'>
+          <image filename="tt_normal.jpg">
             <nopara>The turntable and its connector</nopara>
           </image>
-          <image filename='tt_top1.jpg'>
+          <image filename="tt_top1.jpg">
             <nopara>Again</nopara>
           </image>
-          <image filename='tt_top_zoom.jpg'>
+          <image filename="tt_top_zoom.jpg">
             <nopara>The motor</nopara>
           </image>
-          <image filename='tt_open_total.jpg'>
+          <image filename="tt_open_total.jpg">
             <nopara>Turntable's inside</nopara>
           </image>
-          <image filename='tt_mouse_axis.jpg'>
+          <image filename="tt_mouse_axis.jpg">
             <nopara>The axis to connect</nopara>
           </image>
-          <image filename='tt_mouse_connect.jpg'>
+          <image filename="tt_mouse_connect.jpg">
             <nopara>Axis attached to motor</nopara>
           </image>
-          <image filename='tt_the_mouse.jpg'>
+          <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>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>