Preparing 3.80 release - Alex
authorterminatorX <>
Mon, 31 Mar 2003 17:50:11 +0000 (17:50 +0000)
committerterminatorX <>
Mon, 31 Mar 2003 17:50:11 +0000 (17:50 +0000)
website/Makefile
website/aseqjoy.xml
website/docs.xml [new file with mode: 0644]
website/faq.xml
website/index.xml
website/screenshots.xml
website/tX.dtd
website/tX.xsl

index 2129be90da60cc64fa1b7528e22d485e168ab0dc..48cd88e4249c001916d3a307139b7b9e7e1d6f49 100644 (file)
@@ -1,6 +1,6 @@
-section = main download faq screenshots scratches turntable aseqjoy
+section = main download faq screenshots scratches turntable aseqjoy docs
 
-all: index.html aseqjoy.html download.html faq.html scratches.html turntable.html screenshots.html
+all: index.html aseqjoy.html download.html faq.html scratches.html docs.html turntable.html screenshots.html
 
 clean: Makefile
        rm -rf *.html *.tmp
index 8f6307734bbc63fa99869de191aebc020d524c9e..442cb24e157d85327513a0a7ec592f58fe68f0b4 100644 (file)
@@ -29,7 +29,7 @@ install</screen>
 and Robert Ham's <link ref="http://pkl.net/%7Enode/alsa-patch-bay.html">alsa-patch-bay</link>
 or aconnect from the <link ref="http://www.alsa-project.org">alsa-utils</link> package to connect aseqjoy's MIDI output port
 to other input ports.</para>
-<para>aseqjoy is distributed under the terms of the GPL V2, too.</para>
+<para>aseqjoy is distributed under the terms of the <link ref="COPYING">GNU General Public License</link>.</para>
   </aseqjoy>
 </section>
 
diff --git a/website/docs.xml b/website/docs.xml
new file mode 100644 (file)
index 0000000..92e5a85
--- /dev/null
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE section SYSTEM "./tX.dtd"[
+]>
+<section name="docs">
+  <docs>
+       <para>The following documentation is available:
+       <itemizedlist>
+       <listitem><para>An HTML version of the
+               <link ref="manual/index.html">terminatorX online manual</link>. If you have
+               GNOME2's <italic>yelp</italic> installed you should be able to read this manual
+               by selecting it from the <italic>Help</italic> menu.
+               </para></listitem>
+               <listitem><para><person><name>Brian</name><email>bredfern@calarts.edu</email></person>
+               wrote a nice <italic>QuickToot</italic> tutorial on terminatorX. Check it out 
+               <link ref="tutorial.html">here</link>
+               </para></listitem>
+               <listitem><para>If you're stuck on installing terminatorX I recommend having
+               a look at the <link ref="INSTALL">INSTALL</link> file.
+               </para></listitem>
+               <listitem>
+               <para>I also maintain a <link ref="faq.html">Frequently Asked Questions</link> document.
+               </para>
+               </listitem>
+       </itemizedlist> 
+       </para>
+       <para>Additionally there's a
+       <itemizedlist>
+       <listitem><para>HTML version of the <link ref="aseqjoy.html">aseqjoy</link>
+       <link ref="aseqjoy-man.html">man page</link>.
+       </para></listitem>
+       <listitem><para>And a rather old <link ref="oldturntable.html">description</link> on how I turned by broken
+       turntable into terminatorX turntable.
+       </para>
+       </listitem>
+       </itemizedlist>
+       </para>
+</docs>
+</section>
+
index a3bc99cccdde245701d2ae9b03647b62691e70b2..1bee8a7aea3ce62c970d8c5082b7f7636f97d40d 100644 (file)
@@ -6,20 +6,22 @@
     <qa>
       <question>What is terminatorX?</question>
       <answer>
-       <para>terminatorX is a realtime audio synthesizer that allows you to
-         scratch on digitally sampled audio data (*.wav, *.au, *.mp3, etc.)
-         the way hiphop-DJs scratch on vinyl records. It features multiple
-         turntables, realtime effects and an easy-to-use gtk+ GUI. The latest
-         feature is the builtin sequencer. <bold>This software runs under
-           LINUX only.</bold>
-       </para>
+       <para>terminatorX is a
+         realtime audio synthesizer that allows you to "scratch" on digitally
+         sampled audio data (*.wav, *.au, *.ogg, *.mp3, etc.) the way hiphop-DJs
+         scratch on vinyl records. It features multiple turntables, realtime
+         effects (buit-in as well as
+         <link ref="http://www.ladspa.org">LADSPA</link> plugin
+         effects), a sequencer and MIDI interface - all accessible through 
+         an easy-to-use gtk+ GUI. <bold>This sofware is designed to run
+           under Linux, FreeBSD and the like</bold>.</para>
       </answer>
     </qa>
 
     <qa>
       <question>What does it cost?</question>
       <answer>
