MN Library Change Log
MNLib is a set of C++ libraries and programs for audio processing
and music. It is designed with portable C++ code for use on Linux,
Microsoft platforms and others. MNLib and its documentation are
Copyright 1999 Richard W.E. Furse (all rights reserved).
Change Log
Version 1.15 - 1 Sep 2000
- Sound card audio support for Windows.
- Addition of simple dedicated FMH encoder and standard decoder
classes, rotation and gain.
- Repairs to controlled-opposites algorithm so searches more
accurately and efficiently for multiple maxima. This was causing the
decoder a long startup time and producing controlled opposite cases
where rear speaker response was not quite flat.
- Small changes to MNServer interface.
- Explicit handling of synchronous and asynchronous event
streams.
- Small fixes to comb filters.
- Addition of maths parser and realtime calculator (in
development).
Version 1.14 - 31 May 2000
- Extensive development of the MNServer classes and Java mng
package.
- Introduction and development LADSPA and its SDK.
- Introduction and development of the CMT LADSPA plugin
library.
- Separation of LADSPA and CMT into independent project.
Version 1.13 - 27 Mar 2000
- Support for GCC on IRIX. Includes reworking of word order issues
for persistence support and Wave file access.
- Other small changes.
Version 1.12 - 23 Mar 2000
- Unknown socket requests are now passed to ancestor class in all
cases.
- Replacement of simple USDA_METHOD model with introduction of
USDA_METHOD_PUSH. Removal of method access for streamed data
types.
- Introduction of Unit::setQueryMode().
- Introduction of
stcancl stereo cancellation
utility.
- First version of the MNServer class, designed to publish the
Network and Unit functionality through a simple API. Wrapper provided
to provide the MN server as a TCP/IP server. Not yet published.
- Initial implementation of mng.MNManager java GUI. Not yet
published.
- VSpace script language changed for clarity. Keyword `reflection'
is replaced with `early reflection' and keyword `reverb' is replaced
with `late reflection.' `minimum reflection gain' becomes `early
reflection minimum gain.' Documentation updated. Added facilities to
disable early/late reflection. New default values. New command line
parameters. Introduce core radius for non-Ambisonic microphones.
- Simplification of socket mechanism to disallow presence of sockets
for both input and output.
- Linux Audio Developer's Simple Plugin API (LADSPA) developed and
plugin loading support introduced to Linux version of MN.
- Convert source comments for use with doxygen. Introduce doxygen
and javadoc automatic documentation.
- Significant bug fix to VSpace early reflection engine.
Version 1.11 - 23 Dec 1999
- General consolidation, particularly of the MNServer module.
Version 1.10 - 8 Dec 1999
- Beginnings of IRIX support including big/little endian support for
wave file access (but not for persistence support).
- Automatic unit run ordering and latency support
introduced to code (including support for feedback
loops).
Process::getSystematicLatency() introduced.
TIER_NETWORK general tie access implemented
(including method access, internal to internal links etc).
- Significant improvement to Ambisonic decoder optimiser when
designing equations for first order decoding. Changes to the speakers
web page to correspond (also, inclusion of simple `Dolby'-like
surround configuration).
- Corrections to the core logic for table and event processing in
the core Unit interface. Introduction of the reference-counted
FloatTable type. Conceptual clarification of method access for audio
streams (support may be withdrawn entirely in the future).
Version 1.09 - 4 Nov 1999
- Addition of generic
DoubleMatrix class,
FMHRotation implementation and test code.
ambidec reworked to support custom speaker
rigs using matrices and multidimensional optimisation. Introduce
support for ambiguity, indifference and coarseness concepts. Update
speaker decode equation page generation.
- AmbisonicPlayer changed to use new decode equations.
- Web decode equations repaired.
Version 1.08 - 20 Oct 1999
- Switch second order Ambisonic channel ordering following
discussion with Dave Malham and introduce RSTUV labelling. Rebadge
CFormat as FMHFormat. Updated docs and
code.
Version 1.07 - 19 Oct 1999
amb2ster ditched and replaced by ambidec
which now performs generic decoding (for certain standard rigs).
- Introduction of second order Ambisonics (Furse-Malham
Higher Order Format) to core structures of MNLib. Second order
Ambisonic microphones added and published in VSpace. Second order
decoding added to AmbisonicPlayer and ambidec. Test script to examine
properties of spherical harmonics. Speaker decoding parameters
automatically published on webpage.
- Improvements to exception handling in Network and NetworkPlayer
classes. VSpace now reports errors intelligently.
- Replacement of the
Process::isBatchable() interface
with Process::isRealtime().
- Structural work begun for and on the MNServer class including
introduction of
UnitSocketSpecialProperties,
USSP_AFFECTS_SOCKET_PRESENT, NAER form and rearrangement
of Network information request and checking algorithms.
- Introduction of change log.
Links
MN Library Main Index
The author Richard Furse can be emailed as
richard@muse.demon.co.uk.