diff options
author | Taybin Rutkin <taybin@taybin.com> | 2005-09-24 19:13:41 +0000 |
---|---|---|
committer | Taybin Rutkin <taybin@taybin.com> | 2005-09-24 19:13:41 +0000 |
commit | 8af0757b61990767f2a85e68f535a5af9976fd79 (patch) | |
tree | f9e06fe12cac866d658a2e7074a61aa74d12f68f /libs/ardour/ardour/plugin_manager.h | |
parent | f9546e5c76afa101e9dbe8a057e72463b03430e5 (diff) |
libardour added.
git-svn-id: svn://localhost/trunk/ardour2@17 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/plugin_manager.h')
-rw-r--r-- | libs/ardour/ardour/plugin_manager.h | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/libs/ardour/ardour/plugin_manager.h b/libs/ardour/ardour/plugin_manager.h new file mode 100644 index 0000000000..1a07c67c8d --- /dev/null +++ b/libs/ardour/ardour/plugin_manager.h @@ -0,0 +1,63 @@ +#ifndef __ardour_plugin_manager_h__ +#define __ardour_plugin_manager_h__ + +#include <list> +#include <map> +#include <string> + +#include <ardour/types.h> + +namespace ARDOUR { + +class PluginInfo; +class Plugin; +class Session; +class AudioEngine; + +class PluginManager { + public: + PluginManager (ARDOUR::AudioEngine&); + ~PluginManager (); + + std::list<PluginInfo*> &vst_plugin_info () { return _vst_plugin_info; } + std::list<PluginInfo*> &ladspa_plugin_info () { return _ladspa_plugin_info; } + void refresh (); + + int add_ladspa_directory (std::string dirpath); + int add_vst_directory (std::string dirpath); + + Plugin *load (ARDOUR::Session& s, PluginInfo* info); + + static PluginManager* the_manager() { return _manager; } + + private: + ARDOUR::AudioEngine& _engine; + std::list<PluginInfo*> _vst_plugin_info; + std::list<PluginInfo*> _ladspa_plugin_info; + std::map<uint32_t, std::string> rdf_type; + + std::string ladspa_path; + std::string vst_path; + + void ladspa_refresh (); + void vst_refresh (); + + void add_lrdf_data (const std::string &path); + void add_ladspa_presets (); + void add_vst_presets (); + void add_presets (std::string domain); + + int vst_discover_from_path (std::string path); + int vst_discover (std::string path); + + int ladspa_discover_from_path (std::string path); + int ladspa_discover (std::string path); + + std::string get_ladspa_category (uint32_t id); + + static PluginManager* _manager; // singleton +}; + +} /* namespace ARDOUR */ + +#endif /* __ardour_plugin_manager_h__ */ |