1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-10-10 16:43:33 +02:00

Update libvamp to 2.5.

This commit is contained in:
lllucius
2013-10-31 06:33:59 +00:00
parent c8aa505879
commit 6fef6dd8b4
77 changed files with 6254 additions and 3598 deletions

View File

@@ -1,4 +1,4 @@
# Doxyfile 1.5.5
# Doxyfile 1.5.8
# This file describes the settings to be used by the documentation system
# doxygen (www.doxygen.org) for a project
@@ -31,7 +31,7 @@ PROJECT_NAME = VampPluginSDK
# This could be handy for archiving the generated documentation or
# if some version control system is used.
PROJECT_NUMBER = 2.0
PROJECT_NUMBER = 2.5
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
# base path where the generated documentation will be put.
@@ -57,8 +57,8 @@ CREATE_SUBDIRS = NO
# Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek,
# Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages),
# Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish,
# Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish,
# and Ukrainian.
# Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, Slovene,
# Spanish, Swedish, and Ukrainian.
OUTPUT_LANGUAGE = English
@@ -155,13 +155,6 @@ QT_AUTOBRIEF = NO
MULTILINE_CPP_IS_BRIEF = NO
# If the DETAILS_AT_TOP tag is set to YES then Doxygen
# will output the detailed description near the top, like JavaDoc.
# If set to NO, the detailed description appears after the member
# documentation.
DETAILS_AT_TOP = YES
# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
# member inherits the documentation from any documented member that it
# re-implements.
@@ -214,6 +207,17 @@ OPTIMIZE_FOR_FORTRAN = NO
OPTIMIZE_OUTPUT_VHDL = NO
# Doxygen selects the parser to use depending on the extension of the files it parses.
# With this tag you can assign which parser to use for a given extension.
# Doxygen has a built-in mapping, but you can override or extend it using this tag.
# The format is ext=language, where ext is a file extension, and language is one of
# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP,
# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat
# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran),
# use: inc=Fortran f=C
EXTENSION_MAPPING =
# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
# to include (a tag file for) the STL sources as input, then you should
# set this tag to YES in order to let doxygen match functions declarations and
@@ -223,7 +227,7 @@ OPTIMIZE_OUTPUT_VHDL = NO
BUILTIN_STL_SUPPORT = NO
# If you use Microsoft's C++/CLI language, you should set this option to YES to
# If you use Microsoft's C++/CLI language, you should set this option to YES to
# enable parsing support.
CPP_CLI_SUPPORT = NO
@@ -234,6 +238,15 @@ CPP_CLI_SUPPORT = NO
SIP_SUPPORT = NO
# For Microsoft's IDL there are propget and propput attributes to indicate getter
# and setter methods for a property. Setting this option to YES (the default)
# will make doxygen to replace the get and set methods by a property in the
# documentation. This will only work if the methods are indeed getting or
# setting a simple type. If this is not the case, or you want to show the
# methods anyway, you should set this option to NO.
IDL_PROPERTY_SUPPORT = YES
# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
# tag is set to YES, then doxygen will reuse the documentation of the first
# member in the group (if any) for the other members of the group. By default
@@ -259,6 +272,22 @@ SUBGROUPING = YES
TYPEDEF_HIDES_STRUCT = NO
# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
# determine which symbols to keep in memory and which to flush to disk.
# When the cache is full, less often used symbols will be written to disk.
# For small to medium size projects (<1000 input files) the default value is
# probably good enough. For larger projects a too small cache size can cause
# doxygen to be busy swapping symbols to and from disk most of the time
# causing a significant performance penality.
# If the system has enough physical memory increasing the cache will improve the
# performance by keeping more symbols in memory. Note that the value works on
# a logarithmic scale so increasing the size by one will rougly double the
# memory usage. The cache size is given by this formula:
# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
# corresponding to a cache size of 2^16 = 65536 symbols
SYMBOL_CACHE_SIZE = 0
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
@@ -386,7 +415,7 @@ SORT_GROUP_NAMES = NO
# sorted by fully-qualified names, including namespaces. If set to
# NO (the default), the class list will be sorted only by class name,
# not including the namespace part.
# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
# Note: This option applies only to the class list, not to the
# alphabetical list.
@@ -443,6 +472,19 @@ SHOW_USED_FILES = YES
SHOW_DIRECTORIES = YES
# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
# This will remove the Files entry from the Quick Index and from the
# Folder Tree View (if specified). The default is YES.
SHOW_FILES = YES
# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
# Namespaces page.
# This will remove the Namespaces entry from the Quick Index
# and from the Folder Tree View (if specified). The default is YES.
SHOW_NAMESPACES = YES
# The FILE_VERSION_FILTER tag can be used to specify a program or script that
# doxygen should invoke to get the current version for each file (typically from
# the version control system). Doxygen will invoke the program by executing (via
@@ -453,6 +495,15 @@ SHOW_DIRECTORIES = YES
FILE_VERSION_FILTER =
# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by
# doxygen. The layout file controls the global structure of the generated output files
# in an output format independent way. The create the layout file that represents
# doxygen's defaults, run doxygen with the -l option. You can optionally specify a
# file name after the option, if omitted DoxygenLayout.xml will be used as the name
# of the layout file.
LAYOUT_FILE =
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
@@ -609,14 +660,17 @@ IMAGE_PATH =
# by executing (via popen()) the command <filter> <input-file>, where <filter>
# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
# input file. Doxygen will then use the output that the filter program writes
# to standard output. If FILTER_PATTERNS is specified, this tag will be
# to standard output.
# If FILTER_PATTERNS is specified, this tag will be
# ignored.
INPUT_FILTER =
# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
# basis. Doxygen will compare the file name with each pattern and apply the
# filter if there is a match. The filters are a list of the form:
# basis.
# Doxygen will compare the file name with each pattern and apply the
# filter if there is a match.
# The filters are a list of the form:
# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
# is applied to all files.
@@ -651,22 +705,23 @@ INLINE_SOURCES = NO
STRIP_CODE_COMMENTS = YES
# If the REFERENCED_BY_RELATION tag is set to YES (the default)
# If the REFERENCED_BY_RELATION tag is set to YES
# then for each documented function all documented
# functions referencing it will be listed.
REFERENCED_BY_RELATION = YES
# If the REFERENCES_RELATION tag is set to YES (the default)
# If the REFERENCES_RELATION tag is set to YES
# then for each documented function all documented entities
# called/used by that function will be listed.
REFERENCES_RELATION = YES
# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
# link to the source code. Otherwise they will link to the documentstion.
# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
# link to the source code.
# Otherwise they will link to the documentation.
REFERENCES_LINK_SOURCE = YES
@@ -755,12 +810,13 @@ HTML_STYLESHEET =
HTML_ALIGN_MEMBERS = YES
# If the GENERATE_HTMLHELP tag is set to YES, additional index files
# will be generated that can be used as input for tools like the
# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
# of the generated HTML documentation.
# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
# documentation will contain sections that can be hidden and shown after the
# page has loaded. For this to work a browser that supports
# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
GENERATE_HTMLHELP = NO
HTML_DYNAMIC_SECTIONS = NO
# If the GENERATE_DOCSET tag is set to YES, additional index files
# will be generated that can be used as input for Apple's Xcode 3
@@ -769,7 +825,8 @@ GENERATE_HTMLHELP = NO
# HTML output directory. Running make will produce the docset in that
# directory and running "make install" will install the docset in
# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
# it at startup.
# it at startup.
# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information.
GENERATE_DOCSET = NO
@@ -787,13 +844,12 @@ DOCSET_FEEDNAME = "Doxygen generated docs"
DOCSET_BUNDLE_ID = org.doxygen.Project
# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
# documentation will contain sections that can be hidden and shown after the
# page has loaded. For this to work a browser that supports
# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
# If the GENERATE_HTMLHELP tag is set to YES, additional index files
# will be generated that can be used as input for tools like the
# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
# of the generated HTML documentation.
HTML_DYNAMIC_SECTIONS = NO
GENERATE_HTMLHELP = NO
# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
# be used to specify the file name of the resulting .chm file. You
@@ -815,6 +871,12 @@ HHC_LOCATION =
GENERATE_CHI = NO
# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
# is used to encode HtmlHelp index (hhk), content (hhc) and project file
# content.
CHM_INDEX_ENCODING =
# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
# controls whether a binary table of contents is generated (YES) or a
# normal table of contents (NO) in the .chm file.
@@ -826,6 +888,55 @@ BINARY_TOC = NO
TOC_EXPAND = NO
# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER
# are set, an additional index file will be generated that can be used as input for
# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated
# HTML documentation.
GENERATE_QHP = NO
# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
# be used to specify the file name of the resulting .qch file.
# The path specified is relative to the HTML output folder.
QCH_FILE =
# The QHP_NAMESPACE tag specifies the namespace to use when generating
# Qt Help Project output. For more information please see
# http://doc.trolltech.com/qthelpproject.html#namespace
QHP_NAMESPACE =
# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
# Qt Help Project output. For more information please see
# http://doc.trolltech.com/qthelpproject.html#virtual-folders
QHP_VIRTUAL_FOLDER = doc
# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add.
# For more information please see
# http://doc.trolltech.com/qthelpproject.html#custom-filters
QHP_CUST_FILTER_NAME =
# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see
# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>.
QHP_CUST_FILTER_ATTRS =
# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's
# filter section matches.
# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">Qt Help Project / Filter Attributes</a>.
QHP_SECT_FILTER_ATTRS =
# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
# be used to specify the location of Qt's qhelpgenerator.
# If non-empty doxygen will try to run qhelpgenerator on the generated
# .qhp file.
QHG_LOCATION =
# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
# top of each HTML page. The value NO (the default) enables the index and
# the value YES disables it.
@@ -837,12 +948,20 @@ DISABLE_INDEX = NO
ENUM_VALUES_PER_LINE = 4
# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
# generated containing a tree-like index structure (just like the one that
# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
# structure should be generated to display hierarchical information.
# If the tag value is set to FRAME, a side panel will be generated
# containing a tree-like index structure (just like the one that
# is generated for HTML Help). For this to work a browser that supports
# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+,
# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are
# probably better off using the HTML help feature.
# probably better off using the HTML help feature. Other possible values
# for this tag are: HIERARCHIES, which will generate the Groups, Directories,
# and Class Hierarchy pages using a tree view instead of an ordered list;
# ALL, which combines the behavior of FRAME and HIERARCHIES; and NONE, which
# disables this behavior completely. For backwards compatibility with previous
# releases of Doxygen, the values YES and NO are equivalent to FRAME and NONE
# respectively.
GENERATE_TREEVIEW = YES
@@ -852,6 +971,14 @@ GENERATE_TREEVIEW = YES
TREEVIEW_WIDTH = 250
# Use this tag to change the font size of Latex formulas included
# as images in the HTML documentation. The default is 10. Note that
# when you change the font size after a successful doxygen run you need
# to manually remove any form_*.png images from the HTML output directory
# to force them to be regenerated.
FORMULA_FONTSIZE = 10
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
@@ -1064,8 +1191,10 @@ GENERATE_PERLMOD = NO
PERLMOD_LATEX = NO
# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
# nicely formatted so it can be parsed by a human reader. This is useful
# if you want to understand what is going on. On the other hand, if this
# nicely formatted so it can be parsed by a human reader.
# This is useful
# if you want to understand what is going on.
# On the other hand, if this
# tag is set to NO the size of the Perl module output will be much smaller
# and Perl will parse it just the same.
@@ -1152,14 +1281,16 @@ SKIP_FUNCTION_MACROS = YES
# Optionally an initial location of the external documentation
# can be added for each tagfile. The format of a tag file without
# this location is as follows:
# TAGFILES = file1 file2 ...
#
# TAGFILES = file1 file2 ...
# Adding location for the tag files is done as follows:
# TAGFILES = file1=loc1 "file2 = loc2" ...
#
# TAGFILES = file1=loc1 "file2 = loc2" ...
# where "loc1" and "loc2" can be relative or absolute paths or
# URLs. If a location is present for each tag, the installdox tool
# does not have to be run to correct the links.
# Note that each tag file must have a unique name
# (where the name does NOT include the path)
# does not have to be run to correct the links.
# Note that each tag file must have a unique name
# (where the name does NOT include the path)
# If a tag file is not located in the directory in which doxygen
# is run, you must also specify the path to the tagfile here.
@@ -1198,7 +1329,7 @@ PERL_PATH = /usr/bin/perl
# fallback. It is recommended to install and use dot, since it yields more
# powerful graphs.
CLASS_DIAGRAMS = NO
CLASS_DIAGRAMS = YES
# You can define message sequence charts within doxygen comments using the \msc
# command. Doxygen will then run the mscgen tool (see
@@ -1222,6 +1353,29 @@ HIDE_UNDOC_RELATIONS = YES
HAVE_DOT = YES
# By default doxygen will write a font called FreeSans.ttf to the output
# directory and reference it in all dot files that doxygen generates. This
# font does not include all possible unicode characters however, so when you need
# these (or just want a differently looking font) you can specify the font name
# using DOT_FONTNAME. You need need to make sure dot is able to find the font,
# which can be done by putting it in a standard location or by setting the
# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory
# containing the font.
DOT_FONTNAME = DejaVuSansCondensed
# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
# The default size is 10pt.
DOT_FONTSIZE = 9
# By default doxygen will tell dot to use the output directory to look for the
# FreeSans.ttf font (which doxygen will put there itself). If you specify a
# different font using DOT_FONTNAME you can set the path where dot
# can find it using this tag.
DOT_FONTPATH = /usr/share/fonts/truetype/ttf-dejavu
# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
# will generate a graph for each documented class showing the direct and
# indirect inheritance relations. Setting this tag to YES will force the
@@ -1289,13 +1443,13 @@ GRAPHICAL_HIERARCHY = YES
# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
# then doxygen will show the dependencies a directory has on other directories
# in a graphical way. The dependency relations are determined by the #include
# in a graphical way. The dependency relations are determined by the #include
# relations between the files in the directories.
DIRECTORY_GRAPH = YES
# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
# generated by dot. Possible values are png, jpg, or gif
# generated by dot. Possible values are png, jpg, or gif
# If left blank png will be used.
DOT_IMAGE_FORMAT = png
@@ -1311,7 +1465,7 @@ DOT_PATH =
DOTFILE_DIRS =
# The MAX_DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
# nodes that will be shown in the graph. If the number of nodes in a graph
# becomes larger than this value, doxygen will truncate the graph, which is
# visualized by representing a node as a red box. Note that doxygen if the
@@ -1332,10 +1486,10 @@ DOT_GRAPH_MAX_NODES = 50
MAX_DOT_GRAPH_DEPTH = 0
# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
# background. This is enabled by default, which results in a transparent
# background. Warning: Depending on the platform used, enabling this option
# may lead to badly anti-aliased labels on the edges of a graph (i.e. they
# become hard to read).
# background. This is disabled by default, because dot on Windows does not
# seem to support this out of the box. Warning: Depending on the platform used,
# enabling this option may lead to badly anti-aliased labels on the edges of
# a graph (i.e. they become hard to read).
DOT_TRANSPARENT = NO
@@ -1359,7 +1513,7 @@ GENERATE_LEGEND = YES
DOT_CLEANUP = YES
#---------------------------------------------------------------------------
# Configuration::additions related to the search engine
# Options related to the search engine
#---------------------------------------------------------------------------
# The SEARCHENGINE tag specifies whether or not a search engine should be

