1 #ifndef __ardour_plugin_manager_h__
2 #define __ardour_plugin_manager_h__
8 #include <boost/shared_ptr.hpp>
10 #include <ardour/types.h>
11 #include <ardour/plugin.h>
12 #include <ardour/audio_unit.h>
23 PluginManager (ARDOUR::AudioEngine&);
26 ARDOUR::PluginInfoList &vst_plugin_info () { return _vst_plugin_info; }
27 ARDOUR::PluginInfoList &ladspa_plugin_info () { return _ladspa_plugin_info; }
28 ARDOUR::PluginInfoList &au_plugin_info () { return _au_plugin_info; }
32 int add_ladspa_directory (std::string dirpath);
33 int add_vst_directory (std::string dirpath);
35 boost::shared_ptr<Plugin> load (ARDOUR::Session& s, PluginInfoPtr info);
37 static PluginManager* the_manager() { return _manager; }
40 ARDOUR::AudioEngine& _engine;
41 ARDOUR::PluginInfoList _vst_plugin_info;
42 ARDOUR::PluginInfoList _ladspa_plugin_info;
43 ARDOUR::PluginInfoList _au_plugin_info;
44 std::map<uint32_t, std::string> rdf_type;
46 std::string ladspa_path;
49 void ladspa_refresh ();
52 void add_lrdf_data (const std::string &path);
53 void add_ladspa_presets ();
54 void add_vst_presets ();
55 void add_presets (std::string domain);
57 int vst_discover_from_path (std::string path);
58 int vst_discover (std::string path);
60 int ladspa_discover_from_path (std::string path);
61 int ladspa_discover (std::string path);
65 std::string get_ladspa_category (uint32_t id);
67 static PluginManager* _manager; // singleton
70 } /* namespace ARDOUR */
72 #endif /* __ardour_plugin_manager_h__ */