diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2009-11-08 19:20:12 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2009-11-08 19:20:12 +0000 |
commit | 6f1964985e44f8c9f5a1459973dae9e7ddf1c927 (patch) | |
tree | 2d731699efd4c06c01db37937a55ddd56d090cb8 /libs/ardour/ardour/plugin_manager.h | |
parent | 93c1d87c3ccb7e0298da8399c08c1a9f6ae88cb4 (diff) |
plugin menu/manager patch from J. Abelardo Gutierrez (already applied to 3.0)
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@6039 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/plugin_manager.h')
-rw-r--r-- | libs/ardour/ardour/plugin_manager.h | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/libs/ardour/ardour/plugin_manager.h b/libs/ardour/ardour/plugin_manager.h index 858decd0e5..7dab6b0009 100644 --- a/libs/ardour/ardour/plugin_manager.h +++ b/libs/ardour/ardour/plugin_manager.h @@ -55,30 +55,36 @@ class PluginManager { static PluginManager* the_manager() { return _manager; } - void load_favorites (); - void save_favorites (); - void add_favorite (ARDOUR::PluginType type, std::string unique_id); - void remove_favorite (ARDOUR::PluginType type, std::string unique_id); - bool is_a_favorite_plugin (const PluginInfoPtr&); - + enum PluginStatusType { + Normal = 0, + Favorite, + Hidden + }; + + void load_statuses (); + void save_statuses (); + void set_status (ARDOUR::PluginType type, std::string unique_id, PluginStatusType status); + PluginStatusType get_status (const PluginInfoPtr&); + private: - struct FavoritePlugin { + struct PluginStatus { ARDOUR::PluginType type; std::string unique_id; + PluginStatusType status; - FavoritePlugin (ARDOUR::PluginType t, std::string id) - : type (t), unique_id (id) {} + PluginStatus (ARDOUR::PluginType t, std::string id, PluginStatusType s = Normal) + : type (t), unique_id (id), status (s) {} - bool operator==(const FavoritePlugin& other) const { + bool operator==(const PluginStatus& other) const { return other.type == type && other.unique_id == unique_id; } - bool operator<(const FavoritePlugin& other) const { + bool operator<(const PluginStatus& other) const { return other.type < type || other.unique_id < unique_id; } }; - typedef std::set<FavoritePlugin> FavoritePluginList; - FavoritePluginList favorites; + typedef std::set<PluginStatus> PluginStatusList; + PluginStatusList statuses; ARDOUR::PluginInfoList _vst_plugin_info; ARDOUR::PluginInfoList _ladspa_plugin_info; |