annotate plugin/PluginScan.h @ 1241:c6bdf247016a 3.0-integration

Support multiple plugin checker helpers, as for multiple piper servers
author Chris Cannam
date Tue, 01 Nov 2016 14:06:47 +0000
parents 2f628dc9a0b0
children 75aefcc9f07d
rev   line source
Chris@1178 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@1178 2
Chris@1178 3 /*
Chris@1178 4 Sonic Visualiser
Chris@1178 5 An audio file viewer and annotation editor.
Chris@1178 6 Centre for Digital Music, Queen Mary, University of London.
Chris@1178 7
Chris@1178 8 This program is free software; you can redistribute it and/or
Chris@1178 9 modify it under the terms of the GNU General Public License as
Chris@1178 10 published by the Free Software Foundation; either version 2 of the
Chris@1178 11 License, or (at your option) any later version. See the file
Chris@1178 12 COPYING included with this distribution for more information.
Chris@1178 13 */
Chris@1178 14
Chris@1178 15 #ifndef PLUGIN_SCAN_H
Chris@1178 16 #define PLUGIN_SCAN_H
Chris@1178 17
Chris@1178 18 #include <QStringList>
Chris@1241 19 #include <vector>
Chris@1178 20
Chris@1180 21 class KnownPlugins;
Chris@1178 22
Chris@1180 23 class PluginScan
Chris@1178 24 {
Chris@1178 25 public:
Chris@1178 26 static PluginScan *getInstance();
Chris@1178 27
Chris@1241 28 void scan();
Chris@1179 29
Chris@1179 30 bool scanSucceeded() const;
Chris@1178 31
Chris@1180 32 enum PluginType {
Chris@1180 33 VampPlugin,
Chris@1180 34 LADSPAPlugin,
Chris@1180 35 DSSIPlugin
Chris@1180 36 };
Chris@1180 37 QStringList getCandidateLibrariesFor(PluginType) const;
Chris@1178 38
Chris@1178 39 QString getStartupFailureReport() const;
Chris@1178 40
Chris@1178 41 private:
Chris@1178 42 PluginScan();
Chris@1178 43 ~PluginScan();
Chris@1241 44
Chris@1241 45 void clear();
Chris@1241 46
Chris@1241 47 std::vector<KnownPlugins *> m_kp;
Chris@1179 48 bool m_succeeded;
Chris@1180 49
Chris@1180 50 class Logger;
Chris@1180 51 Logger *m_logger;
Chris@1178 52 };
Chris@1178 53
Chris@1178 54 #endif