Sync from SUSE:SLFO:Main vamp-plugin-sdk revision f2e1f9222fa24472a1001168d1ef86bf

This commit is contained in:
Adrian Schröter 2024-05-04 01:43:04 +02:00
commit e6a5eff99e
5 changed files with 303 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

2
baselibs.conf Normal file
View File

@ -0,0 +1,2 @@
libvamp-sdk2
libvamp-hostsdk3

BIN
vamp-plugin-sdk-2.10.0.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

119
vamp-plugin-sdk.changes Normal file
View File

@ -0,0 +1,119 @@
-------------------------------------------------------------------
Mon Sep 7 10:33:24 UTC 2020 - Luigi Baldoni <aloisio@gmx.com>
- Update to version 2.10
* Add a method to PluginWrapper, the host-side base for
adapters like PluginInputDomainAdapter that modify the
processing behaviour of a plugin, that tells it to "disown"
the wrapped plugin. The former behaviour, and still the
default, is for the wrapper to take ownership of the wrapped
plugin. The alternative behaviour makes it easier to mix
these classes with some modern C++ styles that use managed
pointers
version 2.9
* Fix non-thread-safe behaviour in PluginAdapter. Plugins built
using the adapter classes in version 2.8 or earlier cannot
safely be used simultaneously across threads with other
instances of themselves or of other plugins in the same
library (i.e. shared object). Hosts have been required to
provide synchronisation for such cases. Version 2.9
introduces synchronisation in the plugin, making this
usage safe. Unfortunately this does not make host code safe
when using older plugin builds, as the problem and its fix
are in the plugin side of the SDK. Caution is still required,
but this fix does allow updated plugin builds to avoid
problems with some existing hosts
* Change required C++ language standard from C++98 to C++11.
This is because of the use of std::mutex in the above fix
version 2.8:
* Fix off-by-one rounding errors in frame-to-ns conversions.
Unlike the other changes here which are invisible to plugin
code, this change can lead to different results in the lowest
significant figures from existing plugins if relinked against
the newer code
* Fix theoretical possibility of integer overflow in RealTime
constructor
* Fix use of undefined behaviour in PluginRateExtractor
- Spec cleanuo
-------------------------------------------------------------------
Mon Aug 28 17:06:46 UTC 2017 - aloisio@gmx.com
- Update to version 2.7.1
* Fix inclusion mechanism for FFTs which could cause a host
application to crash in certain circumstances due to
conflicting versions of C-linkage symbols
version 2.7:
* Add ability to PluginLoader to list plugins only in (or not in)
certain library files
* Fix fixed-sample-rate output timestamps in printout from the
simple host, and add regression test script using test plugin
* Switch the convenience FFT interface for plugin usage from the
very slow reference implementation previously provided, to the
somewhat faster KissFFT
* Add a top-secret compiler flag to switch internal FFTs to
single-precision only
* Fix some small but long-standing memory leaks and minor bugs
version 2.6:
* Add a simple C-linkage API for plugin library discovery and
loading -- the missing part when trying to use Vamp plugins
from C or a language with only C-linkage foreign-function
interface
* Fix bug in PluginBufferingAdapter reset() function, which
failed to reset timestamp rewrites (symptom: timestamps
appeared to continue to ascend from end point on next run after
a reset)
* Fix sometime 1-sample rounding error in
PluginInputDomainAdapter
* Update build files for more recent OS versions
* Add -L option to simple host, as synonym for --list-full
* Add a combined Visual C++ solution that includes the plugin
SDK, host SDK, example plugins, and simple host projects
-------------------------------------------------------------------
Mon Jul 13 07:51:31 UTC 2015 - olaf@aepfle.de
- Build with -fPIC
-------------------------------------------------------------------
Wed Apr 8 03:16:33 UTC 2015 - p.drouand@gmail.com
- Update to version 2.5
* Fix incorrect handling of FixedSampleRate outputs in the
PluginBufferingAdapter. Un-timestamped features on these outputs
were incorrectly being timestamped from the process timestamp,
where they should have been timed relative to the previous
feature on the output according to the output's sample rate.
* Fix return of uninitialised memory through getCurrentProgram
when plugin specifies no programs
* Ensure output sample rate is initialised (to 0) for variable-rate
outputs where the plugin forgets to set a rate
- Use download Url provided by upstream
- Remove vamp-plugin-sdk-2.0-libdir.patch; use a hack instead
- Remove redundant documentation related files with fdupes
- Perform spec-cleaner on spec file
-------------------------------------------------------------------
Mon May 23 00:07:02 UTC 2011 - davejplater@gmail.com
- Update to version 2.2.1, split libs into libvamp-hostsdk3 and
libvamp-sdk2 sub packages and moved binaries into main package.
- Enabled api doc build and generate man pages with help2man.
- Upstream changes :
*Add ProcessTimestampMethod to PluginInputDomainAdapter,
offering the ability to decide how data buffering and
timestamping works for frequency-domain plugins (whose process
timestamps have to be at the centre of each processing block
rather than the start)
*Make PluginBufferingAdapter take into account any timestamp
shift introduced by a PluginInputDomainAdapter that it wraps.
*Fix crash in PluginAdapter when plugin library getDescriptor
fails on plugin construction.
*Add plugin skeleton files as starting point for new developers.
-------------------------------------------------------------------
Tue Jul 7 22:21:50 CEST 2009 - mseben@suse.cz
- initial package created from fedora spec
-------------------------------------------------------------------

