annotate src/vamp-hostsdk/Files.h @ 501:90571dcc371a vamp-kiss-naming

Extensively rename things in the KissFFT headers to use a Vamp prefix. The motivation is not to change anything about the Vamp SDK library builds, but to avoid confusion in case any other code (for example that pulls in the Vamp SDK as part of a wider project definition) accidentally includes these headers instead of, or as well as, some other copy of KissFFT.
author Chris Cannam
date Tue, 30 Jan 2018 09:56:46 +0000
parents 0545cd3f1738
children 54277cb679ff
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@473 50
Chris@473 51 struct Filter {
Chris@473 52 enum { All, Matching, NotMatching } type;
Chris@473 53 std::vector<std::string> libraryNames;
Chris@473 54 Filter() : type(All) { }
Chris@473 55 };
Chris@473 56 static std::vector<std::string> listLibraryFilesMatching(Filter);
Chris@390 57
Chris@390 58 static void *loadLibrary(std::string filename);
Chris@390 59 static void unloadLibrary(void *);
Chris@390 60 static void *lookupInLibrary(void *, const char *symbol);
Chris@390 61
Chris@390 62 static std::string lcBasename(std::string path);
Chris@390 63 static std::string splicePath(std::string a, std::string b);
Chris@390 64 static std::vector<std::string> listFiles(std::string dir, std::string ext);
Chris@390 65 };
Chris@390 66
Chris@390 67 #endif
Chris@390 68
Chris@390 69