Update plugin-pin dialog when route or plugin name changes

This commit is contained in:
Robin Gareus 2023-06-22 15:28:37 +02:00
parent 19c44fe814
commit a996645ef1
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04
2 changed files with 23 additions and 0 deletions

View File

@ -262,6 +262,9 @@ PluginPinWidget::PluginPinWidget (std::shared_ptr<ARDOUR::PluginInsert> pi)
_add_sc_audio.signal_clicked.connect (sigc::bind (sigc::mem_fun (*this, &PluginPinWidget::add_sidechain_port), DataType::AUDIO)); _add_sc_audio.signal_clicked.connect (sigc::bind (sigc::mem_fun (*this, &PluginPinWidget::add_sidechain_port), DataType::AUDIO));
_add_sc_midi.signal_clicked.connect (sigc::bind (sigc::mem_fun (*this, &PluginPinWidget::add_sidechain_port), DataType::MIDI)); _add_sc_midi.signal_clicked.connect (sigc::bind (sigc::mem_fun (*this, &PluginPinWidget::add_sidechain_port), DataType::MIDI));
_route ()->PropertyChanged.connect (_plugin_connections, invalidator (*this), boost::bind (&PluginPinWidget::property_changed, this, _1), gui_context ());
_pi->PropertyChanged.connect (_plugin_connections, invalidator (*this), boost::bind (&PluginPinWidget::property_changed, this, _1), gui_context ());
AudioEngine::instance ()->PortConnectedOrDisconnected.connect ( AudioEngine::instance ()->PortConnectedOrDisconnected.connect (
_io_connection, invalidator (*this), boost::bind (&PluginPinWidget::port_connected_or_disconnected, this, _1, _3), gui_context () _io_connection, invalidator (*this), boost::bind (&PluginPinWidget::port_connected_or_disconnected, this, _1, _3), gui_context ()
); );
@ -1990,6 +1993,14 @@ PluginPinWidget::port_pretty_name_changed (std::string pn)
} }
} }
void
PluginPinWidget::property_changed (PBD::PropertyChange const& what_changed)
{
if (what_changed.contains (ARDOUR::Properties::name)) {
darea.queue_draw ();
}
}
/* lifted from ProcessorEntry::Control */ /* lifted from ProcessorEntry::Control */
PluginPinWidget::Control::Control (std::shared_ptr<AutomationControl> c, string const & n) PluginPinWidget::Control::Control (std::shared_ptr<AutomationControl> c, string const & n)
: _control (c) : _control (c)
@ -2126,6 +2137,8 @@ PluginPinDialog::PluginPinDialog (std::shared_ptr<ARDOUR::Route> r)
_route->DropReferences.connect ( _route->DropReferences.connect (
_connections, invalidator (*this), boost::bind (&PluginPinDialog::going_away, this), gui_context() _connections, invalidator (*this), boost::bind (&PluginPinDialog::going_away, this), gui_context()
); );
_route->PropertyChanged.connect ( _connections, invalidator (*this), boost::bind (&PluginPinDialog::route_property_changed, this, _1), gui_context());
} }
void void
@ -2170,6 +2183,14 @@ PluginPinDialog::processor_property_changed (PropertyChange const& what_changed)
} }
} }
void
PluginPinDialog::route_property_changed (PropertyChange const& what_changed)
{
if (what_changed.contains (ARDOUR::Properties::name)) {
set_title (string_compose (_("Pin Configuration: %1"), _route->name ()));
}
}
void void
PluginPinDialog::going_away () PluginPinDialog::going_away ()
{ {

View File

@ -183,6 +183,7 @@ private:
uint32_t maybe_add_route_to_input_menu (std::shared_ptr<ARDOUR::Route>, ARDOUR::DataType, std::weak_ptr<ARDOUR::Port>); uint32_t maybe_add_route_to_input_menu (std::shared_ptr<ARDOUR::Route>, ARDOUR::DataType, std::weak_ptr<ARDOUR::Port>);
void port_connected_or_disconnected (std::weak_ptr<ARDOUR::Port>, std::weak_ptr<ARDOUR::Port>); void port_connected_or_disconnected (std::weak_ptr<ARDOUR::Port>, std::weak_ptr<ARDOUR::Port>);
void port_pretty_name_changed (std::string); void port_pretty_name_changed (std::string);
void property_changed (PBD::PropertyChange const&);
bool sc_input_press (GdkEventButton *, std::weak_ptr<ARDOUR::Port>); bool sc_input_press (GdkEventButton *, std::weak_ptr<ARDOUR::Port>);
bool sc_input_release (GdkEventButton *); bool sc_input_release (GdkEventButton *);
@ -254,6 +255,7 @@ private:
void going_away (); void going_away ();
void processor_property_changed (PBD::PropertyChange const&); void processor_property_changed (PBD::PropertyChange const&);
void route_property_changed (PBD::PropertyChange const&);
void route_processors_changed (ARDOUR::RouteProcessorChange); void route_processors_changed (ARDOUR::RouteProcessorChange);
void add_processor (std::weak_ptr<ARDOUR::Processor>); void add_processor (std::weak_ptr<ARDOUR::Processor>);
void map_height (Gtk::Allocation&); void map_height (Gtk::Allocation&);