prepare GUI notifications for plugin scan

This commit is contained in:
Robin Gareus 2014-02-24 02:04:37 +01:00
parent 8cca67e9c9
commit 22905d8a93
6 changed files with 13 additions and 1 deletions

View File

@ -667,6 +667,9 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
void disk_overrun_handler ();
void disk_underrun_handler ();
void cancel_plugin_scan ();
void plugin_scan_dialog (std::string type, std::string plugin);
void session_format_mismatch (std::string, std::string);
void session_dialog (std::string);

View File

@ -50,6 +50,7 @@ namespace ARDOUR {
class AudioEngine;
extern LIBARDOUR_API PBD::Signal1<void,std::string> BootMessage;
extern LIBARDOUR_API PBD::Signal2<void,std::string,std::string> PluginScanMessage;
extern LIBARDOUR_API PBD::Signal0<void> GUIIdle;
/**

View File

@ -2278,6 +2278,7 @@ AUPluginInfo::discover_by_description (PluginInfoList& plugs, CAComponentDescrip
}
AUPluginInfo::get_names (temp, info->name, info->creator);
ARDOUR::PluginScanMessage(_("AU"), info->name);
info->type = ARDOUR::AudioUnit;
info->unique_id = stringify_descriptor (*info->descriptor);

View File

@ -125,6 +125,7 @@ mix_buffers_with_gain_t ARDOUR::mix_buffers_with_gain = 0;
mix_buffers_no_gain_t ARDOUR::mix_buffers_no_gain = 0;
PBD::Signal1<void,std::string> ARDOUR::BootMessage;
PBD::Signal2<void,std::string,std::string> ARDOUR::PluginScanMessage;
PBD::Signal0<void> ARDOUR::GUIIdle;
namespace ARDOUR {

View File

@ -2108,6 +2108,7 @@ LV2PluginInfo::discover()
info->name = string(lilv_node_as_string(name));
lilv_node_free(name);
ARDOUR::PluginScanMessage(_("LV2"), info->name);
const LilvPluginClass* pclass = lilv_plugin_get_class(p);
const LilvNode* label = lilv_plugin_class_get_label(pclass);

View File

@ -177,6 +177,7 @@ void
PluginManager::refresh ()
{
DEBUG_TRACE (DEBUG::PluginManager, "PluginManager::refresh\n");
BootMessage (_("Discovering Plugins"));
ladspa_refresh ();
#ifdef LV2_SUPPORT
@ -199,6 +200,7 @@ PluginManager::refresh ()
#endif
PluginListChanged (); /* EMIT SIGNAL */
PluginScanMessage(X_("closeme"), "");
}
void
@ -234,6 +236,7 @@ PluginManager::ladspa_refresh ()
dll_extension_pattern, ladspa_modules);
for (vector<std::string>::iterator i = ladspa_modules.begin(); i != ladspa_modules.end(); ++i) {
ARDOUR::PluginScanMessage(_("LADSPA"), *i);
ladspa_discover (*i);
}
}
@ -524,7 +527,7 @@ PluginManager::add_windows_vst_directory (string path)
return -1;
}
static bool windows_vst_filter (const string& str, void *arg)
static bool windows_vst_filter (const string& str, void * /*arg*/)
{
/* Not a dotfile, has a prefix before a period, suffix is "dll" */
@ -545,6 +548,7 @@ PluginManager::windows_vst_discover_from_path (string path)
if (plugin_objects) {
for (x = plugin_objects->begin(); x != plugin_objects->end (); ++x) {
ARDOUR::PluginScanMessage(_("VST"), **x);
windows_vst_discover (**x);
}
@ -683,6 +687,7 @@ PluginManager::lxvst_discover_from_path (string path)
if (plugin_objects) {
for (x = plugin_objects->begin(); x != plugin_objects->end (); ++x) {
ARDOUR::PluginScanMessage(_("LXVST"), **x);
lxvst_discover (**x);
}