diff options
-rw-r--r-- | htdocs/index.html | 227 | ||||
-rw-r--r-- | htdocs/pd.css | 88 | ||||
-rw-r--r-- | htdocs/pure-data.htm | 76 | ||||
-rw-r--r-- | htdocs/subprojects.html | 266 |
4 files changed, 657 insertions, 0 deletions
diff --git a/htdocs/index.html b/htdocs/index.html new file mode 100644 index 00000000..a83b158a --- /dev/null +++ b/htdocs/index.html @@ -0,0 +1,227 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<HTML> +<HEAD> +<TITLE>Pure Data External Repository</TITLE> +<link rel="stylesheet" type="text/css" href="pd.css" media="screen"> + +</HEAD> +<BODY text="#000000" bgcolor="#ffffff" > + +<table border=0 width=650 class="bordered"> +<tr> +<td> +<h1>Pure Data External Repository</h1> +<!-- Quote of the day --> +<p class="small"><br> +I think it is certainly true that the open-source movement is a very powerful +source toward higher-quality software, and I would turn the question around and +ask if open-source music wouldn t also be a very good thing. +<br><em>MSP</em> + + +<h2>Introduction</h2> + +The Pure Data external repository is meant to be a place where developers of +externals for the Pure Data computer music system can put their code. For +information about PD, look at the <A HREF="http://www.pure-data.org">Pure Data +website</A>. +<p> + +PD has a huge user base and we all enjoy working with PD. A lot of externals +are being written and published on the web. As a consequence, it has become +increasingly hard to have an overview of all the externals. A central code +repository will offer this, as well as many other advantages. It will be easier +to manage the code, update orphaned externals, distribute compiled versions for +different systems, avoid duplication of effort, collaborate on improving the +same external, and finally the users have the advantage of being able to +download it from one single place. +<p> + +I could go on listing the advantages, but there is one big disadvantage. We +have to work on it in order to make it a success. We have to learn CVS and we +have to import our projects into the repository. I think it is worth this work, +because you gain a lot too. If you don´t have the time to get into this, but +still agree that your external becomes part of the repository, just <A +HREF="mailto:geiger@xdv.org">send an email </A> with the information how to +download your code. +<p> + +Another drawback is that your code has to be GPL'd. If this is a problem for +you, let <a href="mailto:pd-dev@iem.kug.ac.at">us</a> know. + +<h2>Projects at the Pure Data Repository</h2> +There is a list with short descriptions of the <a +href="subprojects.html">Externals currently in the Repository</a> + +<h2>Accessing the Externals via CVS</h2> + +You have to install cvs. On most Linux systems this is already installed, on +Windows or Mac OS/X you will have to download it <A +HREF="http://cvsgui.sourceforge.net/">from the net</A>. Then, if you have cvs +installed (this example is assuming the commandline version) use the following +line to login into the CVS server: +<pre> +% cvs -d:pserver:anonymous@cvs.pure-data.sourceforge.net:/cvsroot/pure-data login +</pre> +<p> + +Hit return when you are asked for a password. In order to get the source: +<pre> +% cvs -z3 -d:pserver:anonymous@cvs.pure-data.sourceforge.net:/cvsroot/pure-data co externals +</pre> +<p> + +This will give you a local copy of the externals-directory in the repository. +After some time, if you want to get all the latest additions and updates, type +(in the externals directory): +<pre> +% cvs -d:pserver:anonymous@cvs.pure-data.sourceforge.net:/cvsroot/pure-data update -d +</pre> +<p> + +Without the -d only existing directories on your local copy get updated. +<p> + +Currently building the externals works to same way it did before, just cd into +the external directory (e.g. cd vst) and read through the compilation +instructions. Later this process will be automated and you can build al the +externals in one go, or even download a precompiled archive for your system. +<p> +Some other modules in the repository include Pd abstractions or the developers +version of Pd. You can check these out by replacing the modulename with the +respective modulename. +<p> +For example check out the abstractions with: +<pre> +% cvs -z3 -d:pserver:anonymous@cvs.pure-data.sourceforge.net:/cvsroot/pure-data co abstractions +</pre> +<p> +or Pd with + +<pre> +% cvs -z3 -d:pserver:anonymous@cvs.pure-data.sourceforge.net:/cvsroot/pure-data co pd +</pre> +<p> +To check out the current developers' branch, which is tagged with "devel_0_36", use +<pre> +% cvs -z3 -d:pserver:anonymous@cvs.pure-data.sourceforge.net:/cvsroot/pure-data co -r devel_0_36 pd +</pre> +<p> +You can find out the available branches in the pulldown menu on the project's +<a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/pure-data/pd/">CVS-page</a> +(or use "cvs -T ..."). +<a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/pure-data/">Browsing CVS</a> +is a good way to see what else is in the repository anyway. +<p> +If you absoluetly cannot use CVS, there are <a href="http://cvs.sourceforge.net/cvstarballs/pure-data-cvsroot.tar.gz">nightly CVS-tarballs</a> +of the whole project tree available (around 15 MB currently). +<h2>Putting Your Externals in the Repository</h2> + +This description is mainly about Linux, if you are working with Windows, you +might try the procedure described in this <a +href="http://sfsetup.sourceforge.net/tutorial_cvsaccess.html">tutorial</a>. Let +us know if it works. +<p> + +To contribute your pd externals to the repository you'll first have to register +yourself at sourceforge (making you an official developer of the project). Go +to sourceforge.net and click on the "new user" link on the upper left corner. +Then <A HREF="mailto:geiger@xdv.org">send an email </A> with the user you +created and Guenter will add you to the pure-data developer list. +<p> + +At the <A HREF="HTTP://sourceforge.net/projects/pure-data">project page</A> you +can see if you are already listed as a developer. The next step is to "import" +your source code. First make sure that your code is in a directory, and remove +everything from that directory that you don´t want to put under CVS. Compiled +code, for example, is not normally put into CVS. +<p> + +Make sure you are in this directory and issue the command: +<p> +<pre> +% export CVS_RSH=ssh +% cvs -z3 -d:ext: developername@cvs.pure-data.sourceforge.net:/cvsroot/pure-data + import externals/dirname developername source-dist +</pre> +<p> + +Exchange "developername" with your sourceforge accountname and "dirname" with +the name of your externals directory. You have to import the source only +once for your external(s). +<p> + +If all of this went well, move away your external directory (keep it as a +backup) and checkout the code with: +<pre> +% cvs -z3 -d:ext:developername@cvs.pure-data.sourceforge.net:/cvsroot/pure-data + co externals +</pre> +<p> + +From this point on, if you are working in your externals directory, and want to +commit your changes to the server you just have to do +<pre> +% cvs commit +</pre> +<p> + +or +<pre> +% cvs update +</pre> +<p> + +to take a look at what you have changed. +<p> + +All the information about where the repository is, the loginname etc, is in the +"CVS" directory, that should be part of your external directory now. +<p> + +If you are still unsure about the workings, take a look at this <a +href="http://www.cvshome.org/docs/blandy.html">introduction</A> about using +CVS. + +<h2>Contact</h2> + +All questions, suggestions should go to the <a href="mailto:pd-dev@iem.kug.ac.at">PD Developer +mailing list</a>. (Except if you want to ask to be added to the developer list on sourceforge). + +<br> +<br> + +<center> +<form action="http://pd.klingt.org/webring/" method="post"> +<input type="hidden" name="base_url" value=""> +<input type="hidden" name="description" value="CVS Repository at SourceForge"> + +<table width=260 height=75 cellpadding=0 cellspacing=0 border=0 bgcolor="#FFFFFF"> + <tr> + <td width=55 height=25 align="middle"> + <input type="image" name="next" src="http://pd.klingt.org/webring/next.gif" border=0 width=55 height=25 align="middle"></td> + <td width=62 height=25 align="middle"> + <input type="image" name="list" src="http://pd.klingt.org/webring/list.gif" border=0 width=62 height=25 align="middle"></td> + <td width=63 height=25 align="middle"> + <input type="image" name="random" src="http://pd.klingt.org/webring/random.gif" border=0 width=63 height=25 align="middle"></td> + <td width=80 height=25 align="middle"> + <input type="image" name="previous" src="http://pd.klingt.org/webring/previous.gif" border=0 width=80 height=25 align="middle"></td> + </tr> + <tr> + <td colspan=4 width=260 height=50 align="middle"> + <a href="http://pd.klingt.org/webring/info.html"> + <img src="http://pd.klingt.org/webring/webring.gif" border=0 width=260 height=50 align="middle"></a> + </td> + </tr> +</table> +</form> +<br clear="all"> +<A href="http://sourceforge.net"><IMG + src="http://sourceforge.net/sflogo.php?group_id=55736&type=5" + width="210" height="62" border="0" alt="SourceForge Logo"></A> + + +</center> +</td></tr></table> + +</BODY></HTML> diff --git a/htdocs/pd.css b/htdocs/pd.css new file mode 100644 index 00000000..b6b5e233 --- /dev/null +++ b/htdocs/pd.css @@ -0,0 +1,88 @@ + +HTML { + background: #ffffff; + color: #000; + font-family: Verdana, Helvetica, Arial, Tahoma, sans-serif; + font-size: 8pt; +} + +BODY{ + padding: 5px; + font-family: Verdana, Helvetica, Arial, Tahoma, sans-serif; + font-size: 8pt; +} + +.footer { + background:#EEEEEE; + width: 650px; +} + +.bordered { + padding: 5px; +} + + +H1 { + color: #600; + border: solid 1px; + font-family: monospace; + padding: 5px; + background:#EEEEEE; +} + +H2 { + font-family: Courier, monospace; + border: solid 1px; + color: #000; + padding: 4px; +} + +H3 { + font-family: Courier, monospace; + border: solid 1px; + color: #000; + padding: 4px; +} + +pre { + color: #333333; + padding: 3px; + background:#EEEEEE; +} + +A { + text-decoration: none; +/* background: #FFFFFF; */ + color: #b00; +} + +A:hover { + text-decoration: underline; + /* background: #FFFFFF; */ + color: #003300 ; +} + +A.nonexistent { + background: #EEE; + color: #CC6600; +} + + + + +HR { + height:1px; + width: 75%; + /* background:#eeaa00; */ + background:#eee; + color:#000; +} + +P.small { + font-size: xx-small; + background:#fff; + text-align: right; + /*border: dotted 1px;*/ + padding: 5px; +} + diff --git a/htdocs/pure-data.htm b/htdocs/pure-data.htm new file mode 100644 index 00000000..36514141 --- /dev/null +++ b/htdocs/pure-data.htm @@ -0,0 +1,76 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<HEAD> +<TITLE>Pure Data External Repository</TITLE> +</HEAD> +<BODY> + +<H1>Pure Data External Repository</H1> + +<H2> Introduction</H2> +The Pure Data external reopsitory is meant to be a place where developers of externals +for the Pure Data computer music system can put their code. For information about PD, +look at the <A HREF="http://www.pure-data.org">Pure Data website</A>. + +<H2>How to download the PD externals</H2> + +ANN:This is preliminary information, later it will be just downloading a source tarball or +the precompiled binary distributions. +<p> +You have to install cvs. On most Linux system this is already install, on Windows or MACOS/X +you will have to download it from the net (TODO: add link). +</p> +Then, if you have cvs install (this example is assuming the commandline version) use the following line +to login into the CVS server: +<p> +cvs -d:pserver:anonymous@cvs.pure-data.sourceforge.net:/cvsroot/pure-data login +</p> +hit return when you are asked for a password. +In order to get the source: +<p> +cvs -z3 -d:pserver:anonymous@cvs.pure-data.sourceforge.net:/cvsroot/pure-data co externals +</p> +<h2>How to put your externals in the repository</h2> + +<h3>Why you should care</h3> +<p> +PD has a huge user base, we are all enjoying to work with PD. But sometimes when you do a big project +there are some things that you want to do, but it is not possible to do it by patching only. +Thats why so many different people wrote lots of externals for PD, and most of them (I hope so at least) +are putting them on the web for free download. +</p> +<p> +It has become increasingly hard to have the overview over all these externals, thats why we started this +external repository, where developers can add their externals. This way it will be easier to manage the +externals, update orphaned externals, distribute compiled versions for different systems, avoid duplication +of effort, and finally the users have the advantage of beeing able to download it from one single place. +</p> +I could go on listing advantages of this system, but there is one big disadvantage. We have to work +on it inorder to make it a sucess. We have to learn CVS, we have to import our projects into the +repository. I think it is worth this work, because you gain a lot too. If you don´t have the time to +get into this, but still agree that your external becomes part of the repository, just write me an email +(ANN: link to email). +<h3>The procedure</h3> +<p> +To contribute your pd externals to the repository you have to register yourself at sourceforge first. +(You will be a official developer of the project then). Go to sourceforge.net and click on the "new +user" link on the upper left corner. Then send me an email and tell me the user you created, I will add +you to the pure-data developer list then. +</p> +<p> +You can see at the +<A HREF="HTTP://sourceforge.net/projects/pure-data">project page</A> if you are already listed as +a developer. The next step is to "import" your source code. First make sure that your code is in a +directory, and remove everything from that directory that you don´t want to put under CVS. +Compiled code, for example, is not put into CVS, normally. +</p> +Make sure you are in this directory and issue the command:<BR> +cvs -z3 -d:ext:developername@cvs.pure-data.sourceforge.net:/cvsroot/pure-data import externals/dirname developername source<BR> +If all of this went well, move away your external directory (keep it as a backup) and checkout the code +with:<BR> + cvs -z3 -d:ext:developername@cvs.pure-data.sourceforge.net:/cvsroot/pure-data co externals + + + + + +</BODY></HTML> diff --git a/htdocs/subprojects.html b/htdocs/subprojects.html new file mode 100644 index 00000000..3adca578 --- /dev/null +++ b/htdocs/subprojects.html @@ -0,0 +1,266 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<HTML> +<HEAD> +<TITLE>Pure Data External Repository</TITLE> +<link rel="stylesheet" type="text/css" href="pd.css" media="screen"> + +</HEAD> +<BODY text="#000000" bgcolor="#ffffff" > + +<table border=0 width=650 class="bordered"> +<tr> +<td> +<h1><a href="index.html">Pure Data External Repository</a></h1> +<!-- Quote of the day --> +<p class="small"><br>sorry for the constant upheaval, at some point I'll get it right...<br><em>MSP</em> + +<h2>Projects at the Pure Data Ext. Repository</h2> +<p>The following projects already have put their sources inside the Pure Data +External Repository: +<pre> + externals + |-- <a href="#OSCx">OSCx</a> + |-- <a href="#aenv~">aenv~</a> + |-- <a href="#ann">ann</a> + |-- <a href="#arraysize">arraysize</a> + |-- <a href="#chaos">chaos</a> + |-- <a href="#creb">creb</a> + |-- <a href="#cxc">cxc</a> + |-- <a href="#debian">debian</a> + |-- <a href="#ext13">ext13</a> + |-- <a href="#footils">footils</a> + |-- <a href="#ggee">ggee</a> + |-- <a href="#grill">grill</a> + | |-- <a href="#deljoin">deljoin</a> + | |-- <a href="#delsplit">delsplit</a> + | |-- <a href="#flext">flext</a> + | |-- <a href="#pguitest">pguitest</a> + | |-- <a href="#idelay">idelay</a> + | |-- <a href="#namedobjs">namedobjs</a> + | |-- <a href="#pool">pool</a> + | |-- <a href="#prepend">prepend</a> + | |-- <a href="#py">py</a> + | |-- <a href="#vasp">vasp</a> + | `-- <a href="#xsample">xsample</a> + |-- <a href="#maxlib">maxlib</a> + |-- <a href="#pdogg">pdogg</a> + |-- <a href="#plugin~">plugin~</a> + |-- <a href="#rhythm_estimator">rhythm_estimator</a> + |-- <a href="#sprinkler">sprinkler</a> + |-- <a href="#susloop~">susloop~</a> + |-- <a href="#svf~">svf~</a> + |-- <a href="#vbap">vbap</a> + |-- <a href="#vst">vst</a> + |-- <a href="#zexy">zexy</a> + `-- <a href="#zhzxh~">zhzxh~</a> +</pre> +<p> +You also can browse the Repository contents at the projects <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/pure-data/">CVS-Page</a>. +<h2>Missing externals</h2> +<p>There are externals missing, I know. Please mail your descriptions to +<a href="mailto:fbar@footils.org">fbar@footils.org</a>. Thank you for your attention. + + +<a name="OSCx"></a> <h3>OSCx</h3><p> +OSC, OpenSoundControl for pd +<br>by jdl at xdv.org +<a name="aenv~"></a> <h3>aenv~</h3><p> +aenv~: asymptotic ADSR envelope generator; The output value approaches the +target values as asymptotes. +<br> (c) Ben Saylor +<a name="ann"></a> <h3>ann</h3><p> +/* ...this is an externals for comouting Aritficial Neural Networks... +<br> thikn aboiut this +<br> +<br> 0201:forum::für::umläute:2001 +<br>*/ + +<a name="arraysize"></a> <h3>arraysize</h3> +<p> arraysize -- report the size of an array + +<a name="chaos"></a> <h3>chaos</h3><p> +"Chaos PD Externals" a set of objects for PD which +calculate various "Chaotic Attractors"; including, Lorenz, Rossler, Henon +and Ikeda. Hopefully more will be on their way. +<br>Copyright Ben Bogart 2002 +<a name="creb"></a> <h3>creb</h3><p> +This is a collection of pd externals. No fancy stuff, just my +personal bag of (ahem) tricks... +<br>(c)Tom Schouten +<a name="cxc"></a> <h3>cxc</h3> +<p> +-------------------------- +<br> cxc pd eternals library +<br> powered by zt0ln d4ta +<br>-------------------------- +<br> many useful externals. +<a name="debian"></a> <h3>debian</h3><p> +From the README.Debian: +<br><possible notes regarding this package - if none, delete this file> ;) +<p> Debian users can check out all externals and build a Debian package of +most in one command. +<a name="ext13"></a> <h3>ext13</h3> +<p>this ist ext13, another highly useful collection of externals for pd + +<a name="footils"></a> <h3>footils</h3> +<p> +externals for classic synthesis techniques like fm, granular, soundfont, ... +<br>flext-iiwu | rx7 | shabby | syncgrain +<a name="ggee"></a> <h3>ggee</h3><p> +Your host's Guenther Geiger's ggee externals collection. They serve different +purposes, ranging from objects for building a simple User interface for pd +patches, to objects interfacing Perry Cooks STK, streaming audio over the LAN, +Filter implementations and other. +<a name="grill"></a> <h3>grill</h3><p> +Various externals, libraries and development tools by Thomas Grill (xovo@gmx.net). Synched to +<a +href="http://www.parasitaere-kapazitaeten.net/ext">www.parasitaere-kapazitaeten.net/ext</a>. +Please see the following descriptions: +<a name="deljoin"></a> +<h4>deljoin</h4> +<p>join a list with delimiter +<a name="delsplit"></a> +<h4>delsplit</h4> +<p> split a delimited list-in-a-symbol +<h4><a name="flext"></a>flext</h4> +<p> +flext - C++ layer for Max/MSP and pd (pure data) externals +<br> +This package seeks to encourage the development of open source software +for the pd and Max/MSP platforms. + +<a name="guitest"></a> +<h4>guitest</h4> +<p> Experimental wrapper for writing GUI externals. +<a name="idelay"></a> +<h4>idelay</h4> +<p> Interpolating delay line +<a name="namedobjs"></a> +<h4>namedobjs</h4> +<p>retrieve named objects in a patcher +<h4><a name="pool"></a>pool</h4><p> +pool - a hierarchical storage object for PD and Max/MSP + +<a name="prepend"></a> +<h4>prepend</h4> +<p> prepend - just like in MaxMSP +<h4><a name="py"></a>py</h4><p> +py/pyext - python script objects for PD (and MaxMSP... once, under MacOSX and Windows) +<a name="vasp"></a> +<h4>vasp</h4> +<p>VASP modular - vector assembling signal processor +<p>GOALS/FEATURES +<br>=============== +<p> +VASP is a package for PD or MaxMSP consisting of a number of externals extending +these systems with functions for non-realtime array-based audio data processing. +VASP is capable of working in the background, therefore not influencing eventual +dsp signal processing. + + +<h4><a name="xsample"></a>xsample</h4><p> +xsample - extended sample objects for Max/MSP and pd (pure data) + + +<a name="maxlib"></a> <h3>maxlib</h3> +<p> +maxlib - music analysis extensions library +<p> The objects can be very useful to analyse any musical performance. Some +of the objects are 'borrowed' from Max (they are not ported but +rewritten for Pd - cheap immitations). +maxib has recently been extended by objects of more general use and some +which can be use for composition purposes. See +<a href="http://www.akustische-kunst.org/puredata/maxlib/">http://www.akustische-kunst.org/puredata/maxlib/</a> +<br> (c) 2002 by Olaf Matthes +<a name="pdogg"></a> <h3>pdogg</h3> +<p> +Superior open source audio compression with OGG Vorbis has come to Pd. +<br> (c) 2002 by Olaf Matthes +<a name="plugin~"></a> <h3>plugin~</h3> +<p>LADSPA and VST plug-in hosting for Pd +<p></p> +This is a Pd tilde object for hosting LADSPA and VST audio plug-ins on Linux +and Windows systems, respectively. The <a +href="http://www.ladspa.org">LADSPA</a> plug-in interface is supported +completely on Linux, while the VST 1.0 audio processing plug-in interface +(without plug-in graphics) is supported on Windows. +<br>Jarno Seppänen, jams@cs.tut.fi +<a name="rhythm_estimator"></a> <h3>rhythm_estimator</h3> +<p>This is a collection of Pd objects for doing rhythm (quantum) +estimation. +<br>Jarno Seppänen jams@cs.tut.fi and Piotr Majdak p.majdak@bigfoot.com + +<a name="sprinkler"></a> <h3>sprinkler</h3> +<p> +'sprinkler' objects do dynamic control-message dissemination. +<br> +Given a list as input, a 'sprinkler' object interprets the initial +list element as the name of a 'receive' object, and [send]s the +rest of the list to that object. +<br>Bryan Jurish <moocow@ling.uni-potsdam.de> + +<a name="susloop~"></a> <h3>susloop~</h3> +<p>sample player with various loop methods (ping-pong, ... ) think tracker. + +<a name="svf~"></a> <h3>svf~</h3> +<p>This is a signal-controlled port of Steve Harris' state variable filter <a +href="http://plugin.org.uk">LADSPA plugin</a> <br>By Ben Saylor, <a +href="http://www.macalester.edu/~bsaylor">http://www.macalester.edu/~bsaylor</a> + +<a name="vbap"></a> <h3>vbap</h3> +<p> Vector Based Amplitude Panning. Use, if you need to control sound locations +in space. + +<a name="vst"></a> <h3>vst</h3> +<p></p>VST 2.0 support external. It supports the "string" interface for +parameters as well as providing access to the graphical interface supplied by +the plugin's creator. VSTi's can have midi information supplied to them and +export automation data. All in all it provides a very flexable mechanism to use +VST plugins outside of the Cubase environment. This download is the compiled +external DLL and PDF help file. + +<a name="zexy"></a> <h3>zexy</h3> +<p>the zexy external +<p> +general::<br> the zexy external is a collection of externals. Including matrix +operations. +<a name="zhzxh~"></a> <h3>zhzxh~</h3> +<p> by Ben Saylor <a href="http://www.macalester.edu/~bsaylor">http://www.macalester.edu/~bsaylor</a> +Turns the input signal into a staticky, distorted mess. Comes with tone +control. + +<center> +<form action="http://pd.klingt.org/webring/" method="post"> +<input type="hidden" name="base_url" value=""> +<input type="hidden" name="description" value="CVS Repository at SourceForge"> + +<table width=260 height=75 cellpadding=0 cellspacing=0 border=0 bgcolor="#FFFFFF"> + <tr> + <td width=55 height=25 align="middle"> + <input type="image" name="next" src="http://pd.klingt.org/webring/next.gif" border=0 width=55 height=25 align="middle"></td> + <td width=62 height=25 align="middle"> + <input type="image" name="list" src="http://pd.klingt.org/webring/list.gif" border=0 width=62 height=25 align="middle"></td> + <td width=63 height=25 align="middle"> + <input type="image" name="random" src="http://pd.klingt.org/webring/random.gif" border=0 width=63 height=25 align="middle"></td> + <td width=80 height=25 align="middle"> + <input type="image" name="previous" src="http://pd.klingt.org/webring/previous.gif" border=0 width=80 height=25 align="middle"></td> + </tr> + <tr> + <td colspan=4 width=260 height=50 align="middle"> + <a href="http://pd.klingt.org/webring/info.html"> + <img src="http://pd.klingt.org/webring/webring.gif" border=0 width=260 height=50 align="middle"></a> + </td> + </tr> +</table> +</form> +<br clear="all"> + +<!-- REMOVE CMNTS AT PUBLISHING: --> +<A href="http://sourceforge.net"><IMG + src="http://sourceforge.net/sflogo.php?group_id=55736&type=5" + width="210" height="62" border="0" alt="SourceForge Logo"></A> + +</center> +</td></tr></table> + +</BODY></HTML> |