diff options
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r-- | libs/ardour/ardour/luaproc.h | 5 | ||||
-rw-r--r-- | libs/ardour/ardour/luascripting.h | 4 | ||||
-rw-r--r-- | libs/ardour/ardour/plugin_manager.h | 5 |
3 files changed, 12 insertions, 2 deletions
diff --git a/libs/ardour/ardour/luaproc.h b/libs/ardour/ardour/luaproc.h index a0f49d61bb..d7c0aea5c5 100644 --- a/libs/ardour/ardour/luaproc.h +++ b/libs/ardour/ardour/luaproc.h @@ -163,7 +163,10 @@ class LIBARDOUR_API LuaPluginInfo : public PluginInfo PluginPtr load (Session& session); std::vector<Plugin::PresetRecord> get_presets (bool user_only) const; - bool is_instrument () const { return _is_instrument ; } + bool in_category (const std::string &c) const { + return (category == c); + } + bool is_instrument () const { return _is_instrument; } bool reconfigurable_io() const { return true; } bool _is_instrument; diff --git a/libs/ardour/ardour/luascripting.h b/libs/ardour/ardour/luascripting.h index b48aaa9a69..1e7833fc54 100644 --- a/libs/ardour/ardour/luascripting.h +++ b/libs/ardour/ardour/luascripting.h @@ -43,10 +43,11 @@ class LIBARDOUR_API LuaScriptInfo { static std::string type2str (const ScriptType t); static ScriptType str2type (const std::string& str); - LuaScriptInfo (ScriptType t, const std::string &n, const std::string &p) + LuaScriptInfo (ScriptType t, const std::string &n, const std::string &p, const std::string &uid) : type (t) , name (n) , path (p) + , unique_id (uid) { } virtual ~LuaScriptInfo () { } @@ -54,6 +55,7 @@ class LIBARDOUR_API LuaScriptInfo { ScriptType type; std::string name; std::string path; + std::string unique_id; std::string author; std::string license; diff --git a/libs/ardour/ardour/plugin_manager.h b/libs/ardour/ardour/plugin_manager.h index e25a268b2e..1a925432a0 100644 --- a/libs/ardour/ardour/plugin_manager.h +++ b/libs/ardour/ardour/plugin_manager.h @@ -50,6 +50,7 @@ class LIBARDOUR_API PluginManager : public boost::noncopyable { ARDOUR::PluginInfoList &ladspa_plugin_info (); ARDOUR::PluginInfoList &lv2_plugin_info (); ARDOUR::PluginInfoList &au_plugin_info (); + ARDOUR::PluginInfoList &lua_plugin_info (); void refresh (bool cache_only = false); void cancel_plugin_scan(); @@ -112,6 +113,7 @@ class LIBARDOUR_API PluginManager : public boost::noncopyable { ARDOUR::PluginInfoList* _ladspa_plugin_info; ARDOUR::PluginInfoList* _lv2_plugin_info; ARDOUR::PluginInfoList* _au_plugin_info; + ARDOUR::PluginInfoList* _lua_plugin_info; std::map<uint32_t, std::string> rdf_type; @@ -122,6 +124,8 @@ class LIBARDOUR_API PluginManager : public boost::noncopyable { bool _cancel_timeout; void ladspa_refresh (); + void lua_refresh (); + void lua_refresh_cb (); void windows_vst_refresh (bool cache_only = false); void lxvst_refresh (bool cache_only = false); @@ -146,6 +150,7 @@ class LIBARDOUR_API PluginManager : public boost::noncopyable { std::string get_ladspa_category (uint32_t id); std::vector<uint32_t> ladspa_plugin_whitelist; + PBD::ScopedConnection lua_refresh_connection; Glib::Threads::Mutex _lock; static PluginManager* _instance; // singleton |