Chris@123: import os Chris@123: from setuptools import setup, find_packages, Extension Chris@121: import numpy as np Chris@120: Chris@120: sdkdir = 'vamp-plugin-sdk/src/vamp-hostsdk/' Chris@120: vpydir = 'native/' Chris@120: Chris@120: sdkfiles = [ 'Files', 'PluginBufferingAdapter', 'PluginChannelAdapter', Chris@120: 'PluginHostAdapter', 'PluginInputDomainAdapter', 'PluginLoader', Chris@120: 'PluginSummarisingAdapter', 'PluginWrapper', 'RealTime' ] Chris@120: vpyfiles = [ 'PyPluginObject', 'PyRealTime', 'VectorConversion', 'vampyhost' ] Chris@120: Chris@123: srcfiles = [ Chris@123: sdkdir + f + '.cpp' for f in sdkfiles Chris@123: ] + [ Chris@123: vpydir + f + '.cpp' for f in vpyfiles Chris@123: ] Chris@120: Chris@123: def read(*paths): Chris@123: with open(os.path.join(*paths), 'r') as f: Chris@123: return f.read() Chris@123: Chris@120: vampyhost = Extension('vampyhost', Chris@120: sources = srcfiles, Chris@122: define_macros = [ ('_USE_MATH_DEFINES', 1) ], Chris@121: include_dirs = [ 'vamp-plugin-sdk', np.get_include() ]) Chris@120: Chris@120: setup (name = 'vamp', Chris@141: version = '1.1.0', Chris@123: url = 'https://code.soundsoftware.ac.uk/projects/vampy-host', Chris@125: description = 'Use Vamp plugins for audio feature analysis.', Chris@123: long_description = ( read('README.rst') + '\n\n' + read('COPYING.rst') ), Chris@123: license = 'MIT', Chris@123: packages = find_packages(exclude = [ '*test*' ]), Chris@123: ext_modules = [ vampyhost ], Chris@120: requires = [ 'numpy' ], Chris@132: author = 'Chris Cannam, George Fazekas', Chris@132: author_email = 'cannam@all-day-breakfast.com', Chris@123: classifiers = [ Chris@123: 'Development Status :: 4 - Beta', Chris@123: 'Intended Audience :: Science/Research', Chris@123: 'Intended Audience :: Developers', Chris@123: 'License :: OSI Approved :: MIT License', Chris@125: 'Operating System :: MacOS :: MacOS X', Chris@123: 'Operating System :: Microsoft :: Windows', Chris@123: 'Operating System :: POSIX', Chris@123: 'Programming Language :: Python', Chris@123: 'Programming Language :: Python :: 2', Chris@123: 'Programming Language :: Python :: 3', Chris@123: 'Topic :: Multimedia :: Sound/Audio :: Analysis' Chris@123: ] Chris@123: )