Chris@390: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ Chris@390: Chris@390: /* Chris@390: Vamp Chris@390: Chris@390: An API for audio analysis and feature extraction plugins. Chris@390: Chris@390: Centre for Digital Music, Queen Mary, University of London. Chris@390: Copyright 2006-2015 Chris Cannam and QMUL. Chris@390: Chris@390: Permission is hereby granted, free of charge, to any person Chris@390: obtaining a copy of this software and associated documentation Chris@390: files (the "Software"), to deal in the Software without Chris@390: restriction, including without limitation the rights to use, copy, Chris@390: modify, merge, publish, distribute, sublicense, and/or sell copies Chris@390: of the Software, and to permit persons to whom the Software is Chris@390: furnished to do so, subject to the following conditions: Chris@390: Chris@390: The above copyright notice and this permission notice shall be Chris@390: included in all copies or substantial portions of the Software. Chris@390: Chris@390: THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, Chris@390: EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF Chris@390: MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND Chris@390: NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR Chris@390: ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF Chris@390: CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION Chris@390: WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Chris@390: Chris@390: Except as contained in this notice, the names of the Centre for Chris@390: Digital Music; Queen Mary, University of London; and Chris Cannam Chris@390: shall not be used in advertising or otherwise to promote the sale, Chris@390: use or other dealings in this Software without prior written Chris@390: authorization. Chris@390: */ Chris@390: Chris@390: #ifndef VAMP_FILES_H Chris@390: #define VAMP_FILES_H Chris@390: Chris@390: #include Chris@390: #include Chris@390: Chris@390: /** Chris@390: * This is a private implementation class for the Vamp Host SDK. Chris@390: */ Chris@390: class Files Chris@390: { Chris@390: public: Chris@390: static std::vector listLibraryFiles(); Chris@390: static std::vector listLibraryFilesMatching(std::string libname); Chris@390: Chris@390: static void *loadLibrary(std::string filename); Chris@390: static void unloadLibrary(void *); Chris@390: static void *lookupInLibrary(void *, const char *symbol); Chris@390: Chris@390: static std::string lcBasename(std::string path); Chris@390: static std::string splicePath(std::string a, std::string b); Chris@390: static std::vector listFiles(std::string dir, std::string ext); Chris@390: }; Chris@390: Chris@390: #endif Chris@390: Chris@390: