annotate CHANGELOG @ 541:0e32c328b02a tip

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