156
vamp-plugin-sdk.spec Normal file
View File

@ -0,0 +1,156 @@
#
# spec file for package vamp-plugin-sdk
#
# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define _dlver 2691
Name: vamp-plugin-sdk
Version: 2.10.0
Release: 0
Summary: An API for audio analysis and feature extraction plugins
License: MIT
Group: Productivity/Multimedia/Sound/Utilities
URL: https://www.vamp-plugins.org/
Source0: https://code.soundsoftware.ac.uk/attachments/download/%{_dlver}/%{name}-%{version}.tar.gz
Source1: baselibs.conf
BuildRequires: doxygen
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: graphviz
BuildRequires: help2man
BuildRequires: pkgconfig
BuildRequires: pkgconfig(sndfile)
%description
Vamp is an API for C and C++ plugins that process sampled audio data
to produce descriptive output (measurements or semantic observations).
%package -n libvamp-hostsdk3
Summary: Library for Vamp audio analysis plugin hosts
Group: System/Libraries
%description -n libvamp-hostsdk3
Vamp is an API for C and C++ plugins that process sampled audio data
to produce descriptive output (measurements or semantic observations).
%package -n libvamp-sdk2
Summary: Library for Vamp audio analysis plugins
Group: System/Libraries
%description -n libvamp-sdk2
Vamp is an API for C and C++ plugins that process sampled audio data
to produce descriptive output (measurements or semantic observations).
%package devel
Summary: Development files for %{name}
Group: Development/Libraries/C and C++
Requires: %{name} = %{version}-%{release}
Requires: libvamp-hostsdk3 = %{version}-%{release}
Requires: libvamp-sdk2 = %{version}-%{release}
Requires: pkgconfig
%description devel
The vamp-plugin-sdk-devel package contains documentation examples and
header files for developing applications that use vamp-plugin-sdk.
%prep
%setup -q
sed -i 's|/lib/vamp|/%{_lib}/vamp|g' src/vamp-hostsdk/PluginHostAdapter.cpp
sed -i 's|/lib/|/%{_lib}/|g' src/vamp-hostsdk/PluginLoader.cpp
sed -i 's|$(INSTALL_PREFIX)/lib|@libdir@|g' Makefile.in
%build
export CFLAGS="%{optflags} -fPIC -Wall"
export CXXFLAGS="%{optflags} -fPIC -Wall"
%configure
%make_build
%install
# fix libdir
find . -name '*.pc.in' -exec sed -i 's|/lib|/%{_lib}|' {} ';'
# The #INSTALL_PREFIX
%make_install
#INSTALL_PREFIX=%%{_prefix} LIB=/%%{_lib}
find %{buildroot} -type f -name "*.la" -delete -print
find %{buildroot} -name '*.a' -exec rm -f {} ';'
# Build api html docs
doxygen -u build/Doxyfile
doxygen build/Doxyfile
%fdupes -s doc/html
# Build refman.pdf
#pushd latex && make all
#popd
# Generate man pages with help2man
mkdir -p %{buildroot}%{_mandir}/man1
pushd %{buildroot}%{_mandir}/man1
cp -v %{buildroot}%{_bindir}/* ./
help2man -N --no-discard-stderr \
-o vamp-rdf-template-generator.1 \
./vamp-rdf-template-generator
help2man -N --no-discard-stderr \
-o vamp-simple-host.1 \
./vamp-simple-host
rm vamp-simple-host vamp-rdf-template-generator
popd
# create Makefile for examples
cd examples
echo CXXFLAGS=%{optflags} -fpic >> Makefile
echo bundle: `ls *.o` >> Makefile
echo -e "\t"g++ \$\(CXXFLAGS\) -shared -Wl,-Bsymbolic \
-o vamp-example-plugins.so \
*.o \$\(pkg-config --libs vamp-sdk\) >> Makefile
echo `ls *.cpp`: >> Makefile
echo -e "\t"g++ \$\(CXXFLAGS\) -c $*.cpp >> Makefile
echo clean: >> Makefile
echo -e "\t"-rm *.o *.so >> Makefile
# clean directory up so we can package the sources
make clean
%post -n libvamp-hostsdk3 -p /sbin/ldconfig
%postun -n libvamp-hostsdk3 -p /sbin/ldconfig
%post -n libvamp-sdk2 -p /sbin/ldconfig
%postun -n libvamp-sdk2 -p /sbin/ldconfig
%files -n libvamp-hostsdk3
%{_libdir}/libvamp-hostsdk.so.3*
%files -n libvamp-sdk2
%{_libdir}/libvamp-sdk.so.2*
%files
%license COPYING
%doc README
%{_bindir}/vamp-rdf-template-generator
%{_bindir}/vamp-simple-host
%{_mandir}/man1/vamp-rdf-template-generator.1%{?ext_man}
%{_mandir}/man1/vamp-simple-host.1%{?ext_man}
%dir %{_libdir}/vamp
%{_libdir}/vamp
%files devel
%doc rdf/doc doc/html examples
%dir %{_includedir}/vamp
%dir %{_includedir}/vamp-hostsdk
%dir %{_includedir}/vamp-sdk
%{_includedir}/vamp/*
%{_includedir}/vamp-hostsdk/*
%{_includedir}/vamp-sdk/*
%{_libdir}/*.so
%{_libdir}/pkgconfig/*.pc
%changelog