CMT Documentation

# CMT Changes

## Version 1.01 - 4 May 2000

- Initial Release.

## Version 1.02 - 11 May 2000

- Use `_init()` and `_fini()`. To handle memory management automatically.
- Change from `*_descriptor()` approach simpler initialise_*() approach. Use `_init()` and `_fini()` to handle memory management. Supply `CMT_Descriptor::~CMT_Descriptor()`.
- Make comments compatible with Doxygen.
- Addition of Ambisonic encoder, decoder, converter and rotation plugins.
- Addition of Sine Waveshaper and Granular Scatter Processor plugin.

## Version 1.03 - 14 May 2000

- Updated to correspond to http://www.ladspa.org/.

## Version 1.04 - 18 May 2000

- Bugfixes: Ambisonic encoder inputs, white noise amplitude/DC, Ambisonic rotation inplace support, sine oscillator frequency input inplace support.

## Version 1.05 - 18 May 2000

- Bugfix: use explicit pointer type when deleting `ImplementationData` in `~CMT_Descriptor`.

## Version 1.06 - 24 Sep 2000

- Introduction of Identity plugins.

## Version 1.07 - 30 Sep 2000

- Use constructor/destructor rather than _fini() and _init(). Use C++ for linkage.

## Version 1.08 - 30 Sep 2000

- Fix to Ambisonic decode equations.

## Version 1.09 - 4 Nov 2000

- Addition of a port of Freeverb (version 3) and a collection of plugins by David Bartold (analogue, canyon_delay, organ, syndrum, vcf303).

## Version 1.10 - 17 Feb 2001

- Small compile fixes to some modules. Apologies to David who sent me a patch ages ago for the analogue module.

## Version 1.11 - 8 May 2001

- Addition of newline character to end of allpass.h.

## Version 1.12 - 17 Sept 2001

- Addition of new plugins by David: "Lo Fi" and "Phase Modulated Voice."

## Version 1.13 - 7 May 2002

- Fix to B-Format rotation algorithm.

## Version 1.14 - 7 Aug 2002

- Fix to B-Format rotation algorithm.
- Update for LADSPA 1.1 (include default values).

## Version 1.15 - 19 Dec 2002

- Addition of a number of utility routines and namespaces by Nathaniel Virgo.
- Addition of a number of plugins by Nathaniel Virgo.
- Small change to trigger mechanism in syndrum plugin.

## Version 1.16 - 6 Nov 2007

- Remove -Werror from compile options in makefile.
- Remove "local" part from install directories.
- Small additional changes to makefile for robustness.
- Replace strdup() with localStrdup() to avoid malloc/new mismatch.

## Version 1.17 - 3 Jan 2019

- Rename Makefile.
- Modernise C++ #include style.
- Make some globals static.
- Initialise variables in analogue.cpp to reassure compiler.
- Remove ancient to-do list.
- Use GCC export map to ensure only ladspa_descriptor() is exported. Don't strip on install.
- Package with version number in archive and directory names.
- Tweaks to documentation processing.
- Use C99 isnormal() to identify denormals (and other bad numbers).

## Version 1.18 - 3 Sep 2021

- Remove stale email address
- Remove some unused variables.
- Fix clang compile issue with static function.
- Change Freeverb to handle sample rates better.
- Fix URL in documentation.
- Fix so delay can handle a delay of zero.

# CMT Index

- Overview
- Download
- Installation
- License (LGPL)
- Plugins in the Library
- Adding Plugins to the Library
- Change History
- Bugs

## Other Links

- The LADSPA Software Development Kit