Tag_reset() should be FromPlug, not FromGui.
authorBen Loftis <ben@harrisonconsoles.com>
Fri, 2 Mar 2018 00:26:09 +0000 (18:26 -0600)
committerBen Loftis <ben@harrisonconsoles.com>
Fri, 2 Mar 2018 00:26:09 +0000 (18:26 -0600)
gtk2_ardour/plugin_selector.cc
libs/ardour/ardour/plugin_manager.h
libs/ardour/plugin_manager.cc

index f6573b1f5251210d95f02681e5acd7f2577ed450..9796107f0284b8bcadd293b9df5ef62417f877c1 100644 (file)
@@ -839,7 +839,7 @@ PluginSelector::tag_reset_button_clicked ()
        if (plugin_display.get_selection()->count_selected_rows() != 0) {
                TreeModel::Row row = *(plugin_display.get_selection()->get_selected());
                ARDOUR::PluginInfoPtr pi = row[plugin_columns.plugin];
-               manager.reset_tags (pi, PluginManager::FromGui);
+               manager.reset_tags (pi);
                display_selection_changed ();
                _need_tag_save = true;
                _need_menu_rebuild = true;
index f9b6feb73720aba1322229e7f1da6a64eccead64..a66e2d0674e38863152daa5968bc438290140d4b 100644 (file)
@@ -92,7 +92,7 @@ public:
                FromGui             // ... from the UI, in realtime: will emit a signal so ui can show "sanitized" string as it is generated
        };
        void set_tags (ARDOUR::PluginType type, std::string unique_id, std::string tags, std::string name, TagType tagtype);
-       void reset_tags (PluginInfoPtr const&, TagType);
+       void reset_tags (PluginInfoPtr const&);
        std::string get_tags_as_string (PluginInfoPtr const&) const;
        std::vector<std::string> get_tags (PluginInfoPtr const&) const;
 
index 00a89f2d799ee1843554f3bb140f017039a727b6..9713a241e2a09e6f54f52843626d7d162e4423c6 100644 (file)
@@ -1622,9 +1622,15 @@ PluginManager::set_tags (PluginType t, string id, string tag, std::string name,
 }
 
 void
-PluginManager::reset_tags (PluginInfoPtr const& pi, TagType tt)
+PluginManager::reset_tags (PluginInfoPtr const& pi)
 {
-       set_tags (pi->type, pi->unique_id, pi->category, pi->name, tt);
+       PluginTag ps (pi->type, pi->unique_id, pi->category, pi->name, FromPlug);
+
+       PluginTagList::const_iterator i = find (ptags.begin(), ptags.end(), ps);
+       if (i != ptags.end()) {
+               ptags.erase (ps);
+               ptags.insert (ps);
+       }
 }
 
 std::string