# HG changeset patch # User cannam # Date 1225202561 0 # Node ID 991d2ae8798003cbed5cddb7752f37a8bb5b45dc # Parent a5a54b60e82e52c9c8d8d6f45dc8f68d24241489 * doc update diff -r a5a54b60e82e -r 991d2ae87980 examples/FixedTempoEstimator.cpp --- a/examples/FixedTempoEstimator.cpp Fri Oct 24 16:10:43 2008 +0000 +++ b/examples/FixedTempoEstimator.cpp Tue Oct 28 14:02:41 2008 +0000 @@ -458,6 +458,10 @@ float t0 = 50.f; // our minimum detected tempo (could be a parameter) float t1 = 190.f; // our maximum detected tempo + //!!! need some way for the host (or at least, the user) to know + //!!! that it should only pass a certain amount of + //!!! input... e.g. by making the amount configurable + int p0 = tempo2lag(t1); int p1 = tempo2lag(t0); diff -r a5a54b60e82e -r 991d2ae87980 vamp-sdk/doc-overview --- 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. diff -r a5a54b60e82e -r 991d2ae87980 vamp-sdk/hostext/PluginSummarisingAdapter.h --- a/vamp-sdk/hostext/PluginSummarisingAdapter.h Fri Oct 24 16:10:43 2008 +0000 +++ b/vamp-sdk/hostext/PluginSummarisingAdapter.h Tue Oct 28 14:02:41 2008 +0000 @@ -48,7 +48,7 @@ /** * \class PluginSummarisingAdapter PluginSummarisingAdapter.h * - * \note This class was introduced in version 1.1 of the Vamp plugin SDK. + * \note This class was introduced in version 2.0 of the Vamp plugin SDK. */ class PluginSummarisingAdapter : public PluginWrapper