diff options
author | Carl Hetherington <carl@carlh.net> | 2009-11-07 20:33:41 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2009-11-07 20:33:41 +0000 |
commit | 660fd702af13ace2d0399e47d5e9a644a6e3a8d7 (patch) | |
tree | 3b3204fa23c82b246485e70d3e77001427edb6e7 /gtk2_ardour/port_matrix.cc | |
parent | 040869db5c5681ee1b89fb1893fbb076d5216d42 (diff) |
Various tweaks to the bundle manager.
git-svn-id: svn://localhost/ardour2/branches/3.0@6030 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/port_matrix.cc')
-rw-r--r-- | gtk2_ardour/port_matrix.cc | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/gtk2_ardour/port_matrix.cc b/gtk2_ardour/port_matrix.cc index b8fe7d3333..0b87ee2ee1 100644 --- a/gtk2_ardour/port_matrix.cc +++ b/gtk2_ardour/port_matrix.cc @@ -65,6 +65,9 @@ PortMatrix::PortMatrix (Window* parent, Session& session, DataType type) /* watch for the content of _ports[] changing */ _ports[i].Changed.connect (mem_fun (*this, &PortMatrix::setup)); + + /* and for bundles in _ports[] changing */ + _ports[i].BundleChanged.connect (mem_fun (*this, &PortMatrix::bundle_changed)); } _hscroll.signal_value_changed().connect (mem_fun (*this, &PortMatrix::hscroll_changed)); @@ -587,3 +590,13 @@ PortMatrix::add_channel_proxy (boost::weak_ptr<Bundle> w) add_channel (b); } + +void +PortMatrix::bundle_changed (ARDOUR::Bundle::Change c) +{ + if (c & (Bundle::DirectionChanged | Bundle::TypeChanged)) { + setup_all_ports (); + } + + setup (); +} |