View File

@@ -0,0 +1,354 @@
# Makefile for the Vamp plugin SDK. This builds the SDK objects,
# libraries, example plugins, and the test host. Please adjust to
# suit your operating system requirements.
#
# This version of the Makefile is approximately correct for cross-
# compiling for Windows from Linux using the MinGW tools.
# Note that it has no "install" target; the following are the
# library and related files that may be of interest resulting from
# the build:
#
# libvamp-sdk.dll [SDK dynamic library for plugins]
# libvamp-hostsdk.dll [SDK dynamic library for hosts]
#
# libvamp-sdk.a [SDK static library for plugins]
# libvamp-hostsdk.a [SDK static library for hosts]
#
# examples/vamp-example-plugins.cat [copy this to your Vamp plugin dir]
# examples/vamp-example-plugins.dll [copy this to your Vamp plugin dir]
#
# host/vamp-simple-host [requires libsndfile to build]
#
# rdf/generator/vamp-rdf-template-generator
# Makefile for the Vamp plugin SDK. This builds the SDK objects,
# libraries, example plugins, and the test host. Please adjust to
# suit your operating system requirements.
APIDIR = vamp
SDKDIR = vamp-sdk
HOSTSDKDIR = vamp-hostsdk
SRCDIR = src
SDKSRCDIR = src/vamp-sdk
HOSTSDKSRCDIR = src/vamp-hostsdk
EXAMPLEDIR = examples
HOSTDIR = host
PCDIR = pkgconfig
LADIR = build
RDFGENDIR = rdf/generator
###
### Start of user-serviceable parts
###
# Default build target (or use "make <target>" to select one).
# Targets are:
# all -- build everything
# sdk -- build all the Vamp SDK libraries for plugins and hosts
# sdkstatic -- build only the static versions of the SDK libraries
# plugins -- build the example plugins (and the SDK if required)
# host -- build the simple Vamp plugin host (and the SDK if required)
# rdfgen -- build the RDF template generator (and the SDK if required)
# test -- build the host and example plugins, and run a quick test
# clean -- remove binary targets
# distclean -- remove all targets
#
default: all
# Tools selection
#
CXX = i586-mingw32msvc-g++
LD = i586-mingw32msvc-g++
AR = i586-mingw32msvc-ar
RANLIB = i586-mingw32msvc-ranlib
# Compile flags
#
CXXFLAGS = -O2 -Wall -I. -I../include
# Libraries required for the plugins.
#
PLUGIN_LIBS = ./libvamp-sdk.a
# File extension for a dynamically loadable object
#
PLUGIN_EXT = .dll
# Libraries required for the host.
#
HOST_LIBS = ./libvamp-hostsdk.a -L../lib -lsndfile
# Libraries required for the RDF template generator.
#
RDFGEN_LIBS = ./libvamp-hostsdk.a
# Flags required to tell the compiler to create a dynamically loadable object
#
DYNAMIC_LDFLAGS = --static-libgcc -shared -Wl,-Bsymbolic
# Flags for building specific plugin and library targets. We need to
# tell the linker the formal name for the library, and for plugins we
# also want to tell the linker to make all symbols in the library
# hidden except for the public entry point (making for a tidier library).
#
PLUGIN_LDFLAGS = $(DYNAMIC_LDFLAGS) -Wl,--version-script=build/vamp-plugin.map
SDK_DYNAMIC_LDFLAGS = $(DYNAMIC_LDFLAGS) -Wl,-soname=$(INSTALL_SDK_LIBNAME)
HOSTSDK_DYNAMIC_LDFLAGS = $(DYNAMIC_LDFLAGS) -Wl,-soname=$(INSTALL_HOSTSDK_LIBNAME)
### End of user-serviceable parts
API_HEADERS = \
$(APIDIR)/vamp.h
SDK_HEADERS = \
$(SDKDIR)/Plugin.h \
$(SDKDIR)/PluginAdapter.h \
$(SDKDIR)/PluginBase.h \
$(SDKDIR)/RealTime.h \
$(SDKDIR)/FFT.h \
$(SDKDIR)/plugguard.h \
$(SDKDIR)/vamp-sdk.h
HOSTSDK_HEADERS = \
$(HOSTSDKDIR)/Plugin.h \
$(HOSTSDKDIR)/PluginBase.h \
$(HOSTSDKDIR)/PluginHostAdapter.h \
$(HOSTSDKDIR)/RealTime.h \
$(HOSTSDKDIR)/PluginBufferingAdapter.h \
$(HOSTSDKDIR)/PluginChannelAdapter.h \
$(HOSTSDKDIR)/PluginInputDomainAdapter.h \
$(HOSTSDKDIR)/PluginLoader.h \
$(HOSTSDKDIR)/PluginSummarisingAdapter.h \
$(HOSTSDKDIR)/PluginWrapper.h \
$(HOSTSDKDIR)/hostguard.h \
$(HOSTSDKDIR)/vamp-hostsdk.h
SDK_OBJECTS = \
$(SDKSRCDIR)/PluginAdapter.o \
$(SDKSRCDIR)/RealTime.o \
$(SDKSRCDIR)/FFT.o \
$(SDKSRCDIR)/acsymbols.o
HOSTSDK_OBJECTS = \
$(HOSTSDKSRCDIR)/PluginHostAdapter.o \
$(HOSTSDKSRCDIR)/RealTime.o \
$(HOSTSDKSRCDIR)/PluginBufferingAdapter.o \
$(HOSTSDKSRCDIR)/PluginChannelAdapter.o \
$(HOSTSDKSRCDIR)/PluginInputDomainAdapter.o \
$(HOSTSDKSRCDIR)/PluginLoader.o \
$(HOSTSDKSRCDIR)/PluginSummarisingAdapter.o \
$(HOSTSDKSRCDIR)/PluginWrapper.o \
$(HOSTSDKSRCDIR)/acsymbols.o
SDK_STATIC = \
./libvamp-sdk.a
HOSTSDK_STATIC = \
./libvamp-hostsdk.a
SDK_DYNAMIC = \
./libvamp-sdk$(PLUGIN_EXT)
HOSTSDK_DYNAMIC = \
./libvamp-hostsdk$(PLUGIN_EXT)
SDK_LA = \
$(LADIR)/libvamp-sdk.la
HOSTSDK_LA = \
$(LADIR)/libvamp-hostsdk.la
PLUGIN_HEADERS = \
$(EXAMPLEDIR)/SpectralCentroid.h \
$(EXAMPLEDIR)/PowerSpectrum.h \
$(EXAMPLEDIR)/PercussionOnsetDetector.h \
$(EXAMPLEDIR)/FixedTempoEstimator.h \
$(EXAMPLEDIR)/AmplitudeFollower.h \
$(EXAMPLEDIR)/ZeroCrossing.h
PLUGIN_OBJECTS = \
$(EXAMPLEDIR)/SpectralCentroid.o \
$(EXAMPLEDIR)/PowerSpectrum.o \
$(EXAMPLEDIR)/PercussionOnsetDetector.o \
$(EXAMPLEDIR)/FixedTempoEstimator.o \
$(EXAMPLEDIR)/AmplitudeFollower.o \
$(EXAMPLEDIR)/ZeroCrossing.o \
$(EXAMPLEDIR)/plugins.o
PLUGIN_TARGET = \
$(EXAMPLEDIR)/vamp-example-plugins$(PLUGIN_EXT)
HOST_HEADERS = \
$(HOSTDIR)/system.h
HOST_OBJECTS = \
$(HOSTDIR)/vamp-simple-host.o
HOST_TARGET = \
$(HOSTDIR)/vamp-simple-host
RDFGEN_OBJECTS = \
$(RDFGENDIR)/vamp-rdf-template-generator.o
RDFGEN_TARGET = \
$(RDFGENDIR)/vamp-rdf-template-generator
sdk: sdkstatic $(SDK_DYNAMIC) $(HOSTSDK_DYNAMIC)
sdkstatic: $(SDK_STATIC) $(HOSTSDK_STATIC)
$(RANLIB) $(SDK_STATIC)
$(RANLIB) $(HOSTSDK_STATIC)
plugins: $(PLUGIN_TARGET)
host: $(HOST_TARGET)
rdfgen: $(RDFGEN_TARGET)
all: sdk plugins host rdfgen test
$(SDK_STATIC): $(SDK_OBJECTS) $(API_HEADERS) $(SDK_HEADERS)
$(AR) r $@ $(SDK_OBJECTS)
$(HOSTSDK_STATIC): $(HOSTSDK_OBJECTS) $(API_HEADERS) $(HOSTSDK_HEADERS)
$(AR) r $@ $(HOSTSDK_OBJECTS)
$(SDK_DYNAMIC): $(SDK_OBJECTS) $(API_HEADERS) $(SDK_HEADERS)
$(CXX) $(LDFLAGS) $(SDK_DYNAMIC_LDFLAGS) -o $@ $(SDK_OBJECTS)
$(HOSTSDK_DYNAMIC): $(HOSTSDK_OBJECTS) $(API_HEADERS) $(HOSTSDK_HEADERS)
$(CXX) $(LDFLAGS) $(HOSTSDK_DYNAMIC_LDFLAGS) -o $@ $(HOSTSDK_OBJECTS)
$(PLUGIN_TARGET): $(PLUGIN_OBJECTS) $(SDK_STATIC) $(PLUGIN_HEADERS)
$(CXX) $(LDFLAGS) $(PLUGIN_LDFLAGS) -o $@ $(PLUGIN_OBJECTS) $(PLUGIN_LIBS)
$(HOST_TARGET): $(HOST_OBJECTS) $(HOSTSDK_STATIC) $(HOST_HEADERS)
$(CXX) $(LDFLAGS) $(HOST_LDFLAGS) -o $@ $(HOST_OBJECTS) $(HOST_LIBS)
$(RDFGEN_TARGET): $(RDFGEN_OBJECTS) $(HOSTSDK_STATIC)
$(CXX) $(LDFLAGS) $(RDFGEN_LDFLAGS) -o $@ $(RDFGEN_OBJECTS) $(RDFGEN_LIBS)
test: plugins host
VAMP_PATH=$(EXAMPLEDIR) $(HOST_TARGET) -l
clean:
rm -f $(SDK_OBJECTS) $(HOSTSDK_OBJECTS) $(PLUGIN_OBJECTS) $(HOST_OBJECTS) $(RDFGEN_OBJECTS)
distclean: clean
rm -f $(SDK_STATIC) $(SDK_DYNAMIC) $(HOSTSDK_STATIC) $(HOSTSDK_DYNAMIC) $(PLUGIN_TARGET) $(HOST_TARGET) $(RDFGEN_TARGET) *~ */*~
# DO NOT DELETE
examples/AmplitudeFollower.o: examples/AmplitudeFollower.h vamp-sdk/Plugin.h
examples/AmplitudeFollower.o: vamp-sdk/PluginBase.h vamp-sdk/plugguard.h
examples/AmplitudeFollower.o: vamp-sdk/RealTime.h
examples/FixedTempoEstimator.o: examples/FixedTempoEstimator.h
examples/FixedTempoEstimator.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h
examples/FixedTempoEstimator.o: vamp-sdk/plugguard.h vamp-sdk/RealTime.h
examples/PercussionOnsetDetector.o: examples/PercussionOnsetDetector.h
examples/PercussionOnsetDetector.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h
examples/PercussionOnsetDetector.o: vamp-sdk/plugguard.h vamp-sdk/RealTime.h
examples/SpectralCentroid.o: examples/SpectralCentroid.h vamp-sdk/Plugin.h
examples/SpectralCentroid.o: vamp-sdk/PluginBase.h vamp-sdk/plugguard.h
examples/SpectralCentroid.o: vamp-sdk/RealTime.h
examples/PowerSpectrum.o: examples/PowerSpectrum.h vamp-sdk/Plugin.h
examples/PowerSpectrum.o: vamp-sdk/PluginBase.h vamp-sdk/plugguard.h
examples/PowerSpectrum.o: vamp-sdk/RealTime.h
examples/ZeroCrossing.o: examples/ZeroCrossing.h vamp-sdk/Plugin.h
examples/ZeroCrossing.o: vamp-sdk/PluginBase.h vamp-sdk/plugguard.h
examples/ZeroCrossing.o: vamp-sdk/RealTime.h
examples/plugins.o: vamp/vamp.h vamp-sdk/PluginAdapter.h vamp-sdk/Plugin.h
examples/plugins.o: vamp-sdk/PluginBase.h vamp-sdk/plugguard.h
examples/plugins.o: vamp-sdk/RealTime.h examples/ZeroCrossing.h
examples/plugins.o: vamp-sdk/Plugin.h examples/SpectralCentroid.h
examples/plugins.o: examples/PercussionOnsetDetector.h examples/PowerSpectrum.h
examples/plugins.o: examples/FixedTempoEstimator.h
examples/plugins.o: examples/AmplitudeFollower.h
host/vamp-simple-host.o: ./vamp-hostsdk/PluginHostAdapter.h vamp/vamp.h
host/vamp-simple-host.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h
host/vamp-simple-host.o: vamp-sdk/plugguard.h vamp-sdk/RealTime.h
host/vamp-simple-host.o: ./vamp-hostsdk/PluginInputDomainAdapter.h
host/vamp-simple-host.o: ./vamp-hostsdk/PluginWrapper.h
host/vamp-simple-host.o: ./vamp-hostsdk/Plugin.h ./vamp-hostsdk/hostguard.h
host/vamp-simple-host.o: vamp-sdk/Plugin.h
host/vamp-simple-host.o: ./vamp-hostsdk/PluginLoader.h host/system.h
rdf/generator/vamp-rdf-template-generator.o: ./vamp-hostsdk/PluginHostAdapter.h
rdf/generator/vamp-rdf-template-generator.o: vamp/vamp.h vamp-sdk/Plugin.h
rdf/generator/vamp-rdf-template-generator.o: vamp-sdk/PluginBase.h
rdf/generator/vamp-rdf-template-generator.o: vamp-sdk/plugguard.h vamp-sdk/RealTime.h
rdf/generator/vamp-rdf-template-generator.o: ./vamp-hostsdk/PluginChannelAdapter.h
rdf/generator/vamp-rdf-template-generator.o: ./vamp-hostsdk/PluginWrapper.h
rdf/generator/vamp-rdf-template-generator.o: ./vamp-hostsdk/Plugin.h
rdf/generator/vamp-rdf-template-generator.o: ./vamp-hostsdk/hostguard.h
rdf/generator/vamp-rdf-template-generator.o: vamp-sdk/Plugin.h
rdf/generator/vamp-rdf-template-generator.o: ./vamp-hostsdk/PluginInputDomainAdapter.h
rdf/generator/vamp-rdf-template-generator.o: ./vamp-hostsdk/PluginLoader.h
src/vamp-hostsdk/PluginHostAdapter.o: ./vamp-hostsdk/PluginHostAdapter.h
src/vamp-hostsdk/PluginHostAdapter.o: vamp/vamp.h vamp-sdk/Plugin.h
src/vamp-hostsdk/PluginHostAdapter.o: vamp-sdk/PluginBase.h
src/vamp-hostsdk/PluginHostAdapter.o: vamp-sdk/plugguard.h
src/vamp-hostsdk/PluginHostAdapter.o: vamp-sdk/RealTime.h
src/vamp-hostsdk/RealTime.o: src/vamp-sdk/RealTime.cpp ./vamp-sdk/RealTime.h
src/vamp-hostsdk/RealTime.o: vamp-sdk/plugguard.h
src/vamp-sdk/PluginAdapter.o: vamp-sdk/PluginAdapter.h vamp/vamp.h
src/vamp-sdk/PluginAdapter.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h
src/vamp-sdk/PluginAdapter.o: vamp-sdk/plugguard.h vamp-sdk/RealTime.h
src/vamp-sdk/RealTime.o: ./vamp-sdk/RealTime.h vamp-sdk/plugguard.h
src/vamp-hostsdk/PluginBufferingAdapter.o: ./vamp-hostsdk/PluginBufferingAdapter.h
src/vamp-hostsdk/PluginBufferingAdapter.o: ./vamp-hostsdk/PluginWrapper.h
src/vamp-hostsdk/PluginBufferingAdapter.o: ./vamp-hostsdk/Plugin.h
src/vamp-hostsdk/PluginBufferingAdapter.o: ./vamp-hostsdk/hostguard.h
src/vamp-hostsdk/PluginBufferingAdapter.o: vamp-sdk/Plugin.h
src/vamp-hostsdk/PluginBufferingAdapter.o: vamp-sdk/PluginBase.h
src/vamp-hostsdk/PluginBufferingAdapter.o: vamp-sdk/plugguard.h
src/vamp-hostsdk/PluginBufferingAdapter.o: vamp-sdk/RealTime.h
src/vamp-hostsdk/PluginChannelAdapter.o: ./vamp-hostsdk/PluginChannelAdapter.h
src/vamp-hostsdk/PluginChannelAdapter.o: ./vamp-hostsdk/PluginWrapper.h
src/vamp-hostsdk/PluginChannelAdapter.o: ./vamp-hostsdk/Plugin.h
src/vamp-hostsdk/PluginChannelAdapter.o: ./vamp-hostsdk/hostguard.h
src/vamp-hostsdk/PluginChannelAdapter.o: vamp-sdk/Plugin.h
src/vamp-hostsdk/PluginChannelAdapter.o: vamp-sdk/PluginBase.h
src/vamp-hostsdk/PluginChannelAdapter.o: vamp-sdk/plugguard.h
src/vamp-hostsdk/PluginChannelAdapter.o: vamp-sdk/RealTime.h
src/vamp-hostsdk/PluginInputDomainAdapter.o: ./vamp-hostsdk/PluginInputDomainAdapter.h
src/vamp-hostsdk/PluginInputDomainAdapter.o: ./vamp-hostsdk/PluginWrapper.h
src/vamp-hostsdk/PluginInputDomainAdapter.o: ./vamp-hostsdk/Plugin.h
src/vamp-hostsdk/PluginInputDomainAdapter.o: ./vamp-hostsdk/hostguard.h
src/vamp-hostsdk/PluginInputDomainAdapter.o: vamp-sdk/Plugin.h
src/vamp-hostsdk/PluginInputDomainAdapter.o: vamp-sdk/PluginBase.h
src/vamp-hostsdk/PluginInputDomainAdapter.o: vamp-sdk/plugguard.h
src/vamp-hostsdk/PluginInputDomainAdapter.o: vamp-sdk/RealTime.h
src/vamp-hostsdk/PluginLoader.o: ./vamp-hostsdk/PluginHostAdapter.h
src/vamp-hostsdk/PluginLoader.o: vamp/vamp.h vamp-sdk/Plugin.h
src/vamp-hostsdk/PluginLoader.o: vamp-sdk/PluginBase.h
src/vamp-hostsdk/PluginLoader.o: vamp-sdk/plugguard.h
src/vamp-hostsdk/PluginLoader.o: vamp-sdk/RealTime.h
src/vamp-hostsdk/PluginLoader.o: ./vamp-hostsdk/PluginLoader.h
src/vamp-hostsdk/PluginLoader.o: ./vamp-hostsdk/PluginWrapper.h
src/vamp-hostsdk/PluginLoader.o: ./vamp-hostsdk/Plugin.h
src/vamp-hostsdk/PluginLoader.o: ./vamp-hostsdk/hostguard.h
src/vamp-hostsdk/PluginLoader.o: vamp-sdk/Plugin.h
src/vamp-hostsdk/PluginLoader.o: ./vamp-hostsdk/PluginInputDomainAdapter.h
src/vamp-hostsdk/PluginLoader.o: ./vamp-hostsdk/PluginChannelAdapter.h
src/vamp-hostsdk/PluginLoader.o: ./vamp-hostsdk/PluginBufferingAdapter.h
src/vamp-hostsdk/PluginSummarisingAdapter.o: ./vamp-hostsdk/PluginSummarisingAdapter.h
src/vamp-hostsdk/PluginSummarisingAdapter.o: ./vamp-hostsdk/PluginWrapper.h
src/vamp-hostsdk/PluginSummarisingAdapter.o: ./vamp-hostsdk/Plugin.h
src/vamp-hostsdk/PluginSummarisingAdapter.o: ./vamp-hostsdk/hostguard.h
src/vamp-hostsdk/PluginSummarisingAdapter.o: vamp-sdk/Plugin.h
src/vamp-hostsdk/PluginSummarisingAdapter.o: vamp-sdk/PluginBase.h
src/vamp-hostsdk/PluginSummarisingAdapter.o: vamp-sdk/plugguard.h
src/vamp-hostsdk/PluginSummarisingAdapter.o: vamp-sdk/RealTime.h
src/vamp-hostsdk/PluginWrapper.o: ./vamp-hostsdk/PluginWrapper.h
src/vamp-hostsdk/PluginWrapper.o: ./vamp-hostsdk/Plugin.h
src/vamp-hostsdk/PluginWrapper.o: ./vamp-hostsdk/hostguard.h
src/vamp-hostsdk/PluginWrapper.o: vamp-sdk/Plugin.h
src/vamp-hostsdk/PluginWrapper.o: vamp-sdk/PluginBase.h
src/vamp-hostsdk/PluginWrapper.o: vamp-sdk/plugguard.h
src/vamp-hostsdk/PluginWrapper.o: vamp-sdk/RealTime.h

View File

@@ -0,0 +1,370 @@
# Makefile for the Vamp plugin SDK. This builds the SDK objects,
# libraries, example plugins, and the test host. Please adjust to
# suit your operating system requirements.
#
# This version of the Makefile is approximately correct for OS/X 10.7.
# Note that it has no "install" target; the following are the
# library and related files that may be of interest resulting from
# the build:
#
# libvamp-sdk.dylib [SDK dynamic library for plugins]
# libvamp-hostsdk.dylib [SDK dynamic library for hosts]
#
# libvamp-sdk.a [SDK static library for plugins]
# libvamp-hostsdk.a [SDK static library for hosts]
#
# examples/vamp-example-plugins.cat [copy this to your Vamp plugin dir]
# examples/vamp-example-plugins.dylib [copy this to your Vamp plugin dir]
#
# host/vamp-simple-host [requires libsndfile to build]
#
# rdf/generator/vamp-rdf-template-generator
# Makefile for the Vamp plugin SDK. This builds the SDK objects,
# libraries, example plugins, and the test host. Please adjust to
# suit your operating system requirements.
APIDIR = vamp
SDKDIR = vamp-sdk
HOSTSDKDIR = vamp-hostsdk
SRCDIR = src
SDKSRCDIR = src/vamp-sdk
HOSTSDKSRCDIR = src/vamp-hostsdk
EXAMPLEDIR = examples
HOSTDIR = host
PCDIR = pkgconfig
LADIR = build
RDFGENDIR = rdf/generator
###
### Start of user-serviceable parts
###
# Default build target (or use "make <target>" to select one).
# Targets are:
# all -- build everything
# sdk -- build all the Vamp SDK libraries for plugins and hosts
# sdkstatic -- build only the static versions of the SDK libraries
# plugins -- build the example plugins (and the SDK if required)
# host -- build the simple Vamp plugin host (and the SDK if required)
# rdfgen -- build the RDF template generator (and the SDK if required)
# test -- build the host and example plugins, and run a quick test
# clean -- remove binary targets
# distclean -- remove all targets
#
default: all
# Minimum version of OS/X to target. This will determine the
# compiler's choice of platform SDK material
MINVERSION := 10.6
# Our default is to try to build for all architectures supported by
# the MINVERSION in a universal binary.
#
ARCHFLAGS = -mmacosx-version-min=$(MINVERSION) -arch x86_64 -arch i386
# Compile flags
#
CFLAGS = $(ARCHFLAGS) -fPIC
CXXFLAGS = $(ARCHFLAGS) -O2 -Wall -I. -I../10.6/inst/include -fPIC
# Link flags common to all link targets
#
LDFLAGS = $(ARCHFLAGS)
# ar, ranlib
#
AR = ar
RANLIB = ranlib
RM_F = rm -f
# Libraries required for the plugins.
#
PLUGIN_LIBS = ./libvamp-sdk.a
# File extension for a dynamically loadable object
#
PLUGIN_EXT = .dylib
# Libraries required for the host.
#
HOST_LIBS = ./libvamp-hostsdk.a -L../10.6/inst/lib -lsndfile -logg -lvorbis -lvorbisenc -lflac -ldl
# Libraries required for the RDF template generator.
#
RDFGEN_LIBS = ./libvamp-hostsdk.a -ldl
# Flags required to tell the compiler to create a dynamically loadable object
#
DYNAMIC_LDFLAGS = $(ARCHFLAGS) -dynamiclib
# Flags for building specific plugin and library targets. We need to
# tell the linker the formal name for the library, and for plugins we
# also want to tell the linker to make all symbols in the library
# hidden except for the public entry point (making for a tidier library).
#
PLUGIN_LDFLAGS = $(DYNAMIC_LDFLAGS) \
-install_name vamp-example-plugins.dylib \
-exported_symbols_list build/vamp-plugin.list
SDK_DYNAMIC_LDFLAGS = $(DYNAMIC_LDFLAGS) -install_name libvamp-sdk.dylib
HOSTSDK_DYNAMIC_LDFLAGS = $(DYNAMIC_LDFLAGS) -install_name libvamp-hostsdk.dylib
### End of user-serviceable parts
API_HEADERS = \
$(APIDIR)/vamp.h
SDK_HEADERS = \
$(SDKDIR)/Plugin.h \
$(SDKDIR)/PluginAdapter.h \
$(SDKDIR)/PluginBase.h \
$(SDKDIR)/RealTime.h \
$(SDKDIR)/FFT.h \
$(SDKDIR)/plugguard.h \
$(SDKDIR)/vamp-sdk.h
HOSTSDK_HEADERS = \
$(HOSTSDKDIR)/Plugin.h \
$(HOSTSDKDIR)/PluginBase.h \
$(HOSTSDKDIR)/PluginHostAdapter.h \
$(HOSTSDKDIR)/RealTime.h \
$(HOSTSDKDIR)/PluginBufferingAdapter.h \
$(HOSTSDKDIR)/PluginChannelAdapter.h \
$(HOSTSDKDIR)/PluginInputDomainAdapter.h \
$(HOSTSDKDIR)/PluginLoader.h \
$(HOSTSDKDIR)/PluginSummarisingAdapter.h \
$(HOSTSDKDIR)/PluginWrapper.h \
$(HOSTSDKDIR)/hostguard.h \
$(HOSTSDKDIR)/vamp-hostsdk.h
SDK_OBJECTS = \
$(SDKSRCDIR)/PluginAdapter.o \
$(SDKSRCDIR)/RealTime.o \
$(SDKSRCDIR)/FFT.o \
$(SDKSRCDIR)/acsymbols.o
HOSTSDK_OBJECTS = \
$(HOSTSDKSRCDIR)/PluginHostAdapter.o \
$(HOSTSDKSRCDIR)/RealTime.o \
$(HOSTSDKSRCDIR)/PluginBufferingAdapter.o \
$(HOSTSDKSRCDIR)/PluginChannelAdapter.o \
$(HOSTSDKSRCDIR)/PluginInputDomainAdapter.o \
$(HOSTSDKSRCDIR)/PluginLoader.o \
$(HOSTSDKSRCDIR)/PluginSummarisingAdapter.o \
$(HOSTSDKSRCDIR)/PluginWrapper.o \
$(HOSTSDKSRCDIR)/acsymbols.o
SDK_STATIC = \
./libvamp-sdk.a
HOSTSDK_STATIC = \
./libvamp-hostsdk.a
SDK_DYNAMIC = \
./libvamp-sdk$(PLUGIN_EXT)
HOSTSDK_DYNAMIC = \
./libvamp-hostsdk$(PLUGIN_EXT)
SDK_LA = \
$(LADIR)/libvamp-sdk.la
HOSTSDK_LA = \
$(LADIR)/libvamp-hostsdk.la
PLUGIN_HEADERS = \
$(EXAMPLEDIR)/SpectralCentroid.h \
$(EXAMPLEDIR)/PowerSpectrum.h \
$(EXAMPLEDIR)/PercussionOnsetDetector.h \
$(EXAMPLEDIR)/FixedTempoEstimator.h \
$(EXAMPLEDIR)/AmplitudeFollower.h \
$(EXAMPLEDIR)/ZeroCrossing.h
PLUGIN_OBJECTS = \
$(EXAMPLEDIR)/SpectralCentroid.o \
$(EXAMPLEDIR)/PowerSpectrum.o \
$(EXAMPLEDIR)/PercussionOnsetDetector.o \
$(EXAMPLEDIR)/FixedTempoEstimator.o \
$(EXAMPLEDIR)/AmplitudeFollower.o \
$(EXAMPLEDIR)/ZeroCrossing.o \
$(EXAMPLEDIR)/plugins.o
PLUGIN_TARGET = \
$(EXAMPLEDIR)/vamp-example-plugins$(PLUGIN_EXT)
HOST_HEADERS = \
$(HOSTDIR)/system.h
HOST_OBJECTS = \
$(HOSTDIR)/vamp-simple-host.o
HOST_TARGET = \
$(HOSTDIR)/vamp-simple-host
RDFGEN_OBJECTS = \
$(RDFGENDIR)/vamp-rdf-template-generator.o
RDFGEN_TARGET = \
$(RDFGENDIR)/vamp-rdf-template-generator
sdk: sdkstatic $(SDK_DYNAMIC) $(HOSTSDK_DYNAMIC)
sdkstatic: $(SDK_STATIC) $(HOSTSDK_STATIC)
$(RANLIB) $(SDK_STATIC)
$(RANLIB) $(HOSTSDK_STATIC)
plugins: $(PLUGIN_TARGET)
host: $(HOST_TARGET)
rdfgen: $(RDFGEN_TARGET)
all: sdk plugins host rdfgen test
$(SDK_STATIC): $(SDK_OBJECTS) $(API_HEADERS) $(SDK_HEADERS)
$(RM_F) $@
$(AR) r $@ $(SDK_OBJECTS)
$(HOSTSDK_STATIC): $(HOSTSDK_OBJECTS) $(API_HEADERS) $(HOSTSDK_HEADERS)
$(RM_F) $@
$(AR) r $@ $(HOSTSDK_OBJECTS)
$(SDK_DYNAMIC): $(SDK_OBJECTS) $(API_HEADERS) $(SDK_HEADERS)
$(CXX) $(LDFLAGS) $(SDK_DYNAMIC_LDFLAGS) -o $@ $(SDK_OBJECTS)
$(HOSTSDK_DYNAMIC): $(HOSTSDK_OBJECTS) $(API_HEADERS) $(HOSTSDK_HEADERS)
$(CXX) $(LDFLAGS) $(HOSTSDK_DYNAMIC_LDFLAGS) -o $@ $(HOSTSDK_OBJECTS)
$(PLUGIN_TARGET): $(PLUGIN_OBJECTS) $(SDK_STATIC) $(PLUGIN_HEADERS)
$(CXX) $(LDFLAGS) $(PLUGIN_LDFLAGS) -o $@ $(PLUGIN_OBJECTS) $(PLUGIN_LIBS)
$(HOST_TARGET): $(HOST_OBJECTS) $(HOSTSDK_STATIC) $(HOST_HEADERS)
$(CXX) $(LDFLAGS) $(HOST_LDFLAGS) -o $@ $(HOST_OBJECTS) $(HOST_LIBS)
$(RDFGEN_TARGET): $(RDFGEN_OBJECTS) $(HOSTSDK_STATIC)
$(CXX) $(LDFLAGS) $(RDFGEN_LDFLAGS) -o $@ $(RDFGEN_OBJECTS) $(RDFGEN_LIBS)
test: plugins host
VAMP_PATH=$(EXAMPLEDIR) $(HOST_TARGET) -l
clean:
rm -f $(SDK_OBJECTS) $(HOSTSDK_OBJECTS) $(PLUGIN_OBJECTS) $(HOST_OBJECTS) $(RDFGEN_OBJECTS)
distclean: clean
rm -f $(SDK_STATIC) $(SDK_DYNAMIC) $(HOSTSDK_STATIC) $(HOSTSDK_DYNAMIC) $(PLUGIN_TARGET) $(HOST_TARGET) $(RDFGEN_TARGET) *~ */*~
# DO NOT DELETE
examples/AmplitudeFollower.o: examples/AmplitudeFollower.h vamp-sdk/Plugin.h
examples/AmplitudeFollower.o: vamp-sdk/PluginBase.h vamp-sdk/plugguard.h
examples/AmplitudeFollower.o: vamp-sdk/RealTime.h
examples/FixedTempoEstimator.o: examples/FixedTempoEstimator.h
examples/FixedTempoEstimator.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h
examples/FixedTempoEstimator.o: vamp-sdk/plugguard.h vamp-sdk/RealTime.h
examples/PercussionOnsetDetector.o: examples/PercussionOnsetDetector.h
examples/PercussionOnsetDetector.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h
examples/PercussionOnsetDetector.o: vamp-sdk/plugguard.h vamp-sdk/RealTime.h
examples/SpectralCentroid.o: examples/SpectralCentroid.h vamp-sdk/Plugin.h
examples/SpectralCentroid.o: vamp-sdk/PluginBase.h vamp-sdk/plugguard.h
examples/SpectralCentroid.o: vamp-sdk/RealTime.h
examples/PowerSpectrum.o: examples/PowerSpectrum.h vamp-sdk/Plugin.h
examples/PowerSpectrum.o: vamp-sdk/PluginBase.h vamp-sdk/plugguard.h
examples/PowerSpectrum.o: vamp-sdk/RealTime.h
examples/ZeroCrossing.o: examples/ZeroCrossing.h vamp-sdk/Plugin.h
examples/ZeroCrossing.o: vamp-sdk/PluginBase.h vamp-sdk/plugguard.h
examples/ZeroCrossing.o: vamp-sdk/RealTime.h
examples/plugins.o: vamp/vamp.h vamp-sdk/PluginAdapter.h vamp-sdk/Plugin.h
examples/plugins.o: vamp-sdk/PluginBase.h vamp-sdk/plugguard.h
examples/plugins.o: vamp-sdk/RealTime.h examples/ZeroCrossing.h
examples/plugins.o: vamp-sdk/Plugin.h examples/SpectralCentroid.h
examples/plugins.o: examples/PercussionOnsetDetector.h examples/PowerSpectrum.h
examples/plugins.o: examples/FixedTempoEstimator.h
examples/plugins.o: examples/AmplitudeFollower.h
host/vamp-simple-host.o: ./vamp-hostsdk/PluginHostAdapter.h vamp/vamp.h
host/vamp-simple-host.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h
host/vamp-simple-host.o: vamp-sdk/plugguard.h vamp-sdk/RealTime.h
host/vamp-simple-host.o: ./vamp-hostsdk/PluginInputDomainAdapter.h
host/vamp-simple-host.o: ./vamp-hostsdk/PluginWrapper.h
host/vamp-simple-host.o: ./vamp-hostsdk/Plugin.h ./vamp-hostsdk/hostguard.h
host/vamp-simple-host.o: vamp-sdk/Plugin.h
host/vamp-simple-host.o: ./vamp-hostsdk/PluginLoader.h host/system.h
rdf/generator/vamp-rdf-template-generator.o: ./vamp-hostsdk/PluginHostAdapter.h
rdf/generator/vamp-rdf-template-generator.o: vamp/vamp.h vamp-sdk/Plugin.h
rdf/generator/vamp-rdf-template-generator.o: vamp-sdk/PluginBase.h
rdf/generator/vamp-rdf-template-generator.o: vamp-sdk/plugguard.h vamp-sdk/RealTime.h
rdf/generator/vamp-rdf-template-generator.o: ./vamp-hostsdk/PluginChannelAdapter.h
rdf/generator/vamp-rdf-template-generator.o: ./vamp-hostsdk/PluginWrapper.h
rdf/generator/vamp-rdf-template-generator.o: ./vamp-hostsdk/Plugin.h
rdf/generator/vamp-rdf-template-generator.o: ./vamp-hostsdk/hostguard.h
rdf/generator/vamp-rdf-template-generator.o: vamp-sdk/Plugin.h
rdf/generator/vamp-rdf-template-generator.o: ./vamp-hostsdk/PluginInputDomainAdapter.h
rdf/generator/vamp-rdf-template-generator.o: ./vamp-hostsdk/PluginLoader.h
src/vamp-hostsdk/PluginHostAdapter.o: ./vamp-hostsdk/PluginHostAdapter.h
src/vamp-hostsdk/PluginHostAdapter.o: vamp/vamp.h vamp-sdk/Plugin.h
src/vamp-hostsdk/PluginHostAdapter.o: vamp-sdk/PluginBase.h
src/vamp-hostsdk/PluginHostAdapter.o: vamp-sdk/plugguard.h
src/vamp-hostsdk/PluginHostAdapter.o: vamp-sdk/RealTime.h
src/vamp-hostsdk/RealTime.o: src/vamp-sdk/RealTime.cpp ./vamp-sdk/RealTime.h
src/vamp-hostsdk/RealTime.o: vamp-sdk/plugguard.h
src/vamp-sdk/PluginAdapter.o: vamp-sdk/PluginAdapter.h vamp/vamp.h
src/vamp-sdk/PluginAdapter.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h
src/vamp-sdk/PluginAdapter.o: vamp-sdk/plugguard.h vamp-sdk/RealTime.h
src/vamp-sdk/RealTime.o: ./vamp-sdk/RealTime.h vamp-sdk/plugguard.h
src/vamp-hostsdk/PluginBufferingAdapter.o: ./vamp-hostsdk/PluginBufferingAdapter.h
src/vamp-hostsdk/PluginBufferingAdapter.o: ./vamp-hostsdk/PluginWrapper.h
src/vamp-hostsdk/PluginBufferingAdapter.o: ./vamp-hostsdk/Plugin.h
src/vamp-hostsdk/PluginBufferingAdapter.o: ./vamp-hostsdk/hostguard.h
src/vamp-hostsdk/PluginBufferingAdapter.o: vamp-sdk/Plugin.h
src/vamp-hostsdk/PluginBufferingAdapter.o: vamp-sdk/PluginBase.h
src/vamp-hostsdk/PluginBufferingAdapter.o: vamp-sdk/plugguard.h
src/vamp-hostsdk/PluginBufferingAdapter.o: vamp-sdk/RealTime.h
src/vamp-hostsdk/PluginChannelAdapter.o: ./vamp-hostsdk/PluginChannelAdapter.h
src/vamp-hostsdk/PluginChannelAdapter.o: ./vamp-hostsdk/PluginWrapper.h
src/vamp-hostsdk/PluginChannelAdapter.o: ./vamp-hostsdk/Plugin.h
src/vamp-hostsdk/PluginChannelAdapter.o: ./vamp-hostsdk/hostguard.h
src/vamp-hostsdk/PluginChannelAdapter.o: vamp-sdk/Plugin.h
src/vamp-hostsdk/PluginChannelAdapter.o: vamp-sdk/PluginBase.h
src/vamp-hostsdk/PluginChannelAdapter.o: vamp-sdk/plugguard.h
src/vamp-hostsdk/PluginChannelAdapter.o: vamp-sdk/RealTime.h
src/vamp-hostsdk/PluginInputDomainAdapter.o: ./vamp-hostsdk/PluginInputDomainAdapter.h
src/vamp-hostsdk/PluginInputDomainAdapter.o: ./vamp-hostsdk/PluginWrapper.h
src/vamp-hostsdk/PluginInputDomainAdapter.o: ./vamp-hostsdk/Plugin.h
src/vamp-hostsdk/PluginInputDomainAdapter.o: ./vamp-hostsdk/hostguard.h
src/vamp-hostsdk/PluginInputDomainAdapter.o: vamp-sdk/Plugin.h
src/vamp-hostsdk/PluginInputDomainAdapter.o: vamp-sdk/PluginBase.h
src/vamp-hostsdk/PluginInputDomainAdapter.o: vamp-sdk/plugguard.h
src/vamp-hostsdk/PluginInputDomainAdapter.o: vamp-sdk/RealTime.h
src/vamp-hostsdk/PluginLoader.o: ./vamp-hostsdk/PluginHostAdapter.h
src/vamp-hostsdk/PluginLoader.o: vamp/vamp.h vamp-sdk/Plugin.h
src/vamp-hostsdk/PluginLoader.o: vamp-sdk/PluginBase.h
src/vamp-hostsdk/PluginLoader.o: vamp-sdk/plugguard.h
src/vamp-hostsdk/PluginLoader.o: vamp-sdk/RealTime.h
src/vamp-hostsdk/PluginLoader.o: ./vamp-hostsdk/PluginLoader.h
src/vamp-hostsdk/PluginLoader.o: ./vamp-hostsdk/PluginWrapper.h
src/vamp-hostsdk/PluginLoader.o: ./vamp-hostsdk/Plugin.h
src/vamp-hostsdk/PluginLoader.o: ./vamp-hostsdk/hostguard.h
src/vamp-hostsdk/PluginLoader.o: vamp-sdk/Plugin.h
src/vamp-hostsdk/PluginLoader.o: ./vamp-hostsdk/PluginInputDomainAdapter.h
src/vamp-hostsdk/PluginLoader.o: ./vamp-hostsdk/PluginChannelAdapter.h
src/vamp-hostsdk/PluginLoader.o: ./vamp-hostsdk/PluginBufferingAdapter.h
src/vamp-hostsdk/PluginSummarisingAdapter.o: ./vamp-hostsdk/PluginSummarisingAdapter.h
src/vamp-hostsdk/PluginSummarisingAdapter.o: ./vamp-hostsdk/PluginWrapper.h
src/vamp-hostsdk/PluginSummarisingAdapter.o: ./vamp-hostsdk/Plugin.h
src/vamp-hostsdk/PluginSummarisingAdapter.o: ./vamp-hostsdk/hostguard.h
src/vamp-hostsdk/PluginSummarisingAdapter.o: vamp-sdk/Plugin.h
src/vamp-hostsdk/PluginSummarisingAdapter.o: vamp-sdk/PluginBase.h
src/vamp-hostsdk/PluginSummarisingAdapter.o: vamp-sdk/plugguard.h
src/vamp-hostsdk/PluginSummarisingAdapter.o: vamp-sdk/RealTime.h
src/vamp-hostsdk/PluginWrapper.o: ./vamp-hostsdk/PluginWrapper.h
src/vamp-hostsdk/PluginWrapper.o: ./vamp-hostsdk/Plugin.h
src/vamp-hostsdk/PluginWrapper.o: ./vamp-hostsdk/hostguard.h
src/vamp-hostsdk/PluginWrapper.o: vamp-sdk/Plugin.h
src/vamp-hostsdk/PluginWrapper.o: vamp-sdk/PluginBase.h
src/vamp-hostsdk/PluginWrapper.o: vamp-sdk/plugguard.h
src/vamp-hostsdk/PluginWrapper.o: vamp-sdk/RealTime.h

