comparison README @ 93:161ed1fb016b

Update README etc
author Chris Cannam
date Tue, 15 Jan 2019 11:17:04 +0000
parents f5c028376bf9
children 28d22109991c
comparison
equal deleted inserted replaced
92:a6718f9fe942 93:161ed1fb016b
27 or deployment by using the high-level Python scripting language. 27 or deployment by using the high-level Python scripting language.
28 28
29 29
30 WHY PYTHON? 30 WHY PYTHON?
31 31
32 The Python programming language is rapidly gaining popularity 32 The Python programming language is extremely popular in the
33 in the scientific community. Besides being a high-productivity 33 scientific community. Besides being a high-productivity
34 interpreted language, it has extensions for scientific computing 34 interpreted language, it has extensions for scientific
35 such as Numpy, an efficient numerical library and SciPy, a 35 computing such as Numpy, an efficient numerical library and
36 collection of Python modules for signal processing, 36 SciPy, a collection of Python modules for signal processing,
37 linear algebra, statistics and machine learning ... 37 linear algebra, statistics and machine learning ...
38 (www.SciPy.org). These packages together with matplotlib 38 (www.SciPy.org). These packages together with matplotlib
39 (http://matplotlib.sourceforge.net/) provide similar capabilities 39 (http://matplotlib.sourceforge.net/) provide similar
40 to most commercial modelling environments. As a further advantage, 40 capabilities to most commercial modelling environments. As a
41 Python is a general purpose language which also supports 41 further advantage, Python is a general purpose language which
42 the functional programming style. 42 also supports the functional programming style.
43 43
44 44
45 HOW DOES IT WORK? 45 HOW DOES IT WORK?
46 46
47 Vampy acts like a bridge between a Vamp plugin host application 47 Vampy acts like a bridge between a Vamp plugin host application
59 single shared library. 59 single shared library.
60 60
61 61
62 OBTAINING VAMPY: 62 OBTAINING VAMPY:
63 63
64 Vampy is a free, cross platform, open source package. The source 64 Vampy is a free, cross platform, open source package. The
65 code is available from the Vamp-Plugins subversion repository 65 source code is available from its repository at
66 on SourceForge. (http://vamp.svn.sourceforge.net/) 66 https://code.soundsoftware.ac.uk/projects/vampy.
67 67
68 * Binary distributions are available for Windows, Mac OS/X, 68 * Binary distributions are available for Windows, macOS, and
69 Linux and Solaris Unix. 69 Linux.
70 70
71 * The source code can be obtained using the SVN command: 71 * The source code can be obtained using the Mercurial command:
72 svn co https://vamp.svn.sourceforge.net/svnroot/vamp/vamp-vampy vampy 72 hg clone https://code.soundsoftware.ac.uk/hg/vampy
73 73
74 74
75 DEPENDENCIES: 75 DEPENDENCIES:
76 76
77 * Vampy requires Python 2.7. 77 * Vampy requires Python 2.7.
78 78
79 Note that Vampy does not support the new flavour of Python (3.x) 79 Note that Vampy does not support Python 3 at all at this
80 which breaks language compatibility with the 2.x series. 80 point. Note also that on a Mac in normal circumstances Vampy
81 81 expects to use the system installation of Python, so plugin
82 * Vampy supports Numpy 1.1. or greater. 82 modules you write should be tested using this.
83 83
84 Using Numpy is optional, however writing plugins in pure Python 84 * Vampy supports Numpy 1.1 or greater.
85 results in significantly longer processing times. 85
86 Using Numpy is optional, however writing plugins in pure
87 Python typically results in significantly slower processing.
86 88
87 89
88 BUILDING VAMPY: 90 BUILDING VAMPY:
89 91
90 It is advised to use a binary distribution if available for 92 It is advised to use a binary distribution if available for
231 * Scripts not containing a class with the exact same name 233 * Scripts not containing a class with the exact same name
232 as the file name are ignored. (Python is case sensitive!) 234 as the file name are ignored. (Python is case sensitive!)
233 235
234 * Scripts with the wrong number of arguments to the plugin 236 * Scripts with the wrong number of arguments to the plugin
235 class's __init__() function will be avoided. 237 class's __init__() function will be avoided.
236 238
237 (5) Unknown scripts may cause undesired behaviour (or a crash). 239 * Scripts that redefine any of Vampy's standard type names
240 will be avoided.
241
242 (5) Unknown scripts may cause undesired behaviour.
238 Don't put arbitrary Python scripts in your Vamp directory, 243 Don't put arbitrary Python scripts in your Vamp directory,
239 you may use a subdirectory for that. 244 you may use a subdirectory for that.
240 245
241 246
242 PLUGIN ERRORS: 247 PLUGIN ERRORS:
246 while most syntax errors will be noted when Vampy is first 251 while most syntax errors will be noted when Vampy is first
247 used by a host, runtime errors can still occur during 252 used by a host, runtime errors can still occur during
248 execution. For example, a plugin calculating the dot product 253 execution. For example, a plugin calculating the dot product
249 of two vectors with different sizes will produce a runtime error. 254 of two vectors with different sizes will produce a runtime error.
250 255
251 Error messages from Vampy are printed on the standard output. 256 Error messages from Vampy are printed on the standard error
257 channel.
252 If you're using a graphical host (such as Sonic Visualiser) 258 If you're using a graphical host (such as Sonic Visualiser)
253 you may start the application from a command line terminal 259 you may start the application from a command line terminal
254 in order to see these messages. 260 in order to see these messages, or they may be forwarded by
261 the host to its own debug log file.
255 262
256 Exceptions: 263 Exceptions:
257 264
258 * Runtime errors occurring in the plugin's __init__() function 265 * Runtime errors occurring in the plugin's __init__() function
259 will prevent the host from loading the plugin. 266 will prevent the host from loading the plugin.
560 these happen to be the same terms as the Vamp SDK itself. 567 these happen to be the same terms as the Vamp SDK itself.
561 568
562 VamPy was written by Gyorgy Fazekas at the Centre for Digital 569 VamPy was written by Gyorgy Fazekas at the Centre for Digital
563 Music, Queen Mary University of London. 570 Music, Queen Mary University of London.
564 Copyright 2008-2009 Gyorgy Fazekas. 571 Copyright 2008-2009 Gyorgy Fazekas.
565 572 Copyright 2008-2019 Queen Mary University of London.
566 573
574