summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r--libs/ardour/ardour/luaproc.h5
-rw-r--r--libs/ardour/ardour/luascripting.h4
-rw-r--r--libs/ardour/ardour/plugin_manager.h5
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