clean: Makefile
rm -rf *.html *.tmp
-%.html: %.xml tX.xsl tX.dtd sedscript
- xsltproc tX.xsl $*.xml > $*.tmp && sed -f sedscript < $*.tmp | (echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/REC-html401/loose.dtd">'; cat) > $*.html ; rm $*.tmp
+%.html: %.xml tX.xsl tX.dtd sedscript linkdb.xml
+ xsltproc tX.xsl $*.xml > $*.tmp && sed -f sedscript < $*.tmp | (echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/REC-html401/loose.dtd">'; cat) > $*.html ; rm $*.tmp
# java org.apache.xalan.xslt.Process -in $*.xml -xsl tX.xsl -out $*.tmp && sed -f sedscript < $*.tmp | (echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/REC-html401/loose.dtd">'; cat) > $*.html ; rm $*.tmp
dist: all
<?xml version='1.0' encoding='iso-8859-1'?>
<!DOCTYPE section SYSTEM "./tX.dtd">
<section name='aseqjoy'>
+ &db;
<aseqjoy>
<para>
- <bold>aseqjoy</bold>is a
+ <bold>aseqjoy</bold> is a
<italic>Joystick to ALSA MIDI Sequencer Converter</italic>. In fact it's a
really tiny piece of software that turns a joystick into a MIDI controller
for the
- <link ref='http://www.alsa-project.org'>ALSA</link> sequencer
+ <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
- <link ref='aseqjoy-man.html'>manpage</link>.</para>
+ have a look the <dblink id='aseqjoy_man'>manpage</dblink>.</para>
<para>If you want to test it yourself download the source:
<link ref='aseqjoy-0.0.1.tar.gz'>aseqjoy-0.0.1.tar.gz</link> (Sorry no
binaries - but it's so small it only takes seconds to compile it yourself
package</link> (to calibrate your joystick) and Robert Ham's
<link ref='http://pkl.net/%7Enode/alsa-patch-bay.html'>
alsa-patch-bay</link> or aconnect from the
- <link ref='http://www.alsa-project.org'>alsa-utils</link> package to connect
+ <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
- <link ref='COPYING'>GNU General Public License V2</link>.</para>
+ <dblink id='license'>GNU General Public License V2</dblink>.</para>
</aseqjoy>
</section>
#!/bin/bash
for file in $*;
do
- jpegtopnm < $file | pnmscale -xsize=100 | pnmtojpeg > pre_$file
+ jpegtopnm < $file | pnmscale -xsize=100 | jpegtopng > pre_$file
done
--- /dev/null
+#!/bin/bash
+for file in $*;
+do
+ if [ -f pre_$file ]
+ then
+ rm -rf pre_$file
+ fi
+ pngtopnm < $file | pnmscale -xsize=350 | pnmtopng > pre_$file
+done
<?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>
<person>
<name>Brian</name>
<email>bredfern@calarts.edu</email>
- </person>wrote a nice
+ </person> wrote a nice
<italic>QuickToot</italic> tutorial on terminatorX. Check it out
- <link ref='tutorial.html'>here</link> or have look at all the other
- <link ref='http://dcdj.com'>QuickToots</link> available.</para>
+ <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
- <link ref='INSTALL'>INSTALL</link> file.</para>
+ look at the <dblink id='install'/> file.</para>
</listitem>
<listitem>
<para>I also maintain a
- <link ref='faq.html'>Frequently Asked Questions</link> document.</para>
+ <dblink id='faq'>Frequently Asked Questions</dblink> document.</para>
</listitem>
</itemizedlist></para>
<para>Additionally there's a
<itemizedlist>
<listitem>
<para>HTML version of the
- <link ref='aseqjoy.html'>aseqjoy</link>
- <link ref='aseqjoy-man.html'>man page</link>.</para>
+ <dblink id='aseqjoy'/>
+ <dblink id='aseqjoy_man'>man page</dblink>.</para>
</listitem>
<listitem>
<para>And a rather old
- <link ref='oldturntable.html'>description</link> on how I turned my
+ <dblink id='oldtable'>description</dblink> on how I turned my
broken turntable into terminatorX device.</para>
</listitem>
</itemizedlist></para>
<?xml version='1.0' encoding='iso-8859-1'?>
<!DOCTYPE section SYSTEM "./tX.dtd">
<section name='download'>
+ &db;
<download>
<index>
<title>Available Downloads</title>
</listitem>
<listitem>
<nopara>
- <link ref='http://www.ladspa.org'>LADSPA</link> The Linux Audio
+ <dblink id='ladspa'/> The Linux Audio
Developer's Simple Plugin API</nopara>
</listitem>
<listitem>
</listitem>
<listitem>
<nopara>terminatorX supports Steve Harris'
- <link ref='http://plugin.org.uk/lrdf/'>liblrdf</link> which allows
+ <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
<listitem>
<nopara>terminatorX' MIDI interface is based on the ALSA sequencer
API and therefor requires a working
- <link ref='http://www.alsa-project.org'>ALSA</link> setup</nopara>
+ <dblink id='alsa'/> setup</nopara>
</listitem>
<listitem>
<para>To enhance audiofile support I strongly recommend installing:
<link ref='http://packages.debian.org/unstable/sound/terminatorx.html'>
terminatorX Debian package</link> via
<italic>apt-get</italic>.</para>
- <para>Mandrake users may be pleased to here that
+ <para>Mandrake users may want to check out
<person>
- <name>Some</name>
- <email>email@email.de</email>
- </person> has created RPMs for their distribution
- <link ref=''>here</link>.</para>
+ <name>Thac</name>
+ <email>tobbe@nyvalls.com</email>
+ </person>'s RPMs <link ref='http://rpm.nyvalls.se/sound9.0.html'>here</link>.</para>
</subsection>
<subsection>
<title>Old Sources</title>
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE section SYSTEM "./tX.dtd"[ ]>
<section name='faq'>
+ &db;
<faq>
<qa>
<question>What is terminatorX?</question>
"scratch" on digitally sampled audio data (*.wav, *.au, *.ogg, *.mp3,
etc.) the way hiphop-DJs scratch on vinyl records. It features multiple
turntables, realtime effects (buit-in as well as
- <link ref='http://www.ladspa.org'>LADSPA</link> plugin effects), a
+ <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
<para>
<bold>Update:</bold> If you want to use your joystick along with your
mouse I suggest using my tiny
- <link ref='aseqjoy.html'>aseqjoy</link> tool to connect your joystick to
+ <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
_t24__default_alloc_template2b1i0.free_list" when I run
terminatorX?</question>
<answer>
- <para>You proabably downloaded the binary-rpm-package and your
+ <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>
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE section SYSTEM "./tX.dtd">
<section name='main'>
+ &db;
<main>
<general>
<heading>Welcome to the terminatorX website!</heading>
<subtitle>
<nopara>Bookmark this site as
- <link ref='http://www.terminatorX.cx'>www.terminatorX.cx</link>. It's
+ <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>
sampled audio data (*.wav, *.au, *.ogg, *.mp3, etc.) the way hiphop-DJs
scratch on vinyl records. It features multiple turntables, realtime
effects (buit-in as well as
- <link ref='http://www.ladspa.org'>LADSPA</link> plugin effects), a
+ <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
- <link ref='faq.html'>FAQ</link>/<link ref='doc/index.html'>Manual</link>/<link
- ref='http://www.boosthardware.com/LAU/quicktoots/toots/tx_toot/tx_toot1.html'>Tutorial</link>/<link ref='COPYING'>LICENSE</link> and if you have further questions,
+ <dblink id='faq'/>/<link ref='doc/index.html'>Manual</link>/<dblink id='tutorial'>Tutorial</dblink>/<dblink id='license'>License</dblink> and if you have further questions,
suggestions, patches,
- <link ref='scratches.html'>scratches</link> send me a
+ <dblink id='scratches'>scratches</dblink> send me a
<link ref='mailto:alex@lisas.de'>mail</link></para>
</text>
</general>
<news>
<newsitem>
- <newsheader date='April 03'>
+ <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>
<itemizedlist>
<listitem>
<para>Finally terminatorX has a
- <bold>native</bold>
- <link ref='http://www.alsa-project.org'>ALSA</link>
+ <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
<name>Arthur Peters</name>
<email>amp@singingwizard.org</email>
</person>. The MIDI interface is based upon the
- <link ref='http://www.alsa-project.org'>ALSA</link> sequencer API,
+ <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
a turntable's parameter click the
<italic>MIDI Mapping</italic> button.</para>
<para>In order to test the new interface I hacked a little tool
- called
- <link ref='aseqjoy.html'>aseqjoy</link> that emits MIDI controller
+ called <dblink id='aseqjoy'/> that emits MIDI controller
messages based on Joystick motion.</para>
</listitem>
<listitem>
<para>I added a little
<bold>pitch calculator</bold> that allows adjusting the playback
speed of a turntable to that of the master turntable so it easy
- very easy to synchronize loops now. Note that this feature is
- proabably useless.</para>
+ 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
</itemizedlist></para>
<para>This release has seen quite some
<link ref="http://developer.kde.org/~sewardj">valgrinding</link> so it
- should run rather stable and a major mem leak has been fixedm, too.
+ should run rather stable and a major mem leak has been fixed, too.
Unlike 3.73 this one compiles with gcc > 3.0 with
<screen>-Wall</screen> and
- <screen>-Werror</screen> enabled.</para>
+ <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 busg.
+ </para>
</newstext>
</newsitem>
<newsitem>
<link ref='download.html#Current Version'>terminatorX
V3.73</link> available,
<link ref='http://www.debian.org'>Debian</link> inclusion + a
- <link ref='http://www.boosthardware.com/LAU/quicktoots/toots/tx_toot/tx_toot1.html'>
- tutorial</link></newsheader>
+ <dblink id="tutorial"/></newsheader>
<newstext>
<para>Aside of fixing numerous bugs, the new release does have some
new features:
too, but I don't plan to support it much longer.</para>
</listitem>
</itemizedlist>
- <screenshot filename='shot-3.73-1.png'>
- <nopara>Minimizing controls to save space</nopara>
- </screenshot>
<itemizedlist>
<listitem>
<para>I reworked the GUI a bit in order to make terminatorX fit
<person>
<name>Adrian</name>
<email>adrian@lisas.de</email>
- </person>terminatorX now has a
+ </person> terminatorX now has a
<bold>manpage</bold>.</para>
</listitem>
</itemizedlist></para>
<person>
<name>Tilman Linneweh</name>
<email>tilman@arved.de</email>
- </person>for testing.</para>
+ </person> for testing.</para>
</listitem>
<listitem>
<para>Many other fixes.</para>
<person>
<name>Mike Furr</name>
<email>mfurr@debian.org</email>
- </person>is now maintainer of the
+ </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
<person>
<name>Brian</name>
<email>bredfern@calarts.edu</email>
- </person>has created a wonderful step-by-step
- <link ref='http://www.boosthardware.com/LAU/quicktoots/toots/tx_toot/tx_toot1.html'>
- "terminatorX TOOT" tutorial</link> - reading that will accelerate the
+ </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>
</newstext>
</newsitem>
<newsitem>
<newsheader date='31 Jul'>
- <link ref='turntable.html'>Turntable gallery</link> online and a fresh
- <link ref='scratches.html'>scratch</link></newsheader>
+ <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
<person>
<name>Brian</name>
<email>bredfern@calarts.edu</email>
- </person>- a California based terminatorX DJ - has contributed a very
+ </person> - a California based terminatorX DJ - has contributed a very
cool scratch for the
- <link ref='scratches.html'>scratches section</link>. It's just an
+ <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
<para>Hope everybody had a nice start into 2002, these are the
changes that come with terminatorX release 3.72 (for details check
the
- <link ref='ChangeLog'>ChangeLog</link>):
+ <dblink id='changelog'/>):
<itemizedlist>
<listitem>
<para>Thanks to a patch from
--- /dev/null
+<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="oldturntable.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"/>
+</linkdb>
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE section SYSTEM "./tX.dtd"[ ]>
<section name='scratches'>
+ &db;
<scratches>
<para>
<bold>Yeah, Boy!</bold>(talking
<nopara>Aint no DJ but love to scratch!</nopara>
<tinycomment>
<nopara>created with his
- <link ref='turntable.html'>own turntable</link>.</nopara>
+ <dblink id='turntables'>own turntable</dblink>.</nopara>
</tinycomment>
</comment>
</scratch>
<listitem>
<nopara>
<italic>mp3</italic> or
- <italic>ogg</italic> it. If you don't have an encoder go and get,
+ <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>
<?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 I took of terminatorX 3.80 in
+ <para>Here are some screenshots of terminatorX 3.80 in
action.</para>
<para>
<screenshot filename='shot-3.80-1.png'>
</screenshot>
<screenshot filename='shot-3.80-2.png'>
<nopara>Selecting a
- <link ref='http://www.ladspa.org'>LADSPA</link> plugin from a
- <link ref='liblrdf'>liblrdf</link> structured menu.</nopara>
+ <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
- <link ref='http://www.ladspa.org'>LADSPA</link> plugins, too.</nopara>
+ <dblink id='ladspa'/> plugins, too.</nopara>
</screenshot>
<screenshot filename='shot-3.80-4.png'>
<nopara>Configuring terminatorX.</nopara>
</screenshot>
- <screenshot filename='shot-3.80-5'>
+ <screenshot filename='shot-3.80-5.png'>
<nopara>Mapping MIDI events to turntable parameters.</nopara>
</screenshot>
</para>
s/OPEN_DA_P/<p>/
s/MAKE_THIS_MYOUML/\ö/
s/NEW_TT_ROW/<\/tr><tr>/
+s/charset=UTF-8/charset=iso-8859-1/
-<!ELEMENT section (main|download|screenshots|scratches|links|faq|turntable|aseqjoy|docs)>
+<!ELEMENT section (linkdb?, (main|download|screenshots|scratches|links|faq|turntable|aseqjoy|docs))>
<!ATTLIST section
- name (main|download|screenshots|scratches|links|faq|turntable|aseqjoy|docs) #REQUIRED>
+ name CDATA #REQUIRED>
<!ELEMENT main (general, news)>
<!ELEMENT download (index, current, subsection+)>
<!ELEMENT docs (para*)>
<!ELEMENT screenshots (subsection)+>
+<!ELEMENT linkdb (dlink*)>
+<!ELEMENT dlink EMPTY>
+<!ATTLIST dlink
+ id CDATA #REQUIRED
+ url CDATA #REQUIRED
+ text CDATA #REQUIRED>
+<!ENTITY db SYSTEM "linkdb.xml">
+
<!ELEMENT scratchtable (scratch)*>
<!ELEMENT scratch (mp3file, author, comment)>
<!ELEMENT mp3file (file, filesize)>
<!ELEMENT news (newsitem)*>
<!ELEMENT newsitem (newsheader, newstext)>
-<!ELEMENT newsheader ( #PCDATA | link )*>
+<!ELEMENT newsheader ( #PCDATA | link | dblink )*>
<!ELEMENT newstext (para)+>
<!ATTLIST newsheader
date CDATA #REQUIRED>
<!ELEMENT text (para)*>
-<!ELEMENT nopara (#PCDATA|screen|bold|red|italic|link|screenshot|person|itemizedlist|newline|file)*>
-<!ELEMENT para (#PCDATA|screen|bold|red|italic|link|screenshot|person|itemizedlist|newline|file)*>
+<!ELEMENT nopara (#PCDATA|screen|bold|red|italic|link|dblink|screenshot|person|itemizedlist|newline|file)*>
+<!ELEMENT para (#PCDATA|screen|bold|red|italic|link|dblink|screenshot|person|itemizedlist|newline|file)*>
<!ATTLIST para
class (fancy|plain) 'fancy'>
<!ELEMENT link (#PCDATA)>
<!ATTLIST link
ref CDATA #REQUIRED>
+
+<!ELEMENT dblink (#PCDATA)>
+<!ATTLIST dblink
+ id CDATA #REQUIRED>
+
<!ELEMENT itemizedlist (listitem+)>
<!ELEMENT listitem (nopara|para)+>
</table>
</xsl:template>
<xsl:template match='link'>
- <A>
- <xsl:attribute name='HREF'>
- <xsl:value-of select='@ref' />
- </xsl:attribute>
- <xsl:apply-templates />
- </A>
+ <a><xsl:attribute name='href'><xsl:value-of select='@ref' /></xsl:attribute><xsl:apply-templates /></a>
+ </xsl:template>
+ <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>
+ <xsl:if test="sum(//dlink[@id=$search])=0">
+ <font color='#FF0000'>
+ <blink>broken dblink "<xsl:value-of select="$search"/>"</blink>
+ </font>
+ </xsl:if>
</xsl:template>
<xsl:template match='newline'>
<br />
</ul>
</xsl:template>
<xsl:template match='file'>
- <a>
- <xsl:attribute name='href'>
- <xsl:apply-templates />
- </xsl:attribute>
- <xsl:apply-templates />
- </a>
+ <a><xsl:attribute name='href'><xsl:apply-templates /></xsl:attribute><xsl:apply-templates /></a>
</xsl:template>
<xsl:template match='faq'>
<a name='index'>
<ul>
<xsl:for-each select='qa'>
<li>
- <a>
- <xsl:attribute name='href'>#
- <xsl:value-of select='position()' /></xsl:attribute>
- <xsl:value-of select='question' />
- </a>
+ <a><xsl:attribute name='href'>#<xsl:value-of select='position()' /></xsl:attribute><xsl:value-of select='question' /></a>
</li>
</xsl:for-each>
</ul>
<tr>
<td>
<a>
- <xsl:attribute name='name'>
- <xsl:value-of select='position() div 2' />
- </xsl:attribute>
+ <xsl:attribute name='name'><xsl:value-of select='position() div 2' /></xsl:attribute>
<font color='#FFCC33' size='+1'>
<xsl:value-of select='question' />
</font>
<td>
<center>
<a>
- <xsl:attribute name='href'>pix/
- <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>
+ <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>
- <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>
<?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
method suggested by the terminatorX logo should be feasible. Optical input
devices are known to produce best results in such a scenario. For those
interested here's a
- <link ref='oldtable.html'>document</link> on how I turned my old turntable
+ <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
works.</para>
<para>
<italic>Note</italic>: Fernando also contributed a scratch - see
- <link ref='scratches.html'>users' scratches-section</link>.</para>
+ <dblink id='scratches'>users' scratches-section</dblink>.</para>
</text>
<ttimages>
<image filename='fernando1.jpg'>
<text>
<para>These are the pictures of my very own terminatorX turntable.
The turntable is described in more detail
- <link ref='oldtable.html'>here</link>.</para>
+ <dblink id='oldtable'>here</dblink>.</para>
</text>
<ttimages>
<image filename='tt_normal.jpg'>