Keep inline control state in sync with editor-mixer
This commit is contained in:
parent
590400a95f
commit
b5d6b97fd2
@ -715,7 +715,7 @@ ProcessorEntry::show_all_controls ()
|
||||
(*i)->set_visible (true);
|
||||
}
|
||||
|
||||
_parent->update_gui_object_state (this);
|
||||
_parent->update_gui_object_state (this, true);
|
||||
}
|
||||
|
||||
void
|
||||
@ -725,7 +725,7 @@ ProcessorEntry::hide_all_controls ()
|
||||
(*i)->set_visible (false);
|
||||
}
|
||||
|
||||
_parent->update_gui_object_state (this);
|
||||
_parent->update_gui_object_state (this, true);
|
||||
}
|
||||
|
||||
void
|
||||
@ -942,14 +942,14 @@ ProcessorEntry::toggle_inline_display_visibility ()
|
||||
} else {
|
||||
_plugin_display->show();
|
||||
}
|
||||
_parent->update_gui_object_state (this);
|
||||
_parent->update_gui_object_state (this, true);
|
||||
}
|
||||
|
||||
void
|
||||
ProcessorEntry::toggle_control_visibility (Control* c)
|
||||
{
|
||||
c->set_visible (!c->visible ());
|
||||
_parent->update_gui_object_state (this);
|
||||
_parent->update_gui_object_state (this, true);
|
||||
}
|
||||
|
||||
Menu*
|
||||
@ -4691,7 +4691,7 @@ ProcessorBox::entry_gui_object_state (ProcessorEntry* entry)
|
||||
}
|
||||
|
||||
void
|
||||
ProcessorBox::update_gui_object_state (ProcessorEntry* entry)
|
||||
ProcessorBox::update_gui_object_state (ProcessorEntry* entry, bool emit)
|
||||
{
|
||||
XMLNode* proc = entry_gui_object_state (entry);
|
||||
if (!proc) {
|
||||
@ -4701,6 +4701,12 @@ ProcessorBox::update_gui_object_state (ProcessorEntry* entry)
|
||||
/* XXX: this is a bit inefficient; we just remove all child nodes and re-add them */
|
||||
proc->remove_nodes_and_delete (X_("Object"));
|
||||
entry->add_control_state (proc);
|
||||
|
||||
/* notify other strips to update */
|
||||
if (emit && _route) {
|
||||
PBD::Unwinder<bool> uw (no_processor_redisplay, true);
|
||||
_route->processors_changed (RouteProcessorChange ());
|
||||
}
|
||||
}
|
||||
|
||||
bool
|
||||
|
@ -461,7 +461,7 @@ public:
|
||||
void edit_processor (std::shared_ptr<ARDOUR::Processor>);
|
||||
void generic_edit_processor (std::shared_ptr<ARDOUR::Processor>);
|
||||
|
||||
void update_gui_object_state (ProcessorEntry *);
|
||||
void update_gui_object_state (ProcessorEntry *, bool emit = false);
|
||||
|
||||
sigc::signal<void,std::shared_ptr<ARDOUR::Processor> > ProcessorSelected;
|
||||
sigc::signal<void,std::shared_ptr<ARDOUR::Processor> > ProcessorUnselected;
|
||||
|
Loading…
Reference in New Issue
Block a user