-       <para>Nothing. TerminatorX is free software. Read the
+       <para>Nothing. TerminatorX is <link ref="http://fsf.org/free-software.html">free software</link>. Read the
          <link ref="COPYING">license</link> (GPL V2).
        </para>
       </answer>
@@ -28,7 +30,7 @@
     <qa>
       <question>What platforms does it run on?</question>
       <answer>
-       <para>TerminatorX should run on any recent Linux system. I develop
+       <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.
@@ -39,9 +41,9 @@
     <qa>
       <question>What audio quality is supported? </question>
       <answer>
-       <para>TerminatorX operates at 16Bit / 44.1 kHz / Stereo
-         (Since 3.71). Samples will be converted to Mono on
-         loading.
+       <para>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>
@@ -53,8 +55,8 @@
       <answer>
        <para>This depends on the file your loading. Wavfiles are loaded with
          the builtin wavloading routines (if enabled on compiletime) and this
-         happens very fast. Other files will be opened through either sox or
-         mpg123 and that may consume quite some time.
+         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
@@ -65,7 +67,7 @@
        ></qa>
 
     <qa>
-      <question>Why doesn't terminatorX support streaming? </question>
+      <question>Why doesn't terminatorX support mmap'ed wav reading? </question>
       <answer>
        <para>Oh well due to my laziness I guess.
          <person>
        scratching?
       </question>
       <answer>
-       <para>Well, you need to configure this mouse as an XFree86 XInput
+      <para><bold>Update:</bold>
+       If you want to use your joystick along with your mouse I suggest using
+       my tiny <link ref="aseqjoy.html">aseqjoy</link> tool to connect your
+       joystick to the MIDI input port of terminatorX.
+      </para>
+       <para>If you want to use another mouse however, you need to configure 
+       this mouse as an XFree86 XInput
          devices and from what I've read I assume you'll need to have XFree86
          3.3.3.1 or higher. If you want to know how to do this read your
          XF86Config manual page (run man XF86Config) and find the part on
          turn on XInput-support in the Options-dialog of terminatorX and you
          have to select the XInput device you want terminatorX to
          initialize. Now either press "Apply" or "Ok" and you should be able
-         to scratch with that devices next time you press "Start". I haven' t
-         tested joysticks though.... 
+         to scratch with that devices next time you press "Start".
        </para>
       </answer>
     </qa>
            </para>
          </answer>
     </qa>
+    
+    <qa>
+    <question>Is there a Windows version of terminatorX?</question>
+    <answer>
+    <para>No, there is no such version, nor will I write one myself. If you plan on doing so,
+    please let me know.
+    </para>
+    </answer>
+    </qa>
     <qa>
       <question>Where does the name come from?</question>
       <answer>
index 16438352fbc3e6703b881a312590bf1328df174c..da2cb818262c35a110d4bb6207e2eb4f7cb87505 100644 (file)
@@ -18,7 +18,7 @@
          scratch on vinyl records. It features multiple turntables, realtime
          effects (buit-in as well as
          <link ref="http://www.ladspa.org">LADSPA</link> plugin
-         effects), a sequencer and 
+         effects), a sequencer and MIDI interface - all accessible through 
          an easy-to-use gtk+ GUI. <bold>This sofware is designed to run
            under Linux, FreeBSD and the like</bold>. <!-- It will possibly run und
          other UNIXish systems running
     </general>
 
     <news>
