1 #ifndef __ardour_plugin_manager_h__
2 #define __ardour_plugin_manager_h__
8 #include <ardour/types.h>
19 PluginManager (ARDOUR::AudioEngine&);
22 std::list<PluginInfo*> &vst_plugin_info () { return _vst_plugin_info; }
23 std::list<PluginInfo*> &ladspa_plugin_info () { return _ladspa_plugin_info; }
26 int add_ladspa_directory (std::string dirpath);
27 int add_vst_directory (std::string dirpath);
29 Plugin *load (ARDOUR::Session& s, PluginInfo* info);
31 static PluginManager* the_manager() { return _manager; }
34 ARDOUR::AudioEngine& _engine;
35 std::list<PluginInfo*> _vst_plugin_info;
36 std::list<PluginInfo*> _ladspa_plugin_info;
37 std::map<uint32_t, std::string> rdf_type;
39 std::string ladspa_path;
42 void ladspa_refresh ();
45 void add_lrdf_data (const std::string &path);
46 void add_ladspa_presets ();
47 void add_vst_presets ();
48 void add_presets (std::string domain);
50 int vst_discover_from_path (std::string path);
51 int vst_discover (std::string path);
53 int ladspa_discover_from_path (std::string path);
54 int ladspa_discover (std::string path);
56 std::string get_ladspa_category (uint32_t id);
58 static PluginManager* _manager; // singleton
61 } /* namespace ARDOUR */
63 #endif /* __ardour_plugin_manager_h__ */