annotate src/vamp-hostsdk/Files.h @ 434:e979a9c4ffb6 vampipe

Switch from Cross FFT with option of FFTW build, to KissFFT only (code bundled). This is much faster than the default build and simpler than managing two options.
author Chris Cannam
date Tue, 16 Aug 2016 16:04:09 +0100
parents 06988ce35ff0
children 0545cd3f1738
rev   line source
Chris@390 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@390 2
Chris@390 3 /*
Chris@390 4 Vamp
Chris@390 5
Chris@390 6 An API for audio analysis and feature extraction plugins.
Chris@390 7
Chris@390 8 Centre for Digital Music, Queen Mary, University of London.
Chris@390 9 Copyright 2006-2015 Chris Cannam and QMUL.
Chris@390 10
Chris@390 11 Permission is hereby granted, free of charge, to any person
Chris@390 12 obtaining a copy of this software and associated documentation
Chris@390 13 files (the "Software"), to deal in the Software without
Chris@390 14 restriction, including without limitation the rights to use, copy,
Chris@390 15 modify, merge, publish, distribute, sublicense, and/or sell copies
Chris@390 16 of the Software, and to permit persons to whom the Software is
Chris@390 17 furnished to do so, subject to the following conditions:
Chris@390 18
Chris@390 19 The above copyright notice and this permission notice shall be
Chris@390 20 included in all copies or substantial portions of the Software.
Chris@390 21
Chris@390 22 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
Chris@390 23 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
Chris@390 24 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
Chris@390 25 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
Chris@390 26 ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
Chris@390 27 CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
Chris@390 28 WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Chris@390 29
Chris@390 30 Except as contained in this notice, the names of the Centre for
Chris@390 31 Digital Music; Queen Mary, University of London; and Chris Cannam
Chris@390 32 shall not be used in advertising or otherwise to promote the sale,
Chris@390 33 use or other dealings in this Software without prior written
Chris@390 34 authorization.
Chris@390 35 */
Chris@390 36
Chris@390 37 #ifndef VAMP_FILES_H
Chris@390 38 #define VAMP_FILES_H
Chris@390 39
Chris@390 40 #include <vector>
Chris@390 41 #include <string>
Chris@390 42
Chris@390 43 /**
Chris@390 44 * This is a private implementation class for the Vamp Host SDK.
Chris@390 45 */
Chris@390 46 class Files
Chris@390 47 {
Chris@390 48 public:
Chris@390 49 static std::vector<std::string> listLibraryFiles();
Chris@390 50 static std::vector<std::string> listLibraryFilesMatching(std::string libname);
Chris@390 51
Chris@390 52 static void *loadLibrary(std::string filename);
Chris@390 53 static void unloadLibrary(void *);
Chris@390 54 static void *lookupInLibrary(void *, const char *symbol);
Chris@390 55
Chris@390 56 static std::string lcBasename(std::string path);
Chris@390 57 static std::string splicePath(std::string a, std::string b);
Chris@390 58 static std::vector<std::string> listFiles(std::string dir, std::string ext);
Chris@390 59 };
Chris@390 60
Chris@390 61 #endif
Chris@390 62
Chris@390 63