View File

@@ -0,0 +1,397 @@
# Makefile for the Vamp plugin SDK. This builds the SDK objects,
# libraries, example plugins, and the test host. Please adjust to
# suit your operating system requirements.
#
# This version of the Makefile is approximately correct for OS/X.
# Note that it has no "install" target; the following are the
# library and related files that may be of interest resulting from
# the build:
#
# libvamp-sdk.dylib [SDK dynamic library for plugins]
# libvamp-hostsdk.dylib [SDK dynamic library for hosts]
#
# libvamp-sdk.a [SDK static library for plugins]
# libvamp-hostsdk.a [SDK static library for hosts]
#
# examples/vamp-example-plugins.cat [copy this to your Vamp plugin dir]
# examples/vamp-example-plugins.dylib [copy this to your Vamp plugin dir]
#
# host/vamp-simple-host [requires libsndfile to build]
#
# rdf/generator/vamp-rdf-template-generator
# Makefile for the Vamp plugin SDK. This builds the SDK objects,
# libraries, example plugins, and the test host. Please adjust to
# suit your operating system requirements.
APIDIR = vamp
SDKDIR = vamp-sdk
HOSTSDKDIR = vamp-hostsdk
SRCDIR = src
SDKSRCDIR = src/vamp-sdk
HOSTSDKSRCDIR = src/vamp-hostsdk
EXAMPLEDIR = examples
HOSTDIR = host
PCDIR = pkgconfig
LADIR = build
RDFGENDIR = rdf/generator
###
### Start of user-serviceable parts
###
# Default build target (or use "make <target>" to select one).
# Targets are:
# all -- build everything
# sdk -- build all the Vamp SDK libraries for plugins and hosts
# sdkstatic -- build only the static versions of the SDK libraries
# plugins -- build the example plugins (and the SDK if required)
# host -- build the simple Vamp plugin host (and the SDK if required)
# rdfgen -- build the RDF template generator (and the SDK if required)
# test -- build the host and example plugins, and run a quick test
# clean -- remove binary targets
# distclean -- remove all targets
#
default: all
# Architecture and developer SDK selection flags. Change these only
# if you want to select a different OS/X compatibility level from the
# default.
#
# By default, we try to find the oldest available SDK that is newer
# than 10.4.
#
# If you want to override this to select a particular SDK, change
# PREFERRED_SDK to the SDK name (e.g. "10.4u") and PREFERRED_MINVERSION
# to the minimum OS revision (e.g. "10.4"). An example follows this code.
#
SDKPREFIX := /Developer/SDKs/MacOSX
SDKS := $(wildcard $(SDKPREFIX)*.sdk)
SDKVERSIONS := $(patsubst $(SDKPREFIX)%.sdk,%,$(SDKS))
GOOD_SDKS := $(filter-out 10.1%,$(filter-out 10.2%,$(filter-out 10.3%,$(filter-out 10.4%,$(SDKVERSIONS)))))
#
PREFERRED_SDK := $(word 1, $(sort $(GOOD_SDKS)))
PREFERRED_MINVERSION := $(patsubst %u,%,$(PREFERRED_SDK))
#
# Example: to set your own values, uncomment and adjust:
# PREFERRED_SDK := 10.4u
# PREFERRED_MINVERSION := 10.4
SDKFLAGS = -isysroot /Developer/SDKs/MacOSX$(PREFERRED_SDK).sdk -mmacosx-version-min=$(PREFERRED_MINVERSION)
# Our default is to try to build for all available architectures in a
# universal binary.
#
ARCHFLAGS = $(SDKFLAGS) -arch i386 -arch x86_64 -arch ppc
# Compile flags
#
CFLAGS = $(ARCHFLAGS) -fPIC
CXXFLAGS = $(ARCHFLAGS) -O2 -Wall -I. -fPIC
# Link flags common to all link targets
#
LDFLAGS = $(ARCHFLAGS)
# ar, ranlib
#
AR = ar
RANLIB = ranlib
RM_F = rm -f
# Libraries required for the plugins.
#
PLUGIN_LIBS = ./libvamp-sdk.a
# File extension for a dynamically loadable object
#
PLUGIN_EXT = .dylib
# Libraries required for the host.
#
HOST_LIBS = ./libvamp-hostsdk.a -lsndfile -ldl
# Libraries required for the RDF template generator.
#
RDFGEN_LIBS = ./libvamp-hostsdk.a -ldl
# Flags required to tell the compiler to create a dynamically loadable object
#
DYNAMIC_LDFLAGS = $(ARCHFLAGS) -dynamiclib
# Flags for building specific plugin and library targets. We need to
# tell the linker the formal name for the library, and for plugins we
# also want to tell the linker to make all symbols in the library
# hidden except for the public entry point (making for a tidier library).
#
PLUGIN_LDFLAGS = $(DYNAMIC_LDFLAGS) \
-install_name vamp-example-plugins.dylib \
-exported_symbols_list build/vamp-plugin.list
SDK_DYNAMIC_LDFLAGS = $(DYNAMIC_LDFLAGS) -install_name libvamp-sdk.dylib
HOSTSDK_DYNAMIC_LDFLAGS = $(DYNAMIC_LDFLAGS) -install_name libvamp-hostsdk.dylib
### End of user-serviceable parts
API_HEADERS = \
$(APIDIR)/vamp.h
SDK_HEADERS = \
$(SDKDIR)/Plugin.h \
$(SDKDIR)/PluginAdapter.h \
$(SDKDIR)/PluginBase.h \
$(SDKDIR)/RealTime.h \
$(SDKDIR)/FFT.h \
$(SDKDIR)/plugguard.h \
$(SDKDIR)/vamp-sdk.h
HOSTSDK_HEADERS = \
$(HOSTSDKDIR)/Plugin.h \
$(HOSTSDKDIR)/PluginBase.h \
$(HOSTSDKDIR)/PluginHostAdapter.h \
$(HOSTSDKDIR)/RealTime.h \
$(HOSTSDKDIR)/PluginBufferingAdapter.h \
$(HOSTSDKDIR)/PluginChannelAdapter.h \
$(HOSTSDKDIR)/PluginInputDomainAdapter.h \
$(HOSTSDKDIR)/PluginLoader.h \
$(HOSTSDKDIR)/PluginSummarisingAdapter.h \
$(HOSTSDKDIR)/PluginWrapper.h \
$(HOSTSDKDIR)/hostguard.h \
$(HOSTSDKDIR)/vamp-hostsdk.h
SDK_OBJECTS = \
$(SDKSRCDIR)/PluginAdapter.o \
$(SDKSRCDIR)/RealTime.o \
$(SDKSRCDIR)/FFT.o \
$(SDKSRCDIR)/acsymbols.o
HOSTSDK_OBJECTS = \
$(HOSTSDKSRCDIR)/PluginHostAdapter.o \
$(HOSTSDKSRCDIR)/RealTime.o \
$(HOSTSDKSRCDIR)/PluginBufferingAdapter.o \
$(HOSTSDKSRCDIR)/PluginChannelAdapter.o \
$(HOSTSDKSRCDIR)/PluginInputDomainAdapter.o \
$(HOSTSDKSRCDIR)/PluginLoader.o \
$(HOSTSDKSRCDIR)/PluginSummarisingAdapter.o \
$(HOSTSDKSRCDIR)/PluginWrapper.o \
$(HOSTSDKSRCDIR)/acsymbols.o
SDK_STATIC = \
./libvamp-sdk.a
HOSTSDK_STATIC = \
./libvamp-hostsdk.a
SDK_DYNAMIC = \
./libvamp-sdk$(PLUGIN_EXT)
HOSTSDK_DYNAMIC = \
./libvamp-hostsdk$(PLUGIN_EXT)
SDK_LA = \
$(LADIR)/libvamp-sdk.la
HOSTSDK_LA = \
$(LADIR)/libvamp-hostsdk.la
PLUGIN_HEADERS = \
$(EXAMPLEDIR)/SpectralCentroid.h \
$(EXAMPLEDIR)/PowerSpectrum.h \
$(EXAMPLEDIR)/PercussionOnsetDetector.h \
$(EXAMPLEDIR)/FixedTempoEstimator.h \
$(EXAMPLEDIR)/AmplitudeFollower.h \
$(EXAMPLEDIR)/ZeroCrossing.h
PLUGIN_OBJECTS = \
$(EXAMPLEDIR)/SpectralCentroid.o \
$(EXAMPLEDIR)/PowerSpectrum.o \
$(EXAMPLEDIR)/PercussionOnsetDetector.o \
$(EXAMPLEDIR)/FixedTempoEstimator.o \
$(EXAMPLEDIR)/AmplitudeFollower.o \
$(EXAMPLEDIR)/ZeroCrossing.o \
$(EXAMPLEDIR)/plugins.o
PLUGIN_TARGET = \
$(EXAMPLEDIR)/vamp-example-plugins$(PLUGIN_EXT)
HOST_HEADERS = \
$(HOSTDIR)/system.h
HOST_OBJECTS = \
$(HOSTDIR)/vamp-simple-host.o
HOST_TARGET = \
$(HOSTDIR)/vamp-simple-host
RDFGEN_OBJECTS = \
$(RDFGENDIR)/vamp-rdf-template-generator.o
RDFGEN_TARGET = \
$(RDFGENDIR)/vamp-rdf-template-generator
show:
@echo " *** Found available SDK versions: $(SDKVERSIONS)"
@test -n "$(PREFERRED_SDK)" || ( echo "Error: Failed to establish preferred SDK version, please ensure at least one Developer SDK is installed" ; exit 1 )
@test -n "$(PREFERRED_MINVERSION)" || ( echo "Error: Failed to establish preferred minimum OS version" ; exit 1 )
@echo " *** Default SDK is $(PREFERRED_SDK) for minimum OS/X version $(PREFERRED_MINVERSION)"
sdk: show sdkstatic $(SDK_DYNAMIC) $(HOSTSDK_DYNAMIC)
sdkstatic: $(SDK_STATIC) $(HOSTSDK_STATIC)
$(RANLIB) $(SDK_STATIC)
$(RANLIB) $(HOSTSDK_STATIC)
plugins: $(PLUGIN_TARGET)
host: $(HOST_TARGET)
rdfgen: $(RDFGEN_TARGET)
all: sdk plugins host rdfgen test
$(SDK_STATIC): $(SDK_OBJECTS) $(API_HEADERS) $(SDK_HEADERS)
$(RM_F) $@
$(AR) r $@ $(SDK_OBJECTS)
$(HOSTSDK_STATIC): $(HOSTSDK_OBJECTS) $(API_HEADERS) $(HOSTSDK_HEADERS)
$(RM_F) $@
$(AR) r $@ $(HOSTSDK_OBJECTS)
$(SDK_DYNAMIC): $(SDK_OBJECTS) $(API_HEADERS) $(SDK_HEADERS)
$(CXX) $(LDFLAGS) $(SDK_DYNAMIC_LDFLAGS) -o $@ $(SDK_OBJECTS)
$(HOSTSDK_DYNAMIC): $(HOSTSDK_OBJECTS) $(API_HEADERS) $(HOSTSDK_HEADERS)
$(CXX) $(LDFLAGS) $(HOSTSDK_DYNAMIC_LDFLAGS) -o $@ $(HOSTSDK_OBJECTS)
$(PLUGIN_TARGET): $(PLUGIN_OBJECTS) $(SDK_STATIC) $(PLUGIN_HEADERS)
$(CXX) $(LDFLAGS) $(PLUGIN_LDFLAGS) -o $@ $(PLUGIN_OBJECTS) $(PLUGIN_LIBS)
$(HOST_TARGET): $(HOST_OBJECTS) $(HOSTSDK_STATIC) $(HOST_HEADERS)
$(CXX) $(LDFLAGS) $(HOST_LDFLAGS) -o $@ $(HOST_OBJECTS) $(HOST_LIBS)
$(RDFGEN_TARGET): $(RDFGEN_OBJECTS) $(HOSTSDK_STATIC)
$(CXX) $(LDFLAGS) $(RDFGEN_LDFLAGS) -o $@ $(RDFGEN_OBJECTS) $(RDFGEN_LIBS)
test: plugins host
VAMP_PATH=$(EXAMPLEDIR) $(HOST_TARGET) -l
clean:
rm -f $(SDK_OBJECTS) $(HOSTSDK_OBJECTS) $(PLUGIN_OBJECTS) $(HOST_OBJECTS) $(RDFGEN_OBJECTS)
distclean: clean
rm -f $(SDK_STATIC) $(SDK_DYNAMIC) $(HOSTSDK_STATIC) $(HOSTSDK_DYNAMIC) $(PLUGIN_TARGET) $(HOST_TARGET) $(RDFGEN_TARGET) *~ */*~
# DO NOT DELETE
examples/AmplitudeFollower.o: examples/AmplitudeFollower.h vamp-sdk/Plugin.h
examples/AmplitudeFollower.o: vamp-sdk/PluginBase.h vamp-sdk/plugguard.h
examples/AmplitudeFollower.o: vamp-sdk/RealTime.h
examples/FixedTempoEstimator.o: examples/FixedTempoEstimator.h
examples/FixedTempoEstimator.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h
examples/FixedTempoEstimator.o: vamp-sdk/plugguard.h vamp-sdk/RealTime.h
examples/PercussionOnsetDetector.o: examples/PercussionOnsetDetector.h
examples/PercussionOnsetDetector.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h
examples/PercussionOnsetDetector.o: vamp-sdk/plugguard.h vamp-sdk/RealTime.h
examples/SpectralCentroid.o: examples/SpectralCentroid.h vamp-sdk/Plugin.h
examples/SpectralCentroid.o: vamp-sdk/PluginBase.h vamp-sdk/plugguard.h
examples/SpectralCentroid.o: vamp-sdk/RealTime.h
examples/PowerSpectrum.o: examples/PowerSpectrum.h vamp-sdk/Plugin.h
examples/PowerSpectrum.o: vamp-sdk/PluginBase.h vamp-sdk/plugguard.h
examples/PowerSpectrum.o: vamp-sdk/RealTime.h
examples/ZeroCrossing.o: examples/ZeroCrossing.h vamp-sdk/Plugin.h
examples/ZeroCrossing.o: vamp-sdk/PluginBase.h vamp-sdk/plugguard.h
examples/ZeroCrossing.o: vamp-sdk/RealTime.h
examples/plugins.o: vamp/vamp.h vamp-sdk/PluginAdapter.h vamp-sdk/Plugin.h
examples/plugins.o: vamp-sdk/PluginBase.h vamp-sdk/plugguard.h
examples/plugins.o: vamp-sdk/RealTime.h examples/ZeroCrossing.h
examples/plugins.o: vamp-sdk/Plugin.h examples/SpectralCentroid.h
examples/plugins.o: examples/PercussionOnsetDetector.h examples/PowerSpectrum.h
examples/plugins.o: examples/FixedTempoEstimator.h
examples/plugins.o: examples/AmplitudeFollower.h
host/vamp-simple-host.o: ./vamp-hostsdk/PluginHostAdapter.h vamp/vamp.h
host/vamp-simple-host.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h
host/vamp-simple-host.o: vamp-sdk/plugguard.h vamp-sdk/RealTime.h
host/vamp-simple-host.o: ./vamp-hostsdk/PluginInputDomainAdapter.h
host/vamp-simple-host.o: ./vamp-hostsdk/PluginWrapper.h
host/vamp-simple-host.o: ./vamp-hostsdk/Plugin.h ./vamp-hostsdk/hostguard.h
host/vamp-simple-host.o: vamp-sdk/Plugin.h
host/vamp-simple-host.o: ./vamp-hostsdk/PluginLoader.h host/system.h
rdf/generator/vamp-rdf-template-generator.o: ./vamp-hostsdk/PluginHostAdapter.h
rdf/generator/vamp-rdf-template-generator.o: vamp/vamp.h vamp-sdk/Plugin.h
rdf/generator/vamp-rdf-template-generator.o: vamp-sdk/PluginBase.h
rdf/generator/vamp-rdf-template-generator.o: vamp-sdk/plugguard.h vamp-sdk/RealTime.h
rdf/generator/vamp-rdf-template-generator.o: ./vamp-hostsdk/PluginChannelAdapter.h
rdf/generator/vamp-rdf-template-generator.o: ./vamp-hostsdk/PluginWrapper.h
rdf/generator/vamp-rdf-template-generator.o: ./vamp-hostsdk/Plugin.h
rdf/generator/vamp-rdf-template-generator.o: ./vamp-hostsdk/hostguard.h
rdf/generator/vamp-rdf-template-generator.o: vamp-sdk/Plugin.h
rdf/generator/vamp-rdf-template-generator.o: ./vamp-hostsdk/PluginInputDomainAdapter.h
rdf/generator/vamp-rdf-template-generator.o: ./vamp-hostsdk/PluginLoader.h
src/vamp-hostsdk/PluginHostAdapter.o: ./vamp-hostsdk/PluginHostAdapter.h
src/vamp-hostsdk/PluginHostAdapter.o: vamp/vamp.h vamp-sdk/Plugin.h
src/vamp-hostsdk/PluginHostAdapter.o: vamp-sdk/PluginBase.h
src/vamp-hostsdk/PluginHostAdapter.o: vamp-sdk/plugguard.h
src/vamp-hostsdk/PluginHostAdapter.o: vamp-sdk/RealTime.h
src/vamp-hostsdk/RealTime.o: src/vamp-sdk/RealTime.cpp ./vamp-sdk/RealTime.h
src/vamp-hostsdk/RealTime.o: vamp-sdk/plugguard.h
src/vamp-sdk/PluginAdapter.o: vamp-sdk/PluginAdapter.h vamp/vamp.h
src/vamp-sdk/PluginAdapter.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h
src/vamp-sdk/PluginAdapter.o: vamp-sdk/plugguard.h vamp-sdk/RealTime.h
src/vamp-sdk/RealTime.o: ./vamp-sdk/RealTime.h vamp-sdk/plugguard.h
src/vamp-hostsdk/PluginBufferingAdapter.o: ./vamp-hostsdk/PluginBufferingAdapter.h
src/vamp-hostsdk/PluginBufferingAdapter.o: ./vamp-hostsdk/PluginWrapper.h
src/vamp-hostsdk/PluginBufferingAdapter.o: ./vamp-hostsdk/Plugin.h
src/vamp-hostsdk/PluginBufferingAdapter.o: ./vamp-hostsdk/hostguard.h
src/vamp-hostsdk/PluginBufferingAdapter.o: vamp-sdk/Plugin.h
src/vamp-hostsdk/PluginBufferingAdapter.o: vamp-sdk/PluginBase.h
src/vamp-hostsdk/PluginBufferingAdapter.o: vamp-sdk/plugguard.h
src/vamp-hostsdk/PluginBufferingAdapter.o: vamp-sdk/RealTime.h
src/vamp-hostsdk/PluginChannelAdapter.o: ./vamp-hostsdk/PluginChannelAdapter.h
src/vamp-hostsdk/PluginChannelAdapter.o: ./vamp-hostsdk/PluginWrapper.h
src/vamp-hostsdk/PluginChannelAdapter.o: ./vamp-hostsdk/Plugin.h
src/vamp-hostsdk/PluginChannelAdapter.o: ./vamp-hostsdk/hostguard.h
src/vamp-hostsdk/PluginChannelAdapter.o: vamp-sdk/Plugin.h
src/vamp-hostsdk/PluginChannelAdapter.o: vamp-sdk/PluginBase.h
src/vamp-hostsdk/PluginChannelAdapter.o: vamp-sdk/plugguard.h
src/vamp-hostsdk/PluginChannelAdapter.o: vamp-sdk/RealTime.h
src/vamp-hostsdk/PluginInputDomainAdapter.o: ./vamp-hostsdk/PluginInputDomainAdapter.h
src/vamp-hostsdk/PluginInputDomainAdapter.o: ./vamp-hostsdk/PluginWrapper.h
src/vamp-hostsdk/PluginInputDomainAdapter.o: ./vamp-hostsdk/Plugin.h
src/vamp-hostsdk/PluginInputDomainAdapter.o: ./vamp-hostsdk/hostguard.h
src/vamp-hostsdk/PluginInputDomainAdapter.o: vamp-sdk/Plugin.h
src/vamp-hostsdk/PluginInputDomainAdapter.o: vamp-sdk/PluginBase.h
src/vamp-hostsdk/PluginInputDomainAdapter.o: vamp-sdk/plugguard.h
src/vamp-hostsdk/PluginInputDomainAdapter.o: vamp-sdk/RealTime.h
src/vamp-hostsdk/PluginLoader.o: ./vamp-hostsdk/PluginHostAdapter.h
src/vamp-hostsdk/PluginLoader.o: vamp/vamp.h vamp-sdk/Plugin.h
src/vamp-hostsdk/PluginLoader.o: vamp-sdk/PluginBase.h
src/vamp-hostsdk/PluginLoader.o: vamp-sdk/plugguard.h
src/vamp-hostsdk/PluginLoader.o: vamp-sdk/RealTime.h
src/vamp-hostsdk/PluginLoader.o: ./vamp-hostsdk/PluginLoader.h
src/vamp-hostsdk/PluginLoader.o: ./vamp-hostsdk/PluginWrapper.h
src/vamp-hostsdk/PluginLoader.o: ./vamp-hostsdk/Plugin.h
src/vamp-hostsdk/PluginLoader.o: ./vamp-hostsdk/hostguard.h
src/vamp-hostsdk/PluginLoader.o: vamp-sdk/Plugin.h
src/vamp-hostsdk/PluginLoader.o: ./vamp-hostsdk/PluginInputDomainAdapter.h
src/vamp-hostsdk/PluginLoader.o: ./vamp-hostsdk/PluginChannelAdapter.h
src/vamp-hostsdk/PluginLoader.o: ./vamp-hostsdk/PluginBufferingAdapter.h
src/vamp-hostsdk/PluginSummarisingAdapter.o: ./vamp-hostsdk/PluginSummarisingAdapter.h
src/vamp-hostsdk/PluginSummarisingAdapter.o: ./vamp-hostsdk/PluginWrapper.h
src/vamp-hostsdk/PluginSummarisingAdapter.o: ./vamp-hostsdk/Plugin.h
src/vamp-hostsdk/PluginSummarisingAdapter.o: ./vamp-hostsdk/hostguard.h
src/vamp-hostsdk/PluginSummarisingAdapter.o: vamp-sdk/Plugin.h
src/vamp-hostsdk/PluginSummarisingAdapter.o: vamp-sdk/PluginBase.h
src/vamp-hostsdk/PluginSummarisingAdapter.o: vamp-sdk/plugguard.h
src/vamp-hostsdk/PluginSummarisingAdapter.o: vamp-sdk/RealTime.h
src/vamp-hostsdk/PluginWrapper.o: ./vamp-hostsdk/PluginWrapper.h
src/vamp-hostsdk/PluginWrapper.o: ./vamp-hostsdk/Plugin.h
src/vamp-hostsdk/PluginWrapper.o: ./vamp-hostsdk/hostguard.h
src/vamp-hostsdk/PluginWrapper.o: vamp-sdk/Plugin.h
src/vamp-hostsdk/PluginWrapper.o: vamp-sdk/PluginBase.h
src/vamp-hostsdk/PluginWrapper.o: vamp-sdk/plugguard.h
src/vamp-hostsdk/PluginWrapper.o: vamp-sdk/RealTime.h

View File

@@ -62,3 +62,13 @@ build/vamp-plugin.map. There are other methods that will work too,
but this one is simple and has the advantage of requiring no changes
to the code.
Test Your Plugins
-----------------
The Vamp Plugin Tester is a vital utility which you can use to test
your plugins for common problems. It can help you if you're having
problems getting your plugin to work at all, and you're strongly
advised to use it before you release anything. Download it from the
Vamp plugins site now!

View File

@@ -78,3 +78,13 @@ Using MinGW/Cygwin
Refer to README.linux for build instructions using the GNU toolchain.
Test Your Plugins
-----------------
The Vamp Plugin Tester is a vital utility which you can use to test
your plugins for common problems. It can help you if you're having
problems getting your plugin to work at all, and you're strongly
advised to use it before you release anything. Download it from the
Vamp plugins site now!

View File

@@ -2,25 +2,40 @@
The Vamp Plugin SDK -- Platform Notes for OS/X
==============================================
Prerequisites
-------------
You must have Xcode installed, with the command-line build tools.
(If you are using Xcode 4, you may have to go to Preferences ->
Downloads -> Components and install the Command Line Tools component.)
You must have libsndfile (http://www.mega-nerd.com/libsndfile/)
installed in order to build the command-line host successfully. But
you do not need libsndfile if you only want to build plugins.
Building at the command line
----------------------------
To build the SDK, example plugins, and command-line host:
$ make -f Makefile.osx
$ make -f build/Makefile.osx
You must have libsndfile (http://www.mega-nerd.com/libsndfile/)
installed in order to build the command-line host successfully. To
build only the SDK and examples:
To build only the SDK and example plugins (for example if you do not
have libsndfile installed):
$ make -f Makefile.osx sdk examples
$ make -f build/Makefile.osx sdk examples
See the comments at the top of Makefile.osx for more information about
the libraries and other targets that are built in this way.
If you are using an IDE, you may prefer to simply add the vamp-sdk and
src/vamp-sdk (for plugins) or vamp-hostsdk and src/vamp-hostsdk (for
hosts) directories to your existing project.
If you are using an IDE such as Xcode, you may prefer to simply add
the vamp-sdk and src/vamp-sdk (for plugins) or vamp-hostsdk and
src/vamp-hostsdk (for hosts) directories to your existing project.
If you are using OS/X 10.6 or older, use Makefile.osx.106 instead of
Makefile.osx.
Installing the Example Plugins
@@ -42,8 +57,14 @@ or
Plugin Linkage
--------------
Vamp plugins are distributed as dynamic libraries (.dylib). A
well-packaged Vamp plugin library should export exactly one public
Vamp plugins are distributed as dynamic libraries (.dylib). An OS/X
dynamic library has a formal installed name, which is recorded in the
library's header: you will need to ensure that this matches the
plugin's filename (e.g. vamp-example-plugins.dylib) by using the
-install_name <name> option at link time. The Makefile.osx provided
with the SDK contains an example of this.
A well-packaged Vamp plugin library should export exactly one public
symbol, namely the Vamp API entry point vampGetPluginDescriptor.
The default for the OS/X linker is to export all of the symbols in the
@@ -68,3 +89,13 @@ build/vamp-plugin.list. There are other methods that will work too,
but this one is simple and has the advantage of requiring no changes
to the code.
Test Your Plugins
-----------------
The Vamp Plugin Tester is a vital utility which you can use to test
your plugins for common problems. It can help you if you're having
problems getting your plugin to work at all, and you're strongly
advised to use it before you release anything. Download it from the
Vamp plugins site now!

View File

@@ -0,0 +1,20 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual C++ Express 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VampExamplePlugins", "VampExamplePlugins.vcxproj", "{B3D1F5A4-4571-4D20-B184-8ACD03D6C97A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{B3D1F5A4-4571-4D20-B184-8ACD03D6C97A}.Debug|Win32.ActiveCfg = Debug|Win32
{B3D1F5A4-4571-4D20-B184-8ACD03D6C97A}.Debug|Win32.Build.0 = Debug|Win32
{B3D1F5A4-4571-4D20-B184-8ACD03D6C97A}.Release|Win32.ActiveCfg = Release|Win32
{B3D1F5A4-4571-4D20-B184-8ACD03D6C97A}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,114 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{B3D1F5A4-4571-4D20-B184-8ACD03D6C97A}</ProjectGuid>
<RootNamespace>VampExamplePlugins</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>$(ProjectDir)/..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;VAMPEXAMPLEPLUGINS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalOptions>/EXPORT:vampGetPluginDescriptor %(AdditionalOptions)</AdditionalOptions>
<OutputFile>$(OutDir)vamp-example-plugins.dll</OutputFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>$(ProjectDir)/..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;VAMPEXAMPLEPLUGINS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalOptions>/EXPORT:vampGetPluginDescriptor %(AdditionalOptions)</AdditionalOptions>
<OutputFile>$(OutDir)vamp-example-plugins.dll</OutputFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="..\examples\AmplitudeFollower.h" />
<ClInclude Include="..\examples\FixedTempoEstimator.h" />
<ClInclude Include="..\examples\PercussionOnsetDetector.h" />
<ClInclude Include="..\vamp-sdk\plugguard.h" />
<ClInclude Include="..\vamp-sdk\Plugin.h" />
<ClInclude Include="..\vamp-sdk\PluginAdapter.h" />
<ClInclude Include="..\vamp-sdk\PluginBase.h" />
<ClInclude Include="..\vamp-sdk\RealTime.h" />
<ClInclude Include="..\examples\SpectralCentroid.h" />
<ClInclude Include="..\examples\PowerSpectrum.h" />
<ClInclude Include="..\examples\ZeroCrossing.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\examples\AmplitudeFollower.cpp" />
<ClCompile Include="..\examples\FixedTempoEstimator.cpp" />
<ClCompile Include="..\examples\PercussionOnsetDetector.cpp" />
<ClCompile Include="..\src\vamp-sdk\PluginAdapter.cpp" />
<ClCompile Include="..\examples\plugins.cpp" />
<ClCompile Include="..\src\vamp-sdk\RealTime.cpp" />
<ClCompile Include="..\examples\SpectralCentroid.cpp" />
<ClCompile Include="..\examples\PowerSpectrum.cpp" />
<ClCompile Include="..\examples\ZeroCrossing.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,20 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual C++ Express 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VampHostSDK", "VampHostSDK.vcxproj", "{3875EF8B-14E8-4825-B2C1-A8B869C336F5}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{3875EF8B-14E8-4825-B2C1-A8B869C336F5}.Debug|Win32.ActiveCfg = Debug|Win32
{3875EF8B-14E8-4825-B2C1-A8B869C336F5}.Debug|Win32.Build.0 = Debug|Win32
{3875EF8B-14E8-4825-B2C1-A8B869C336F5}.Release|Win32.ActiveCfg = Release|Win32
{3875EF8B-14E8-4825-B2C1-A8B869C336F5}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9.00"
@@ -41,7 +41,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".."
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_USE_MATH_DEFINES"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"

View File

@@ -0,0 +1,94 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{3875EF8B-14E8-4825-B2C1-A8B869C336F5}</ProjectGuid>
<RootNamespace>VampHostSDK</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_USE_MATH_DEFINES;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level2</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="..\vamp-hostsdk\hostguard.h" />
<ClInclude Include="..\vamp-hostsdk\Plugin.h" />
<ClInclude Include="..\vamp-hostsdk\PluginBase.h" />
<ClInclude Include="..\vamp-hostsdk\PluginBufferingAdapter.h" />
<ClInclude Include="..\vamp-hostsdk\PluginChannelAdapter.h" />
<ClInclude Include="..\vamp-hostsdk\PluginHostAdapter.h" />
<ClInclude Include="..\vamp-hostsdk\PluginInputDomainAdapter.h" />
<ClInclude Include="..\vamp-hostsdk\PluginLoader.h" />
<ClInclude Include="..\vamp-hostsdk\PluginSummarisingAdapter.h" />
<ClInclude Include="..\vamp-hostsdk\PluginWrapper.h" />
<ClInclude Include="..\vamp-hostsdk\RealTime.h" />
<ClInclude Include="..\vamp-hostsdk\vamp-hostsdk.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\src\vamp-hostsdk\PluginBufferingAdapter.cpp" />
<ClCompile Include="..\src\vamp-hostsdk\PluginChannelAdapter.cpp" />
<ClCompile Include="..\src\vamp-hostsdk\PluginHostAdapter.cpp" />
<ClCompile Include="..\src\vamp-hostsdk\PluginInputDomainAdapter.cpp" />
<ClCompile Include="..\src\vamp-hostsdk\PluginLoader.cpp" />
<ClCompile Include="..\src\vamp-hostsdk\PluginSummarisingAdapter.cpp" />
<ClCompile Include="..\src\vamp-hostsdk\PluginWrapper.cpp" />
<ClCompile Include="..\src\vamp-hostsdk\RealTime.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,20 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual C++ Express 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VampPluginSDK", "VampPluginSDK.vcxproj", "{65EFA7D7-C3CE-4D29-BE96-E27F2B5979A5}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{65EFA7D7-C3CE-4D29-BE96-E27F2B5979A5}.Debug|Win32.ActiveCfg = Debug|Win32
{65EFA7D7-C3CE-4D29-BE96-E27F2B5979A5}.Debug|Win32.Build.0 = Debug|Win32
{65EFA7D7-C3CE-4D29-BE96-E27F2B5979A5}.Release|Win32.ActiveCfg = Release|Win32
{65EFA7D7-C3CE-4D29-BE96-E27F2B5979A5}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9.00"
@@ -41,7 +41,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".."
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_USE_MATH_DEFINES"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -102,7 +102,7 @@
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=".."
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_USE_MATH_DEFINES"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="2"
@@ -162,6 +162,10 @@
RelativePath="..\vamp-sdk\PluginBase.h"
>
</File>
<File
RelativePath="..\vamp-sdk\FFT.h"
>
</File>
<File
RelativePath="..\vamp-sdk\RealTime.h"
>
@@ -186,6 +190,10 @@
RelativePath="..\src\vamp-sdk\PluginAdapter.cpp"
>
</File>
<File
RelativePath="..\src\vamp-sdk\FFT.cpp"
>
</File>
<File
RelativePath="..\src\vamp-sdk\RealTime.cpp"
>

View File

@@ -0,0 +1,84 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{65EFA7D7-C3CE-4D29-BE96-E27F2B5979A5}</ProjectGuid>
<RootNamespace>VampPluginSDK</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_USE_MATH_DEFINES;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level2</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="..\vamp-sdk\plugguard.h" />
<ClInclude Include="..\vamp-sdk\Plugin.h" />
<ClInclude Include="..\vamp-sdk\PluginAdapter.h" />
<ClInclude Include="..\vamp-sdk\PluginBase.h" />
<ClInclude Include="..\vamp-sdk\FFT.h" />
<ClInclude Include="..\vamp-sdk\RealTime.h" />
<ClInclude Include="..\vamp-sdk\vamp-sdk.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\src\vamp-sdk\PluginAdapter.cpp" />
<ClCompile Include="..\src\vamp-sdk\FFT.cpp" />
<ClCompile Include="..\src\vamp-sdk\RealTime.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -3,7 +3,7 @@ library_names='%LIBNAME% %LINK_ABI% %LINK_DEV%'
old_library='%STATIC%'
dependency_libs=''
current=3
age=0
age=5
revision=0
installed=yes
libdir='%LIBS%'

View File

@@ -3,7 +3,7 @@ library_names='%LIBNAME% %LINK_ABI% %LINK_DEV%'
old_library='%STATIC%'
dependency_libs=''
current=2
age=0
age=5
revision=0
installed=yes
libdir='%LIBS%'

View File

@@ -0,0 +1,117 @@
#!/bin/bash
usage() {
echo "Usage: $0 <version>"
echo " e.g. $0 2.2"
echo " e.g. $0 2.2.1"
exit 2;
}
version=$1
[ -n "$version" ] || usage
major=${version%%.*} # 2.3 -> 2, 2.3.1 -> 2
minor=${version#*.} # 2.3 -> 3, 2.3.1 -> 3.1
minor=${minor%.*} # 3 -> 3, 3.1 -> 3
sdkmajor=$major
sdkminor=$minor
hostmajor=$(($major+1)) # there has been one API change in a minor release
hostminor=$minor
acs="`echo $version | tr '.' '_'`"
echo "Major version = $major, minor version = $minor"
echo "SDK current = $sdkmajor, age = $sdkminor"
echo "Host SDK current = $hostmajor, age = $hostminor"
echo "Version string = $version"
echo "acsymbols string = $acs"
p="perl -i -p -e"
$p 's/(This is version) [^ ]+/$1 '$version'/' \
README
$p 's/(AC_INIT\(vamp-plugin-sdk,) [^,]+,/$1 '$version',/' \
configure.ac
$p 's/(INSTALL_SDK_LIBNAME\s*=\s*libvamp-sdk.so).*/$1.'$sdkmajor'.'$sdkminor'.0/' \
Makefile.in
$p 's/(INSTALL_SDK_LINK_ABI\s*=\s*libvamp-sdk.so).*/$1.'$sdkmajor'/' \
Makefile.in
$p 's/(current)=.*/$1='$sdkmajor'/' \
build/libvamp-sdk.la.in
$p 's/(age)=.*/$1='$sdkminor'/' \
build/libvamp-sdk.la.in
$p 's/(INSTALL_HOSTSDK_LIBNAME\s*=\s*libvamp-hostsdk.so).*/$1.'$hostmajor'.'$hostminor'.0/' \
Makefile.in
$p 's/(INSTALL_HOSTSDK_LINK_ABI\s*=\s*libvamp-hostsdk.so).*/$1.'$hostmajor'/' \
Makefile.in
$p 's/(current)=.*/$1='$hostmajor'/' \
build/libvamp-hostsdk.la.in
$p 's/(age)=.*/$1='$hostminor'/' \
build/libvamp-hostsdk.la.in
$p 's/(PROJECT_NUMBER[^=]*)=.*/$1= '$version'/' \
build/Doxyfile
$p 's/(VAMP_API_VERSION).*/$1 '$major'/' \
vamp/vamp.h
$p 's/(VAMP_SDK_VERSION) +"[^"]*"/$1 "'$version'"/' \
vamp-sdk/plugguard.h
$p 's/(VAMP_SDK_MAJOR_VERSION).*/$1 '$major'/' \
vamp-sdk/plugguard.h
$p 's/(VAMP_SDK_MINOR_VERSION).*/$1 '$minor'/' \
vamp-sdk/plugguard.h
$p 's/(VAMP_SDK_VERSION) +"[^"]*"/$1 "'$version'"/' \
vamp-hostsdk/hostguard.h
$p 's/(VAMP_SDK_MAJOR_VERSION).*/$1 '$major'/' \
vamp-hostsdk/hostguard.h
$p 's/(VAMP_SDK_MINOR_VERSION).*/$1 '$minor'/' \
vamp-hostsdk/hostguard.h
$p 's/(VAMP_SDK_MAJOR_VERSION !=) [\d\.]+/$1 '$major'/' \
src/vamp-sdk/FFT.cpp
$p 's/(VAMP_SDK_MINOR_VERSION !=) [\d\.]+/$1 '$minor'/' \
src/vamp-sdk/FFT.cpp
$p 's/(VAMP_SDK_MAJOR_VERSION !=) [\d\.]+/$1 '$major'/' \
src/vamp-sdk/PluginAdapter.cpp
$p 's/(VAMP_SDK_MINOR_VERSION !=) [\d\.]+/$1 '$minor'/' \
src/vamp-sdk/PluginAdapter.cpp
$p 's/(VAMP_SDK_MAJOR_VERSION !=) [\d\.]+/$1 '$major'/' \
src/vamp-hostsdk/PluginHostAdapter.cpp
$p 's/(VAMP_SDK_MINOR_VERSION !=) [\d\.]+/$1 '$minor'/' \
src/vamp-hostsdk/PluginHostAdapter.cpp
for pc in pkgconfig/*.pc.in ; do
$p 's/(Version:) .*/$1 '$version'/' $pc
done
fgrep -q 'libvampsdk_v_'$acs'_present' src/vamp-sdk/acsymbols.c || \
$p 's/^$/\nextern void libvampsdk_v_'$acs'_present(void) { }/' \
src/vamp-sdk/acsymbols.c
fgrep -q 'libvamphostsdk_v_'$acs'_present' src/vamp-hostsdk/acsymbols.c || \
$p 's/^$/\nextern void libvamphostsdk_v_'$acs'_present(void) { }/' \
src/vamp-hostsdk/acsymbols.c
echo "Done, now check with e.g. hg diff -- and don't forget to update CHANGELOG"