X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fplugin_manager.h;h=a7a57036905a110d722cea3ee8c4359a8e652843;hb=5bc4e54b7da3eb139d699c6e371d43540c69b519;hp=9ba3d8324e1696d308c933c49b0301da037736b9;hpb=ac367e89043e0a7f0db6ca44edf5edaab27e8091;p=ardour.git diff --git a/libs/ardour/ardour/plugin_manager.h b/libs/ardour/ardour/plugin_manager.h index 9ba3d8324e..a7a5703690 100644 --- a/libs/ardour/ardour/plugin_manager.h +++ b/libs/ardour/ardour/plugin_manager.h @@ -39,10 +39,12 @@ class Plugin; class PluginManager : public boost::noncopyable { public: - PluginManager (); + static PluginManager& instance(); + ~PluginManager (); - ARDOUR::PluginInfoList &vst_plugin_info (); + ARDOUR::PluginInfoList &windows_vst_plugin_info (); + ARDOUR::PluginInfoList &lxvst_plugin_info (); ARDOUR::PluginInfoList &ladspa_plugin_info (); ARDOUR::PluginInfoList &lv2_plugin_info (); ARDOUR::PluginInfoList &au_plugin_info (); @@ -50,9 +52,8 @@ class PluginManager : public boost::noncopyable { void refresh (); int add_ladspa_directory (std::string dirpath); - int add_vst_directory (std::string dirpath); - - static PluginManager* the_manager() { return _manager; } + int add_windows_vst_directory (std::string dirpath); + int add_lxvst_directory (std::string dirpath); enum PluginStatusType { Normal = 0, @@ -94,7 +95,8 @@ class PluginManager : public boost::noncopyable { PluginStatusList statuses; ARDOUR::PluginInfoList _empty_plugin_info; - ARDOUR::PluginInfoList* _vst_plugin_info; + ARDOUR::PluginInfoList* _windows_vst_plugin_info; + ARDOUR::PluginInfoList* _lxvst_plugin_info; ARDOUR::PluginInfoList* _ladspa_plugin_info; ARDOUR::PluginInfoList* _lv2_plugin_info; ARDOUR::PluginInfoList* _au_plugin_info; @@ -102,22 +104,28 @@ class PluginManager : public boost::noncopyable { std::map rdf_type; std::string ladspa_path; - std::string vst_path; + std::string windows_vst_path; + std::string lxvst_path; void ladspa_refresh (); - void vst_refresh (); + void windows_vst_refresh (); + void lxvst_refresh (); void add_lrdf_data (const std::string &path); void add_ladspa_presets (); - void add_vst_presets (); + void add_windows_vst_presets (); + void add_lxvst_presets (); void add_presets (std::string domain); void au_refresh (); void lv2_refresh (); - int vst_discover_from_path (std::string path); - int vst_discover (std::string path); + int windows_vst_discover_from_path (std::string path); + int windows_vst_discover (std::string path); + + int lxvst_discover_from_path (std::string path); + int lxvst_discover (std::string path); int ladspa_discover_from_path (std::string path); int ladspa_discover (std::string path); @@ -125,7 +133,8 @@ class PluginManager : public boost::noncopyable { std::string get_ladspa_category (uint32_t id); std::vector ladspa_plugin_whitelist; - static PluginManager* _manager; // singleton + static PluginManager* _instance; // singleton + PluginManager (); }; } /* namespace ARDOUR */