-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
47 changed files
with
8,677 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
Computer Music Toolkit (CMT) | ||
---------------------------- | ||
|
||
This toolkit is a set of musical sound processing and synthesis tools | ||
presented as a LADSPA plugin library. See the doc/ directory for | ||
documentation and installation instructions. See http://www.ladspa.org | ||
for LADSPA information. See http://www.ladspa.org/cmt for CMT updates. |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
<H1>Adding Plugins to the CMT Library</H1> | ||
|
||
<P>The CMT <A HREF="http://www.ladspa.org"> | ||
LADSPA</A> plugin collection is written in C++ and uses a little | ||
additional sophistication to make plugin writing easier. This document | ||
describes how to add a new plugin to the toolkit.</P> | ||
|
||
<P>At the moment CMT is not under public version control, so please | ||
send changes to <A HREF="mailto:[email protected]">Richard | ||
Furse</A>.</P> | ||
|
||
<P>CMT plugins interpret <CODE>LADSPA_Handle</CODE> entities as | ||
pointers to objects derived from the <CODE>CMT_PluginInstance</CODE> | ||
class. Plugin instance structures are defined by subclassing this, so | ||
writing a descendent of <CODE>CMT_PluginInstance</CODE> is the first | ||
thing to do. The CMT library provides its own implementation of | ||
<CODE>connect_port()</CODE>, <CODE>cleanup()</CODE> and a templated | ||
form of <CODE>instantiate()</CODE> (see | ||
<CODE>CMT_Instantiate<>()</CODE>). These calls assume that any | ||
instantiation or cleanup mechanisms required will be written in the | ||
constructor or destructor of the class.</P> | ||
|
||
<P>When writing a plugin module, an initialisation function should be | ||
included. To ensure this is called, add a call to the | ||
<CODE>initialise_modules()</CODE> function in | ||
<CODE>descriptor.cpp</CODE>. The module should also be added to the | ||
<CODE>makefile</CODE>.</P> | ||
|
||
<P>Your initialisation function should construct new | ||
<CODE>CMT_Desctiptor</CODE> plugin descriptor structures and pass them | ||
to <CODE>registerNewPluginDescriptor()</CODE>. The | ||
<CODE>CMT_Descriptor</CODE> is directly descended from | ||
<CODE>LADSPA_Descriptor</CODE> but provides constructor, destructor | ||
and <CODE>addPort()</CODE> methods.</P> | ||
|
||
<P>All plugins need unique IDs. During development, use values between | ||
1 and 1000. When the plugin is ready, please request an ID from <A | ||
HREF="mailto:[email protected]">[email protected]</A>. Please | ||
also add a brief description of your module to <A | ||
HREF="plugins.html"><CODE>plugins.html</CODE></A>.</P> | ||
|
||
<P>In practice, CMT plugin writing is probably best learned by | ||
example. For a simple case, see the <CODE>mixer.cpp</CODE> | ||
module. This defines a <CODE>SimpleMixer</CODE> class to handle | ||
instance data, a <CODE>runSimpleMixer()</CODE> function for use with | ||
it and a <CODE>mixer_descriptor()</CODE> function to provide a | ||
description of the plugin to the CMT core. The | ||
<CODE>mixer_descriptor()</CODE> function is declared and referenced in | ||
the <CODE>descriptor.cpp</CODE> module. Additional information is | ||
available in <CODE>cmt.h</CODE> and <CODE>ladspa.h</CODE>.</P> | ||
|
||
<P>CMT plugins are <A HREF="license.html">licenced</A> under GPL | ||
version 2. Please read and understand this license before submitting | ||
plugins to the library.</P> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
<H1>CMT Bugs</H1> | ||
|
||
<P>Please report bugs to <A HREF="mailto:[email protected]"> | ||
[email protected]</A>.</P> | ||
|
||
<UL> | ||
|
||
<LI>I'm not sure I've got attack & decay the right way around in the | ||
expander plugins.</LI> | ||
|
||
<LI>Need to have a look at dynamic.cpp for handling of unusual | ||
arithmetic situation such as <CODE>isnan()</CODE>, | ||
<CODE>isinf()</CODE> etc.</LI> | ||
|
||
<LI>Memory management is a little haphazard at present. What happens | ||
when <CODE>new()</CODE> fails? The host can use | ||
<CODE>set_new_handler()</CODE>, but I suspect this needs further | ||
thought anyway.</LI> | ||
|
||
</UL> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,99 @@ | ||
<H1>CMT Changes</H1> | ||
|
||
<H2>Version 1.01 - 4 May 2000</H2> | ||
<UL> | ||
|
||
<LI>Initial Release.</LI> | ||
|
||
</UL> | ||
|
||
<H2>Version 1.02 - 11 May 2000</H2> | ||
<UL> | ||
|
||
<LI>Use <CODE>_init()</CODE> and <CODE>_fini()</CODE>. To handle | ||
memory management automatically.</LI> | ||
|
||
<LI>Change from <CODE>*_descriptor()</CODE> approach simpler | ||
initialise_*() approach. Use <CODE>_init()</CODE> and | ||
<CODE>_fini()</CODE> to handle memory management. Supply | ||
<CODE>CMT_Descriptor::~CMT_Descriptor()</CODE>.</LI> | ||
|
||
<LI>Make comments compatible with Doxygen.</LI> | ||
|
||
<LI>Addition of Ambisonic encoder, decoder, converter and rotation | ||
plugins.</LI> | ||
|
||
<LI>Addition of Sine Waveshaper and Granular Scatter Processor | ||
plugin.</LI> | ||
|
||
</UL> | ||
|
||
<H2>Version 1.03 - 14 May 2000</H2> | ||
<UL> | ||
|
||
<LI>Updated to correspond to http://www.ladspa.org/.</LI> | ||
|
||
</UL> | ||
|
||
<H2>Version 1.04 - 18 May 2000</H2> | ||
<UL> | ||
|
||
<LI>Bugfixes: Ambisonic encoder inputs, white noise amplitude/DC, | ||
Ambisonic rotation inplace support, sine oscillator frequency input | ||
inplace support.</LI> | ||
|
||
</UL> | ||
|
||
<H2>Version 1.05 - 18 May 2000</H2> | ||
<UL> | ||
|
||
<LI>Bugfix: use explicit pointer type when deleting | ||
<CODE>ImplementationData</CODE> in <CODE>~CMT_Descriptor</CODE>.</LI> | ||
|
||
</UL> | ||
|
||
<H2>Version 1.06 - 24 Sep 2000</H2> | ||
<UL> | ||
|
||
<LI>Introduction of Identity plugins.</LI> | ||
|
||
</UL> | ||
|
||
<H2>Version 1.07 - 30 Sep 2000</H2> | ||
<UL> | ||
|
||
<LI>Use constructor/destructor rather than _fini() and _init(). Use | ||
C++ for linkage.</LI> | ||
|
||
</UL> | ||
|
||
<H2>Version 1.08 - 30 Sep 2000</H2> | ||
<UL> | ||
|
||
<LI>Fix to Ambisonic decode equations.</LI> | ||
|
||
</UL> | ||
|
||
<H2>Version 1.09 - 4 Nov 2000</H2> | ||
<UL> | ||
|
||
<LI>Addition of a port of Freeverb (version 3) and a collection of | ||
plugins by David Bartold (analogue, canyon_delay, organ, syndrum, | ||
vcf303).</LI> | ||
|
||
</UL> | ||
|
||
<H2>Version 1.10 - 17 Feb 2001</H2> | ||
<UL> | ||
|
||
<LI>Small compile fixes to some modules. Apologies to David who sent | ||
me a patch ages ago for the analogue module.</LI> | ||
|
||
</UL> | ||
|
||
<H2>Version 1.11 - 8 May 2001</H2> | ||
<UL> | ||
|
||
<LI>Addition of newline character to end of allpass.h.</LI> | ||
|
||
</UL> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
<H1>CMT Library Downloads</H1> | ||
|
||
<P>Please select the file you wish to download:</P> | ||
|
||
<TABLE BORDER=1> | ||
|
||
<TR> | ||
<TH>File</TH> | ||
<TH>Description</TH> | ||
</TR> | ||
|
||
<TR> | ||
<TD><A HREF="http://www.ladspa.org/download/cmt_lib.tgz"> | ||
cmt_lib.tgz</A></TD> | ||
<TD>The Computer Music Toolkit LADSPA plugin library.</TD> | ||
</TR> | ||
|
||
<TR> | ||
<TD><A HREF="http://www.ladspa.org/download/cmt_src.tgz"> | ||
cmt_src.tgz</A></TD> | ||
<TD>The Computer Music Toolkit LADSPA plugin collection source code | ||
and documentation.</TD> | ||
</TR> | ||
|
||
</TABLE> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
<H1>CMT Index</H1> | ||
|
||
<UL> | ||
<LI><A HREF="overview.html">Overview</A></LI> | ||
<LI><A HREF="download.html">Download</A></LI> | ||
<LI><A HREF="installation.html">Installation</A></LI> | ||
<LI><A HREF="license.html">License (LGPL)</A></LI> | ||
<LI><A HREF="plugins.html">Plugins in the Library</A></LI> | ||
<LI><A HREF="adding_plugins.html">Adding Plugins to the Library</A></LI> | ||
<LI><A HREF="changes.html">Change History</A></LI> | ||
<LI><A HREF="bugs.html">Bugs</A></LI> | ||
<LI><A HREF="tasks.html">Task List</A></LI> | ||
</UL> | ||
|
||
<H2>Other Links</H2> | ||
|
||
<UL> | ||
<LI>The <A HREF="http://www.ladspa.org/ladspa_sdk">The LADSPA Software | ||
Development Kit</A></LI> | ||
</UL> | ||
|
||
<P><AUTHOR>Richard Furse</AUTHOR> can be emailed as <A | ||
HREF="mailto:[email protected]">[email protected]</A>. | ||
|
||
</P> | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
<H1>CMT Installation</H1> | ||
|
||
<P>To build the plugin library, enter the <CODE>src/</CODE> directory | ||
and run <CODE>make</CODE>. The makefile expects to find the | ||
<CODE>ladspa.h</CODE> header file in your include path or | ||
<CODE>/usr/local/include/</CODE>. If you do not have this file it can | ||
be downloaded as part of the LADSPA SDK from <A | ||
HREF="http://www.ladspa.org/ladspa_sdk/download.html"> | ||
http://www.ladspa.org/ladspa_sdk/download.html</A>.</P> | ||
|
||
<P>Running <CODE>make</CODE> will generate the CMT LADSPA plugin | ||
library (<CODE>cmt.so</CODE>) in the <CODE>plugins/</CODE> | ||
directory. This can be moved to an appropriate location depending on | ||
the application you are using. Running <CODE>make install</CODE> from | ||
the <CODE>src/</CODE> directory as root will install to | ||
<CODE>/usr/local/lib/ladspa/</CODE> which is on the search path | ||
recommended for hosts looking for plugin libraries. Some applications | ||
may not search this directory automatically.</P> | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
<H1>CMT License</H1> | ||
|
||
<P>The CMT toolkit is licensed under <A HREF="COPYING">GPL version | ||
2</A>.</P> | ||
|
||
<P>As I understand it (I'm not a lawyer) this means that, once built, | ||
the CMT library <EM>may</EM> be used with non-GPL'd applications as | ||
long as it is built and loaded using the standard LADSPA | ||
dynamic-linking approach without modification. In my opinion this is a | ||
good thing for the toolkit, if not for the GPL.</P> | ||
|
||
<P>The above may not be correct when built against the LGPL version of | ||
the ladpsa.h header file, but it is certainly the way we would like | ||
things to be. See the <A | ||
HREF="http://www.ladspa.org/ladspa_sdk/license.html">LADPSA | ||
license</A> for further details.</P> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
<H1>Computer Music Toolkit (CMT) v1.11 Overview</H1> | ||
|
||
<P>The Computer Music Toolkit (CMT) is a collection of <A | ||
HREF="http://www.ladspa.org">LADSPA</A> plugins for use with software | ||
synthesis and recording packages on Linux. See the <A | ||
HREF="license.html">license</A> before use.</P> | ||
|
||
<P>The CMT is developed primarily by Richard W.E. Furse the principle | ||
designer of the LADSPA standard, with additional plugins by Jezar and | ||
David Bartold. If you are a programmer or can write documentation and | ||
would like to help out, please feel free to <A | ||
HREF="mailto:[email protected]">contact Richard</A>.</P> | ||
|
Oops, something went wrong.