To check out this repository please hg clone the following URL, or open the URL using EasyMercurial or your preferred Mercurial client.
hg clone
Update version number and CHANGELOG
Add ability to disown a wrapped plugin - making it possible to use the adapters in some situations involving managed pointers that didn't work previously
Show error code if library can't be loaded
Merge from branch c++11-mutex
This will be v2.9
A better way, I think, of handling static initialisation order
Avoid simple static allocation of mutex, as it could lead to mutex being destroyed before last adapter that needs to use it (since adapters are usually also static)
Don't even ask to unload library if another plugin is loaded from it
Toward making PluginAdapterBase::Impl actually thread-safe!
Update versions throughout to 2.8
Header for getenv
Use VAMP_PATH_32 environment variable instead of VAMP_PATH, when running in a 32-bit process within 64-bit Windows (WoW64)
Wide-char environment variable lookup
Merge from branch vamp-kiss-naming
Extensively rename things in the KissFFT headers to use a Vamp prefix. The motivation is not to change anything about the Vamp SDK library builds, but to avoid confusion in case any other code (for example that pulls in the Vamp SDK as part of a wider project definition) accidentally includes these headers instead of, or as well as, some other copy of KissFFT.
The PluginRateExtractor hack was exploiting undefined behaviour. Let's just give in and make that API official
Rework canonicalisation so as to avoid theoretical possibility of integer overflow. (This is unit tested in svcore, not here - tests pass)
More (off-by-default) debug output
Update CHANGELOG and versions
Choose another method (which should actually work) to override linkage for KissFFT
Fix inadequate #if guard for non-gcc builds
Revert to C++98 -- this library is not supposed to use C++11
Fix fairly obscure mis-canonicalisation in RealTime (leading to non-canonical but still correct values)
Fixes to a few unusual cases in RealTime
Merge from branch enumerate-options
Add plugin enumeration options (for use by piper server, needs testing)
Correct use of multibyte-widechar conversion routines
Remove some debug output by default
Fix compiler warnings
Merge from vampipe branch. This removes RequestResponse, PluginConfiguration and PluginStaticData again. I don't think they are proving general enough to be worth adding to this SDK at this point. Will try them out in piper-cpp instead.
Fix long-standing memory leaks (parameter descriptors and feature list container) in plugin adapter
Remove RequestResponse, PluginConfiguration and PluginStaticData again. I don't think they are proving general enough to be worth adding to this SDK at this point. Will try them out in piper-cpp instead.
Merge from default branch;
Merge from branch vampipe
plugins -> available, this changed again in schema
pluginData -> plugins like the schema
Merge from branch outputid-string-in-featureset
Introduce ListResponse type as well
Make RequestResponse types more consistent by adding plugin to ConfigurationResponse and introducing a FinishRequest
Puzzlingly, this seems to produce the wrong results if assigned directly when compiled using Emscripten. I wonder what I'm missing
Remove unused variable
Add forgotten file...
Add FFTComplex class by analogy to FFTReal
Single or double-precision FFTs (double in the default build), not both
Make single/double-precision selectable for input domain adapter windowing and FFTs. Double precision is necessary to pass Sonic Annotator regression tests, though in practice most real-world methods would be fine with single precision.
Fix double free
Fix m_ri initialisation
Switch from Cross FFT with option of FFTW build, to KissFFT only (code bundled). This is much faster than the default build and simpler than managing two options.
Use ConfigurationRequest/Response, introduce ProcessRequest/Response.
Add listPluginData
Docs
Next version from this branch (if any) will be 2.7
Add PluginConfiguration, PluginStaticData, and LoadRequest structures, and use them in PluginLoader
Make this warning a #pragma message, as we don't want it to make compilation fail with -Werror set
Fix compiler warnings, and fix potential mangling of utf8 when downcasing (this is still a nasty and incomplete way to do it though)
Merge
Tweak debug output
Fix handling of output sample rate in buffering adapter in case where SampleType is Fixed but no sample rate provided (which is invalid behaviour from the plugin, but we might as well do the right thing with it)
Avoid endless recursion if NaN passed to fromSeconds
Fix to RealTime::toText following similar fix in SV
Naturally, I forgot to update the version in the headers. Argh. Sorry
Build tweaks for OS/X
Win32 compile fix
And a further win32 fix
Add -Wextra, fix a couple of warnings it throws up
Symbol for version 2.6
Merge from branch vh
Small test program & some changes to support it
Initial draft of C API for plugin loading
Minor doc updates
Fine adjustment to timestamp to avoid rounding error
Fix some compiler warnings
Non-power-of-two is not an issue if we're built with fftw
Fix failure to reset timestamp rewriting when reset() called in buffering adapter (symptom: timestamps appear to continue to ascend from end point on second run after reset)
Emit warning when compiling with FFTW support (about the licence implications)
Use double arithmetic for rate calculations
Remove unneeded variable
Bump version to 2.5
Fix incorrect handling of FixedSampleRate outputs in PluginBufferingAdapter
Avoid returning garbage through getCurrentProgram if plugin has no programs
Win32 build fixes
Make the simple base-fft implementation accessible for use by plugins as well. Bump version to 2.4
Thread-safe base-fft
Bump up version to 2.3.1, add C-linkage symbols for library versions so autoconf can check them
Apply vamp-2.3-windows-unicode.patch from RJ Ryan in #464
Update versions throughout
Avoid compiler warning
Add support for changing window shape in PluginInputDomainAdapter