Compare commits
2 Commits
4b6e372ce7
...
08e394f681
Author | SHA1 | Date |
---|---|---|
Robin Gareus | 08e394f681 | |
Robin Gareus | 136b7f42d5 |
|
@ -302,6 +302,8 @@ private:
|
|||
|
||||
void reset_scan_cancel_state (bool single = false);
|
||||
|
||||
void get_all_plugins (PluginInfoList&) const;
|
||||
|
||||
bool no_timeout () const { return _cancel_scan_timeout_one || _cancel_scan_timeout_all; }
|
||||
|
||||
void detect_name_ambiguities (ARDOUR::PluginInfoList*);
|
||||
|
|
|
@ -610,18 +610,8 @@ PluginManager::refresh (bool cache_only)
|
|||
}
|
||||
|
||||
void
|
||||
PluginManager::detect_ambiguities ()
|
||||
PluginManager::get_all_plugins (PluginInfoList& all_plugs) const
|
||||
{
|
||||
detect_name_ambiguities (_windows_vst_plugin_info);
|
||||
detect_name_ambiguities (_lxvst_plugin_info);
|
||||
detect_name_ambiguities (_mac_vst_plugin_info);
|
||||
detect_name_ambiguities (_au_plugin_info);
|
||||
detect_name_ambiguities (_ladspa_plugin_info);
|
||||
detect_name_ambiguities (_lv2_plugin_info);
|
||||
detect_name_ambiguities (_lua_plugin_info);
|
||||
detect_name_ambiguities (_vst3_plugin_info);
|
||||
|
||||
PluginInfoList all_plugs;
|
||||
if (_windows_vst_plugin_info) {
|
||||
all_plugs.insert(all_plugs.end(), _windows_vst_plugin_info->begin(), _windows_vst_plugin_info->end());
|
||||
}
|
||||
|
@ -646,6 +636,22 @@ PluginManager::detect_ambiguities ()
|
|||
if (_lua_plugin_info) {
|
||||
all_plugs.insert(all_plugs.end(), _lua_plugin_info->begin(), _lua_plugin_info->end());
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
PluginManager::detect_ambiguities ()
|
||||
{
|
||||
detect_name_ambiguities (_windows_vst_plugin_info);
|
||||
detect_name_ambiguities (_lxvst_plugin_info);
|
||||
detect_name_ambiguities (_mac_vst_plugin_info);
|
||||
detect_name_ambiguities (_au_plugin_info);
|
||||
detect_name_ambiguities (_ladspa_plugin_info);
|
||||
detect_name_ambiguities (_lv2_plugin_info);
|
||||
detect_name_ambiguities (_lua_plugin_info);
|
||||
detect_name_ambiguities (_vst3_plugin_info);
|
||||
|
||||
PluginInfoList all_plugs;
|
||||
get_all_plugins (all_plugs);
|
||||
detect_type_ambiguities (all_plugs);
|
||||
|
||||
save_scanlog ();
|
||||
|
@ -2898,12 +2904,25 @@ PluginManager::get_all_tags (TagFilter tag_filter) const
|
|||
{
|
||||
std::vector<std::string> ret;
|
||||
|
||||
PluginInfoList all_plugs;
|
||||
get_all_plugins (all_plugs);
|
||||
|
||||
std::map<PluginType, std::set<std::string>> nfos;
|
||||
for (auto const& nfo : all_plugs) {
|
||||
nfos[to_generic_vst (nfo->type)].insert (nfo->unique_id);
|
||||
}
|
||||
|
||||
PluginTagList::const_iterator pt;
|
||||
for (pt = ptags.begin(); pt != ptags.end(); ++pt) {
|
||||
if ((*pt).tags.empty ()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (nfos[(*pt).type].find ((*pt).unique_id) == nfos[(*pt).type].end ()) {
|
||||
/* Plugin is not installed */
|
||||
continue;
|
||||
}
|
||||
|
||||
/* if favorites_only then we need to check the info ptr and maybe skip */
|
||||
if (tag_filter == OnlyFavorites) {
|
||||
PluginStatus stat ((*pt).type, (*pt).unique_id);
|
||||
|
|
|
@ -604,14 +604,21 @@
|
|||
|
||||
- (void) setNeedsDisplay:(BOOL)yn
|
||||
{
|
||||
GdkWindowObject *private;
|
||||
GdkWindowImplQuartz *impl;
|
||||
if (GDK_WINDOW_DESTROYED (gdk_window)) {
|
||||
return;
|
||||
}
|
||||
|
||||
GdkWindowObject* private = GDK_WINDOW_OBJECT (gdk_window);
|
||||
GdkWindowImplQuartz* impl = GDK_WINDOW_IMPL_QUARTZ (private->impl);
|
||||
|
||||
if (!impl) {
|
||||
[super setNeedsDisplay:yn];
|
||||
return;
|
||||
}
|
||||
|
||||
NSRect nsrect = [self bounds];
|
||||
GdkRectangle r = { nsrect.origin.x, nsrect.origin.y, nsrect.size.width, nsrect.size.height };
|
||||
|
||||
private = GDK_WINDOW_OBJECT (gdk_window);
|
||||
impl = GDK_WINDOW_IMPL_QUARTZ (private->impl);
|
||||
|
||||
GDK_NOTE (EVENTS, g_print ("setNeedsDisplay, current NDR %p\n", impl->needs_display_region));
|
||||
|
||||
if (!impl->needs_display_region)
|
||||
|
@ -650,6 +657,10 @@
|
|||
private = GDK_WINDOW_OBJECT (gdk_window);
|
||||
impl = GDK_WINDOW_IMPL_QUARTZ (private->impl);
|
||||
|
||||
if (!impl) {
|
||||
return;
|
||||
}
|
||||
|
||||
GDK_NOTE (EVENTS, g_print ("setNeedsDisplayInRect, current NDR %p\n", impl->needs_display_region));
|
||||
|
||||
if (!impl->needs_display_region)
|
||||
|
|
Loading…
Reference in New Issue