annotate CHANGELOG @ 117:9333516e6656

Added tag vampy-2.3 for changeset c85d26cb9dab
author Chris Cannam
date Wed, 27 Feb 2019 17:00:33 +0000
parents c85d26cb9dab
children
rev   line source
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