00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef PLUGIN_MANAGER_H
00024 #define PLUGIN_MANAGER_H
00025
00026 #if defined (LV2_SUPPORT)
00027 #include <slv2/slv2.h>
00028 #endif
00029
00030 #include <QDomDocument>
00031
00032 class Plugin;
00033
00034 class PluginManager
00035 {
00036
00037 public:
00038 ~PluginManager();
00039
00040 static PluginManager* instance();
00041
00042 Plugin* get_plugin(const QDomNode node);
00043
00044 #if defined (LV2_SUPPORT)
00045 SLV2Plugins get_slv2_plugin_list();
00046 SLV2World get_slv2_world() {return m_slv2World;}
00047 Plugin* create_lv2_plugin(const QString& uri);
00048 #endif
00049
00050 private:
00051 PluginManager();
00052
00053 static PluginManager* m_instance;
00054 #if defined (LV2_SUPPORT)
00055 SLV2World m_slv2World;
00056 SLV2Plugins m_slv2Plugins;
00057 #endif
00058 void init();
00059 };
00060
00061 #endif
00062
00063