+    <newsitem>
+       <newsheader date="April 03"><link ref="download.html#Current Version">terminatorX 3.80</link> and <link ref="aseqjoy.html">aseqjoy 0.0.1</link></newsheader>
+       <newstext>
+               <para>This terminatorX release does a very good job at erasing points from my TODO-for-4.0 list. Among
+               other things this release introduces:
+               <itemizedlist>
+                       <listitem>
+                       <para>Finally terminatorX has a <bold>native</bold> <link ref="http://www.alsa-project.org">ALSA</link> 
+                       <bold>backend</bold>. See the new <italic>Preferences</italic> dialog and the online manual for details. 
+                       The ALSA and the OSS backends now both support operating at an 
+                       <bold>arbitrary sampling rate</bold>.</para>
+                       </listitem>
+                       <listitem><para>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 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 48kHz, 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>The audio data display is now <bold>zoomable</bold>. This helps scratching large audio
+                       files (like complete songs) significantly. Use the slider on the right of the display area to adjust
+                       the zoom level. When playing the audio data will scroll in such a manner that the current position
+                       is always centered.
+                       </para>
+                       <para>To optimize playback performance terminatorX does a lot of "zoom" calculations in
+                       advance - so adjusting the slider will cause quite some amount of recalculation on large audio
+                       files.</para>
+                       </listitem>
+                       <listitem><para>A <bold>MIDI interface</bold> thanks to a patch by
+                       <person><name>Arthur Peters</name><email>amp@singingwizard.org</email></person>. The MIDI interface 
+                       is based upon the <link ref="http://www.alsa-project.org">ALSA</link> sequencer API, so you'll
+                       have to connect terminatorX' input port to an output port of your choice with either <screen>aconnect</screen>
+                       or for example the <link ref="http://pkl.net/~node/alsa-patch-bay.html">alsa-patch-bay</link>. To map a MIDI controller or note events
+                       to a turntable's parameter click the <italic>MIDI Mapping</italic> button.
+                       </para>
+                       <para>In order to test the new interface I hacked a little tool called 
+                       <link ref="aseqjoy.html">aseqjoy</link> that emits MIDI controller messages based on
+                       Joystick motion.</para>
+                       </listitem>
+                       <listitem>
+                       <para>Advancing the use of XML: many XML-related bugs have been fixed, and I moved the <bold>set file format
+                       to XML</bold>, too. The MIDI mappings of parameters will be stored within set files, too. As XML set files
+                       with a lot of sequencer events can grow quite big tX supports writing <bold>gzip compressed set files</bold>
+                       through the use of <link ref="http://www.zlib.org">zlib</link>.
+                       </para>
+                       </listitem>
+                       <listitem>
+                       <para>Thanks to a suggestion by
+                               <person><name>Darrick Servis</name><email>darrick@dcn.davis.ca.us</email></person> 
+                               terminatorX <bold>no longer clips audio</bold>. If the generated amplitude goes beyond the maximum
+                               it will simply be cut off.
+                       </para>
+                       </listitem>
+                       <listitem>
+                       <para>Further cleaning up the layout for small DJ laptop displays: moved some buttons to
+                       a <bold>menu bar</bold> to waste less space. Addtionally you can now hit <screen>F11</screen> to
+                       enter <bold>fullscreen</bold> mode - if your window manager supports <italic>NETWM</italic>.
+                       </para>
+                       </listitem>
+                       <listitem><para>Dropped support for the old gtk+ 1.2 - you have to use gtk+ &gt;= 2.0, now.</para></listitem>
+               </itemizedlist>
+               </para>
+       </newstext>
+    </newsitem>
       <newsitem>
        <newsheader date="18 Sep"><link ref="download.html#Current Version">terminatorX
            V3.73</link> available, 
                </para>
              </listitem>
              <listitem>
-               <para>Minor fixes to make W3C's validator accept the
+               <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>
        </newstext>
       </newsitem>
        
-      <newsitem>
+<!--      <newsitem>
        <newsheader date="20 jun">New scratches, turntables &amp; FAQ updates
        </newsheader>
        <newstext>
                      Reber</name><email>adrian@lisas.de</email></person>
                  applied, that fixes some issues with newer gcc releases, some
                  minor bugs and cleans up the startup switches (there are
-                 some new ones, too - run <italic>terminatorX --help</italic>
+                 some new ones, too - run <italic>terminatorX -help</italic>
                  for more details). 
                </para>
              </listitem>
        </newstext>
       </newsitem>
 
-<!--      <newsitem>
+      <newsitem>
        <newsheader date="18 dec"><link ref="download.html#Current Version">
            RPMs</link> done and some remixes.
        </newsheader>
index 0262412e5adf0c5db94a26e8110f14ee4a3bb6c4..5c3411f08d5600b1c416a1ca84e241d5e9b578ef 100644 (file)
@@ -4,35 +4,36 @@
 <section name="screenshots">
   <screenshots>
     <subsection>
-      <title>So you want to see some graphics?</title>
+      <title>What it looks like...</title>
 
-      <para>Ok, so here are some screenshots I took of terminatorX 3.73 in
-       action. These screenshots utilze gtk+ Version 2 and the
-       wonderful Crux theme engine.
-      </para>
+      <para>Here are some screenshots I took of terminatorX 3.80 in
+       action.</para>
 
       <para>
 
-       <screenshot filename="shot-3.73-1.png">
+       <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.73-2.png">
+       <screenshot filename="shot-3.80-2.png">
          <nopara>Selecting a <link ref="http://www.ladspa.org">LADSPA</link>
