Improve connection button labels for internal connections

* Update button when the name of a connected route changes
* Indicate partial internal connections (previously only the
  client name ("ardour") was displayed.
* Escape markup in I/O plugin and client names
* Refactor code, use a common base-class for route and
  route-less I/O Buttons
This commit is contained in:
Robin Gareus 2022-10-20 17:23:37 +02:00
parent de84ac2d6f
commit 19e190cc93
No known key found for this signature in database
GPG key ID: A090BCE02CF57F04
4 changed files with 403 additions and 354 deletions

View file

@ -38,7 +38,6 @@
#include "context_menu_helper.h"
#include "gui_thread.h"
#include "io_plugin_window.h"
#include "io_button.h"
#include "io_selector.h"
#include "mixer_ui.h"
#include "plugin_selector.h"
@ -548,7 +547,7 @@ IOPluginWindow::IOButton::update ()
boost::shared_ptr<ARDOUR::Bundle> bundle;
_bundle_connections.drop_connections ();
::IOButton::set_label (*this, _io->session (), bundle, _io);
set_label (*this, _io->session (), bundle, _io);
if (bundle) {
bundle->Changed.connect (_bundle_connections, invalidator (*this), boost::bind (&IOButton::update, this), gui_context ());