annotate CHANGELOG @ 532:569fc23fa37a

Merge from branch c++11-mutex
author Chris Cannam
date Tue, 22 Oct 2019 12:23:53 +0100
parents db2cd87cef6f
children a7e6d747fd3f
rev   line source
Chris@528 1
Chris@528 2 Version 2.9, 2019-10-23 (maintenance release)
Chris@528 3
Chris@528 4 * Fix non-thread-safe behaviour in PluginAdapter. Plugins built
Chris@528 5 using the adapter classes in version 2.8 or earlier cannot safely
Chris@528 6 be used simultaneously across threads with other instances of
Chris@528 7 themselves or of other plugins in the same library (i.e. shared
Chris@528 8 object). Hosts have been required to provide synchronisation for
Chris@528 9 such cases. Version 2.9 introduces synchronisation in the plugin,
Chris@528 10 making this usage safe. Unfortunately this does not make host code
Chris@528 11 safe when using older plugin builds, as the problem and its fix
Chris@528 12 are in the plugin side of the SDK. Caution is still required, but
Chris@528 13 this fix does allow updated plugin builds to avoid problems with
Chris@528 14 some existing hosts
Chris@528 15 * Change required C++ language standard from C++98 to C++11. This
Chris@528 16 is because of the use of std::mutex in the above fix
Chris@495 17
Chris@519 18 Version 2.8, 2019-02-07 (maintenance and minor feature release)
Chris@515 19
Chris@515 20 * When running in a 32-bit process within 64-bit Windows (WoW64),
Chris@515 21 use the VAMP_PATH_32 environment variable instead of VAMP_PATH
Chris@515 22 (hosts running in this context already use "Program Files (x86)"
Chris@515 23 instead of Program Files)
Chris@515 24 * Fix off-by-one rounding errors in frame-to-ns conversions. Unlike
Chris@515 25 the other changes here which are invisible to plugin code, this
Chris@515 26 change can lead to different results in the lowest significant
Chris@515 27 figures from existing plugins if relinked against the newer code
Chris@515 28 * Fix path environment variable character encoding handling on
Chris@515 29 Windows
Chris@515 30 * Fix theoretical possibility of integer overflow in RealTime
Chris@515 31 constructor
Chris@515 32 * Fix use of undefined behaviour in PluginRateExtractor
Chris@517 33
Chris@495 34 Version 2.7.1, 2017-03-06 (maintenance release)
Chris@495 35
Chris@495 36 * Fix inclusion mechanism for FFTs which could cause a host
Chris@495 37 application to crash in certain circumstances due to
Chris@495 38 conflicting versions of C-linkage symbols
Chris@490 39
Chris@490 40 Version 2.7, 2017-02-24 (maintenance and minor feature release)
Chris@490 41
Chris@490 42 * Add ability to PluginLoader to list plugins only in (or not in)
Chris@490 43 certain library files
Chris@490 44 * Fix fixed-sample-rate output timestamps in printout from the
Chris@490 45 simple host, and add regression test script using test plugin
Chris@490 46 * Switch the convenience FFT interface for plugin usage from the
Chris@490 47 very slow reference implementation previously provided, to the
Chris@490 48 somewhat faster KissFFT
Chris@490 49 * Add a top-secret compiler flag to switch internal FFTs to single-
Chris@490 50 precision only
Chris@490 51 * Fix some small but long-standing memory leaks and minor bugs
Chris@397 52
Chris@397 53 Version 2.6, 2015-06-16 (maintenance and minor feature release)
Chris@397 54
Chris@397 55 * Add a simple C-linkage API for plugin library discovery and
Chris@397 56 loading -- the missing part when trying to use Vamp plugins from C
Chris@397 57 or a language with only C-linkage foreign-function interface
Chris@397 58 * Fix bug in PluginBufferingAdapter reset() function, which failed
Chris@397 59 to reset timestamp rewrites (symptom: timestamps appeared to
Chris@397 60 continue to ascend from end point on next run after a reset)
Chris@397 61 * Fix sometime 1-sample rounding error in PluginInputDomainAdapter
Chris@397 62 * Update build files for more recent OS versions
Chris@397 63 * Add -L option to simple host, as synonym for --list-full
Chris@397 64 * Add a combined Visual C++ solution that includes the plugin SDK,
Chris@397 65 host SDK, example plugins, and simple host projects
Chris@397 66
Chris@355 67 Version 2.5, 2013-05-08 (maintenance release):
Chris@350 68
Chris@350 69 * Fix incorrect handling of FixedSampleRate outputs in the
Chris@350 70 PluginBufferingAdapter. Un-timestamped features on these outputs
Chris@350 71 were incorrectly being timestamped from the process timestamp,
Chris@350 72 where they should have been timed relative to the previous
Chris@350 73 feature on the output according to the output's sample rate.
Chris@350 74 * Fix return of uninitialised memory through getCurrentProgram
Chris@350 75 when plugin specifies no programs
Chris@355 76 * Ensure output sample rate is initialised (to 0) for variable-rate
Chris@355 77 outputs where the plugin forgets to set a rate
Chris@332 78
Chris@343 79 Version 2.4, 2012-07-12 (maintenance and minor feature release):
Chris@332 80
Chris@337 81 * Provide a simple FFT implementation as a convenience for plugins
Chris@337 82 * Add symbols to make the library versions discoverable by autoconf
Chris@337 83 using C linkage
Chris@332 84 * Fix failure to open plugins from Unicode builds on Windows (thanks
Chris@332 85 RJ Ryan)
Chris@337 86 * Fix thread-safety issue in PluginInputDomainAdapter
Chris@337 87 * Add build for OS/X 10.7+/Xcode 4; remove build for OpenSolaris
Chris@317 88
Chris@324 89 Version 2.3, 2011-09-28 (minor feature release):
Chris@317 90
Chris@317 91 * Add window type property to PluginInputDomainAdapter
Chris@322 92 * Permit vamp-simple-host to use streaming input with indeterminate
Chris@322 93 length (thanks Dan Stowell)
Chris@322 94 * Print label as well as values from vamp-simple-host (thanks Dan)
Chris@315 95
Chris@315 96 Version 2.2.1, 2011-04-05 (maintenance release):
Chris@315 97
Chris@315 98 * Minor build fixes for OS/X
cannam@310 99
cannam@310 100 Version 2.2, 2010-08-26 (maintenance release):
cannam@310 101
cannam@310 102 * Fixes to OS/X build procedures so as to build three-way
cannam@310 103 universal binaries (PPC, i386, x86_64) by default. Forced upon
cannam@310 104 us by OS/X 10.6 defaulting to 64-bit rather than 32-bit
cannam@249 105
cannam@290 106 Version 2.1, 2009-09-22 (maintenance and minor feature release):
cannam@290 107
cannam@290 108 * Add ProcessTimestampMethod to PluginInputDomainAdapter, offering
cannam@290 109 the ability to decide how data buffering and timestamping works for
cannam@290 110 frequency-domain plugins (whose process timestamps have to be at
cannam@290 111 the centre of each processing block rather than the start)
cannam@290 112 * Make PluginBufferingAdapter take into account any timestamp shift
cannam@290 113 introduced by a PluginInputDomainAdapter that it wraps
cannam@290 114 * Fix crash in PluginAdapter when plugin library getDescriptor fails
cannam@290 115 on plugin construction
cannam@290 116 * Add plugin skeleton files as starting point for new developers
cannam@290 117
cannam@290 118 Version 2.0, 2008-12-08 (major release):
cannam@249 119
cannam@249 120 * Feature structure now has an optional duration (plugin API change)
cannam@249 121 * Libraries reorganised into separate include and src directories for
cannam@249 122 plugin and host SDKs; hosts should no longer include from vamp-sdk/
cannam@249 123 but always from vamp-hostsdk/ instead (host source compatibility change)
cannam@249 124 * OutputDescriptor now declares whether its features will have duration
cannam@249 125 * Vamp RDF ontology now included for providing online (out-of-plugin)
cannam@249 126 descriptions of plugins; program to generate skeleton RDF for a plugin
cannam@249 127 set is included, and RDF for example plugins provided
cannam@249 128 * New PluginSummarisingAdapter providing averages, min/max, count etc
cannam@249 129 of returned features on request
cannam@249 130 * New example plugins: Fixed Tempo Estimator and Power Spectrum
cannam@249 131 * Command-line host now has a complete listing option, to print out
cannam@249 132 all data reported by plugins
cannam@249 133 * More complete Visual Studio project support
cannam@164 134
cannam@164 135 Version 1.3, 2008-07-09 (maintenance release):
cannam@164 136
cannam@164 137 * PluginBufferingAdapter has several important fixes to bugs that
cannam@164 138 could cause incorrect timings or output descriptors to be returned
cannam@164 139 * Conversion between real-time and frames has been improved to avoid
cannam@164 140 rounding error in round-trip calculations
cannam@164 141 * Plugin lookup no longer relies on non-portable DT_REG
cannam@164 142 * The SDK now compiles with gcc 4.3
cannam@164 143
cannam@164 144 Version 1.2, 2008-02-28 (feature release):
cannam@164 145
cannam@164 146 * New PluginBufferingAdapter, which hosts may use to avoid having to
cannam@164 147 negotiate the plugin's preferred input step and block sizes
cannam@164 148
cannam@164 149 Version 1.1, 2007-08-24 (feature release):
cannam@164 150
cannam@164 151 * New Vamp::HostExt namespace
cannam@164 152 * PluginLoader class, which handles enumeration, loading and category
cannam@164 153 management for plugins on the local system
cannam@164 154 * PluginInputDomainAdapter, which provides the capability for a host
cannam@164 155 to support frequency-domain plugins without needing to worry about
cannam@164 156 domain conversion
cannam@164 157 * PluginChannelAdapter, which transparently deals with plugins that
cannam@164 158 expect different numbers of audio channels from the number available
cannam@164 159 * Minor beauty-and-truth updates and documentation fixes
cannam@164 160
cannam@164 161 Version 1.0, 2007-03-21:
cannam@164 162
cannam@164 163 * First official release
cannam@164 164