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