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