Chris@116
|
1
|
Chris@116
|
2 UPDATES IN VERSION 2.3:
|
Chris@116
|
3
|
Chris@116
|
4 * Fix crash when Vampy is loaded and unloaded without querying
|
Chris@116
|
5 any plugins
|
Chris@116
|
6 * Fix a further possible crash with non-loadable plugin modules
|
Chris@116
|
7
|
Chris@110
|
8
|
Chris@110
|
9 UPDATES IN VERSION 2.2:
|
Chris@110
|
10
|
Chris@110
|
11 * Provide an argv list to the plugin script, in case it or one
|
Chris@110
|
12 of its imports tries to index into it
|
Chris@110
|
13 * Add CHANGELOG!
|
Chris@110
|
14
|
Chris@110
|
15
|
Chris@110
|
16 UPDATES IN VERSION 2.1:
|
Chris@110
|
17
|
Chris@110
|
18 * Fix crash when a file is found that is not loadable as a
|
Chris@110
|
19 plugin but redefines one of VamPy's "reserved" names
|
Chris@110
|
20 * Continue to load subsequent plugins after one fails; don't
|
Chris@110
|
21 just give up on all of them
|
Chris@110
|
22 * Add VAMPY_VERBOSE environment variable for debug output
|
Chris@110
|
23 * Update builds for current Python (2.x branch), NumPy etc
|
Chris@110
|
24
|
Chris@110
|
25
|
Chris@110
|
26 UPDATES IN VERSION 2.0:
|
Chris@110
|
27
|
Chris@110
|
28 * More complete, two-way Numpy support
|
Chris@110
|
29 * Embedded extension module exposing Vamp defined names
|
Chris@110
|
30 e.g. ParameterDescriptor. This allows easier porting to C++.
|
Chris@110
|
31 * Support RealTime time stamps
|
Chris@110
|
32 * Support byte compiled Python scripts (.pyc)
|
Chris@110
|
33 * Environment variables
|
Chris@110
|
34 * Flags to control how Vampy works with each plugin
|
Chris@110
|
35 * Flexible type inference to take advantage of dynamic typing
|
Chris@110
|
36 * More complete error checking for all Python/C API calls
|
Chris@110
|
37 * Various optimisations and speed-ups
|
Chris@110
|
38
|
Chris@110
|
39 Vampy now supports two main use cases:
|
Chris@110
|
40 1) Prototyping C++ Vamp plugins in Python.
|
Chris@110
|
41 2) Develop Vampy plugins in Python to allow the use of a vamp
|
Chris@110
|
42 hosts for e.g. batch processing or visualisation.
|
Chris@110
|
43
|
Chris@110
|
44 Vampy provides an extension module which allows the use of
|
Chris@110
|
45 data types defined in the Vamp API; such as FeatureSet() or
|
Chris@110
|
46 RealTime() in Vampy plugins.
|
Chris@110
|
47
|
Chris@110
|
48
|
Chris@110
|
49 BACKWARD COMPATIBILITY (Read this if you used Vampy 1):
|
Chris@110
|
50
|
Chris@110
|
51 This is the second version of Vampy. It is largely compatible
|
Chris@110
|
52 with the previous version and it is able to run plugins
|
Chris@110
|
53 written for it. However, due to some bug fixes in this release,
|
Chris@110
|
54 it may be required to modify old plugins to work correctly
|
Chris@110
|
55 with Vampy 2.0:
|
Chris@110
|
56
|
Chris@110
|
57 * The size of the input buffers of frequency domain plugins
|
Chris@110
|
58 are now longer by one element corresponding to the Nyquist
|
Chris@110
|
59 frequency output of the FFT.
|
Chris@110
|
60
|
Chris@110
|
61 * The legacy interface now uses complex numbers to pass the
|
Chris@110
|
62 FFT output to frequency domain plugins in Vampy 2.0 instead
|
Chris@110
|
63 of floating point values.
|
Chris@110
|
64
|
Chris@110
|
65 * Consequently, the size of the input buffer for each
|
Chris@110
|
66 audio channel is blockSize/2 + 1 if the legacy interface
|
Chris@110
|
67 is used and blockSize+2 if the buffer interface is used
|
Chris@110
|
68 in frequency domain plugins. Time domain plugins however
|
Chris@110
|
69 do not require any change.
|
Chris@110
|
70
|
Chris@110
|
71 * Vampy 1 had two types of process interfaces; the legacy
|
Chris@110
|
72 and the buffer interface (for Numpy support). They were
|
Chris@110
|
73 selected based on the name of the process method.
|
Chris@110
|
74 A process() implementation used the legacy interface,
|
Chris@110
|
75 a processN() implementation used the Numpy buffer interface.
|
Chris@110
|
76 This behaviour is retained for backward compatibility but
|
Chris@110
|
77 only if no flags are set. The use of processN() is now
|
Chris@110
|
78 obsolete, since the standard process() implementation can
|
Chris@110
|
79 be configured to use any of the available interfaces by
|
Chris@110
|
80 setting the flags appropriately.
|
Chris@110
|
81
|
Chris@110
|
82
|