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);
|
(*i)->set_visible (true);
|
||||||
}
|
}
|
||||||
|
|
||||||
_parent->update_gui_object_state (this);
|
_parent->update_gui_object_state (this, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -725,7 +725,7 @@ ProcessorEntry::hide_all_controls ()
|
|||||||
(*i)->set_visible (false);
|
(*i)->set_visible (false);
|
||||||
}
|
}
|
||||||
|
|
||||||
_parent->update_gui_object_state (this);
|
_parent->update_gui_object_state (this, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -942,14 +942,14 @@ ProcessorEntry::toggle_inline_display_visibility ()
|
|||||||
} else {
|
} else {
|
||||||
_plugin_display->show();
|
_plugin_display->show();
|
||||||
}
|
}
|
||||||
_parent->update_gui_object_state (this);
|
_parent->update_gui_object_state (this, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
ProcessorEntry::toggle_control_visibility (Control* c)
|
ProcessorEntry::toggle_control_visibility (Control* c)
|
||||||
{
|
{
|
||||||
c->set_visible (!c->visible ());
|
c->set_visible (!c->visible ());
|
||||||
_parent->update_gui_object_state (this);
|
_parent->update_gui_object_state (this, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
Menu*
|
Menu*
|
||||||
@ -4691,7 +4691,7 @@ ProcessorBox::entry_gui_object_state (ProcessorEntry* entry)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
ProcessorBox::update_gui_object_state (ProcessorEntry* entry)
|
ProcessorBox::update_gui_object_state (ProcessorEntry* entry, bool emit)
|
||||||
{
|
{
|
||||||
XMLNode* proc = entry_gui_object_state (entry);
|
XMLNode* proc = entry_gui_object_state (entry);
|
||||||
if (!proc) {
|
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 */
|
/* XXX: this is a bit inefficient; we just remove all child nodes and re-add them */
|
||||||
proc->remove_nodes_and_delete (X_("Object"));
|
proc->remove_nodes_and_delete (X_("Object"));
|
||||||
entry->add_control_state (proc);
|
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
|
bool
|
||||||
|
@ -461,7 +461,7 @@ public:
|
|||||||
void edit_processor (std::shared_ptr<ARDOUR::Processor>);
|
void edit_processor (std::shared_ptr<ARDOUR::Processor>);
|
||||||
void generic_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> > ProcessorSelected;
|
||||||
sigc::signal<void,std::shared_ptr<ARDOUR::Processor> > ProcessorUnselected;
|
sigc::signal<void,std::shared_ptr<ARDOUR::Processor> > ProcessorUnselected;
|
||||||
|
Loading…
Reference in New Issue
Block a user