1 #ifndef __ardour_plugin_manager_h__
2 #define __ardour_plugin_manager_h__
8 #include <boost/shared_ptr.hpp>
10 #include <ardour/types.h>
21 PluginManager (ARDOUR::AudioEngine&);
24 std::list<PluginInfo*> &vst_plugin_info () { return _vst_plugin_info; }
25 std::list<PluginInfo*> &ladspa_plugin_info () { return _ladspa_plugin_info; }
28 int add_ladspa_directory (std::string dirpath);
29 int add_vst_directory (std::string dirpath);
31 boost::shared_ptr<Plugin> load (ARDOUR::Session& s, PluginInfo* info);
33 static PluginManager* the_manager() { return _manager; }
36 ARDOUR::AudioEngine& _engine;
37 std::list<PluginInfo*> _vst_plugin_info;
38 std::list<PluginInfo*> _ladspa_plugin_info;
39 std::map<uint32_t, std::string> rdf_type;
41 std::string ladspa_path;
44 void ladspa_refresh ();
47 void add_lrdf_data (const std::string &path);
48 void add_ladspa_presets ();
49 void add_vst_presets ();
50 void add_presets (std::string domain);
52 int vst_discover_from_path (std::string path);
53 int vst_discover (std::string path);
55 int ladspa_discover_from_path (std::string path);
56 int ladspa_discover (std::string path);
58 std::string get_ladspa_category (uint32_t id);
60 static PluginManager* _manager; // singleton
63 } /* namespace ARDOUR */
65 #endif /* __ardour_plugin_manager_h__ */