| 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 |