view CHANGELOG @ 116:c85d26cb9dab vampy-2.3

Add debug print of Vampy release version; update CHANGELOG
author Chris Cannam
date Tue, 26 Feb 2019 14:42:15 +0000
parents b90cd806515d
children
line wrap: on
line source

UPDATES IN VERSION 2.3:

        * Fix crash when Vampy is loaded and unloaded without querying
          any plugins
        * Fix a further possible crash with non-loadable plugin modules


UPDATES IN VERSION 2.2:

        * Provide an argv list to the plugin script, in case it or one
          of its imports tries to index into it
        * Add CHANGELOG!


UPDATES IN VERSION 2.1:

        * Fix crash when a file is found that is not loadable as a
          plugin but redefines one of VamPy's "reserved" names
        * Continue to load subsequent plugins after one fails; don't
          just give up on all of them
        * Add VAMPY_VERBOSE environment variable for debug output
        * Update builds for current Python (2.x branch), NumPy etc
        

UPDATES IN VERSION 2.0:

        * More complete, two-way Numpy support
        * Embedded extension module exposing Vamp defined names 
                e.g. ParameterDescriptor. This allows easier porting to C++.
        * Support RealTime time stamps
        * Support byte compiled Python scripts (.pyc)
        * Environment variables
        * Flags to control how Vampy works with each plugin
        * Flexible type inference to take advantage of dynamic typing
        * More complete error checking for all Python/C API calls
        * Various optimisations and speed-ups
        
        Vampy now supports two main use cases: 
        1) Prototyping C++ Vamp plugins in Python.
        2) Develop Vampy plugins in Python to allow the use of a vamp
        hosts for e.g. batch processing or visualisation.
        
        Vampy provides an extension module which allows the use of
        data types defined in the Vamp API; such as FeatureSet() or 
        RealTime() in Vampy plugins. 


BACKWARD COMPATIBILITY (Read this if you used Vampy 1):
        
        This is the second version of Vampy. It is largely compatible
        with the previous version and it is able to run plugins 
        written for it. However, due to some bug fixes in this release, 
        it may be required to modify old plugins to work correctly 
        with Vampy 2.0:
        
        * The size of the input buffers of frequency domain plugins 
        are now longer by one element corresponding to the Nyquist
        frequency output of the FFT. 
        
        * The legacy interface now uses complex numbers to pass the 
        FFT output to frequency domain plugins in Vampy 2.0 instead 
        of floating point values.
        
        * Consequently, the size of the input buffer for each 
        audio channel is blockSize/2 + 1 if the legacy interface
        is used and blockSize+2 if the buffer interface is used
        in frequency domain plugins. Time domain plugins however
        do not require any change.
        
        * Vampy 1 had two types of process interfaces; the legacy
        and the buffer interface (for Numpy support). They were
        selected based on the name of the process method.
        A process() implementation used the legacy interface, 
        a processN() implementation used the Numpy buffer interface.
        This behaviour is retained for backward compatibility but
        only if no flags are set. The use of processN() is now 
        obsolete, since the standard process() implementation can 
        be configured to use any of the available interfaces by 
        setting the flags appropriately.