-         plugin.
+         plugin from a <link ref="liblrdf">liblrdf</link> structured menu. 
          </nopara>
        </screenshot>
        
-       <screenshot filename="shot-3.73-3.png">
+       <screenshot filename="shot-3.80-3.png">
          <nopara>Mapping a parameter to a turntable's axis. This works
          for <link ref="http://www.ladspa.org">LADSPA</link> plugins, too.
          </nopara>
        </screenshot>
 
-       <screenshot filename="shot-3.73-4.png">
+       <screenshot filename="shot-3.80-4.png">
          <nopara>Configuring terminatorX.</nopara>
        </screenshot>
+       
+       <screenshot filename="shot-3.80-5"><nopara>Mapping MIDI events
+       to turntable parameters.</nopara></screenshot>
 
       </para>
     </subsection>
index 6188739a7092e8f5c4c8b3f307688db11f5da10c..933cba8b8efb2a77f2408632d5ae3eeecbea1bfb 100644 (file)
@@ -1,6 +1,6 @@
-<!ELEMENT section (main|download|screenshots|scratches|links|faq|turntable|aseqjoy)>
+<!ELEMENT section (main|download|screenshots|scratches|links|faq|turntable|aseqjoy|docs)>
 <!ATTLIST section
-  name (main|download|screenshots|scratches|links|faq|turntable|aseqjoy) #REQUIRED>
+  name (main|download|screenshots|scratches|links|faq|turntable|aseqjoy|docs) #REQUIRED>
 
 <!ELEMENT main (general, news)>
 <!ELEMENT download (index, current, subsection+)>
@@ -9,6 +9,7 @@
 <!ELEMENT faq (qa+)>
 <!ELEMENT turntable (para*, turntabletable, para*)>
 <!ELEMENT aseqjoy (para*)>
+<!ELEMENT docs (para*)>
 <!ELEMENT screenshots (subsection)+>
 
 <!ELEMENT scratchtable (scratch)*>
index ad5838412b0943dde471176fe49ba2f5e24fb5bd..4897f7b0998f4085e38d36c484360584d3ecf15f 100644 (file)
@@ -26,6 +26,7 @@
             rolloverLoad('download','pix/vinyl-hover.gif','pix/vinyl.png');
            rolloverLoad('screenshots','pix/vinyl-hover.gif','pix/vinyl.png');
            rolloverLoad('faq','pix/vinyl-hover.gif','pix/vinyl.png');
+           rolloverLoad('docs','pix/vinyl-hover.gif','pix/vinyl.png');
            rolloverLoad('turntable','pix/vinyl-hover.gif','pix/vinyl.png');
            rolloverLoad('scratches','pix/vinyl-hover.gif','pix/vinyl.png');
            rolloverLoad('aseqjoy','pix/vinyl-hover.gif','pix/vinyl.png');
                </xsl:if>
        </tr>
 
+       <tr>
+               <xsl:if test="@name='docs'"> 
+                       <td bgcolor="#777777"><img alt="-" border="0" src="pix/vinyl-highlight.png" vspace="0"/></td><td bgcolor="#777777">docs</td><td bgcolor="#777777"><img alt="-" border="0" src="pix/vinyl-spacer.png" vspace="0"/></td>
+               </xsl:if>
+               <xsl:if test="@name!='docs'"> 
+                       <td><img name="docs" alt="-" border="0" src="pix/vinyl.png" vspace="0"/></td><td><a onMouseOut="rolloverOff('docs');" onMouseOver="rolloverOn('docs');" href="docs.html">docs</a></td><td/>
+               </xsl:if>
+       </tr>
+
        <tr>
                <xsl:if test="@name='scratches'"> 
                        <td bgcolor="#777777"><img alt="-" border="0" src="pix/vinyl-highlight.png" vspace="0"/></td><td bgcolor="#777777">scratches</td><td bgcolor="#777777"><img alt="-" border="0" src="pix/vinyl-spacer.png" vspace="0"/></td>
                <table border="0" cellspacing="0" cellpadding="2px">
                        <tr>
                        <td><img src="pix/new.png" alt="new:"/></td>
-                       <td align="left" valign="middle" width="100%"><font size="+1"><xsl:apply-templates/></font> <font color="#DDDDDD" size="+1">[<xsl:value-of select="@date"/>]</font></td>
+                       <td align="left" valign="middle" width="100%"><font size="+1"><xsl:apply-templates/></font><font color="#DDDDDD" size="+1"> [<xsl:value-of select="@date"/>]</font></td>
                        </tr>
                </table>
        </xsl:for-each>