Mercurial > hg > vamp-plugin-sdk
diff vamp-sdk/doc-overview @ 216:991d2ae87980
* doc update
author | cannam |
---|---|
date | Tue, 28 Oct 2008 14:02:41 +0000 |
parents | 7a27dbdd663a |
children |
line wrap: on
line diff
--- a/vamp-sdk/doc-overview Fri Oct 24 16:10:43 2008 +0000 +++ b/vamp-sdk/doc-overview Tue Oct 28 14:02:41 2008 +0000 @@ -26,7 +26,16 @@ class or classes, to make it possible for a host to look up your plugins properly. -The following example plugins are provided: +You will also need to ensure that the entry point +vampGetPluginDescriptor is properly exported (made public) from your +shared library. The method to do this depends on your linker; for +example, when using the Windows Visual Studio linker, use the linker +flag "/EXPORT:vampGetPluginDescriptor". Exported symbols are the +default with most other current platforms' linkers. + +The following example plugins are provided. You may legally reuse any +amount of the code from these examples in any plugins you write, +whether proprietary or open-source. - ZeroCrossing calculates the positions and density of zero-crossing points in an audio waveform. @@ -34,14 +43,21 @@ - SpectralCentroid calculates the centre of gravity of the frequency domain representation of each block of audio. - - AmplitudeFollower is an implementation of SuperCollider's - amplitude-follower algorithm as a simple Vamp plugin. + - AmplitudeFollower is a simple implementation of SuperCollider's + amplitude-follower algorithm. - PercussionOnsetDetector estimates the locations of percussive onsets using a simple method described in "Drum Source Separation using Percussive Feature Detection and Spectral Modulation" by Dan Barry, Derry Fitzgerald, Eugene Coyle and Bob Lawlor, ISSC 2005. + - FixedTempoEstimator calculates a single bpm value which is an + estimate of the tempo of a piece of music that is assumed to be of + fixed tempo, using autocorrelation of a frequency domain energy rise + metric. It has several outputs that return intermediate results used + in the calculation, and may be a useful example of a plugin having + several outputs with varying feature structures. + \section hosts For Hosts Hosts will normally use a Vamp::PluginHostAdapter to convert each @@ -73,9 +89,15 @@ stream and so would otherwise need to implement an additional buffer to support step sizes smaller than the block size. -The PluginLoader class can also use the input domain and channel -adapters automatically to make the entire conversion process -transparent to the host if required. + - Vamp::HostExt::PluginSummarisingAdapter (new in version 2.0) + provides summarisation methods such as mean and median averages of + output features, for use in any context where an available plugin + produces individual values but the result that is actually needed + is some sort of aggregate. + +The PluginLoader class can also use the input domain, channel, and +buffering adapters automatically to make these conversions transparent +to the host if required. Hosts should link with -lvamp-hostsdk.