Mercurial > hg > vamp-plugin-sdk
comparison vamp-hostsdk/PluginLoader.h @ 57:09a1aac6c362 host-factory-stuff
* add wrapper base
* make loader able to look up categories
author | cannam |
---|---|
date | Wed, 09 May 2007 15:21:37 +0000 |
parents | 4ab6224110ef |
children |
comparison
equal
deleted
inserted
replaced
56:4ab6224110ef | 57:09a1aac6c362 |
---|---|
50 public: | 50 public: |
51 PluginLoader(); | 51 PluginLoader(); |
52 virtual ~PluginLoader(); | 52 virtual ~PluginLoader(); |
53 | 53 |
54 typedef std::string PluginKey; | 54 typedef std::string PluginKey; |
55 typedef std::vector<std::string> PluginCategoryHierarchy; | |
55 | 56 |
56 std::vector<PluginKey> listPlugins(); //!!! pass in version number? | 57 std::vector<PluginKey> listPlugins(); //!!! pass in version number? |
57 | 58 |
58 //!!! want to be able to just "delete" the plugin later -- hence | 59 //!!! want to be able to just "delete" the plugin later -- hence |
59 //have to consider library loading issues -- do we have a wrapper | 60 //have to consider library loading issues -- do we have a wrapper |
60 //class that tells us when it's been deleted, and keep a reference | 61 //class that tells us when it's been deleted, and keep a reference |
61 //count for the dynamic library? | 62 //count for the dynamic library? |
62 Plugin *load(PluginKey key, float inputSampleRate); | 63 Plugin *load(PluginKey plugin, float inputSampleRate); |
63 | 64 |
64 std::string getLibraryPath(PluginKey key); | 65 PluginCategoryHierarchy getPluginCategory(PluginKey plugin); |
66 | |
67 std::string getLibraryPathForPlugin(PluginKey plugin); | |
65 | 68 |
66 protected: | 69 protected: |
67 std::map<PluginKey, std::string> m_pluginLibraryMap; | 70 std::map<PluginKey, std::string> m_pluginLibraryMap; |
71 std::map<PluginKey, PluginCategoryHierarchy> m_taxonomy; | |
72 void generateTaxonomy(); | |
73 std::vector<std::string> getFilesInDir(std::string dir, std::string ext); | |
68 }; | 74 }; |
69 | 75 |
70 } | 76 } |
71 | 77 |
72 | 78 |