summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2012-05-20 21:56:33 +0000
committerCarl Hetherington <carl@carlh.net>2012-05-20 21:56:33 +0000
commit57bd915d66decfc297ca987327c7fb1a2649ddaf (patch)
tree15f75f7aeff7166b871c8f8b3c8ce44a69e40136
parent78237f3ac3a7918417cd11b30d25c4afdf9b2108 (diff)
Rename can_add_channel slightly and add mysteriously-missing calls to it so that you don't get offered the chance to add ports where none can be added.
git-svn-id: svn://localhost/ardour2/branches/3.0@12349 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r--gtk2_ardour/bundle_manager.cc4
-rw-r--r--gtk2_ardour/bundle_manager.h2
-rw-r--r--gtk2_ardour/port_matrix.cc28
-rw-r--r--gtk2_ardour/port_matrix.h2
4 files changed, 19 insertions, 17 deletions
diff --git a/gtk2_ardour/bundle_manager.cc b/gtk2_ardour/bundle_manager.cc
index 5940a62450..1c89f7b3cd 100644
--- a/gtk2_ardour/bundle_manager.cc
+++ b/gtk2_ardour/bundle_manager.cc
@@ -101,13 +101,13 @@ BundleEditorMatrix::get_state (BundleChannel c[2]) const
}
bool
-BundleEditorMatrix::can_add_channel (boost::shared_ptr<Bundle> b) const
+BundleEditorMatrix::can_add_channels (boost::shared_ptr<Bundle> b) const
{
if (b == _bundle) {
return true;
}
- return PortMatrix::can_add_channel (b);
+ return PortMatrix::can_add_channels (b);
}
void
diff --git a/gtk2_ardour/bundle_manager.h b/gtk2_ardour/bundle_manager.h
index ff42ad7fb8..71b99684d7 100644
--- a/gtk2_ardour/bundle_manager.h
+++ b/gtk2_ardour/bundle_manager.h
@@ -42,7 +42,7 @@ class BundleEditorMatrix : public PortMatrix
void set_state (ARDOUR::BundleChannel c[2], bool s);
PortMatrixNode::State get_state (ARDOUR::BundleChannel c[2]) const;
- bool can_add_channel (boost::shared_ptr<ARDOUR::Bundle>) const;
+ bool can_add_channels (boost::shared_ptr<ARDOUR::Bundle>) const;
void add_channel (boost::shared_ptr<ARDOUR::Bundle>, ARDOUR::DataType);
bool can_remove_channels (boost::shared_ptr<ARDOUR::Bundle>) const;
diff --git a/gtk2_ardour/port_matrix.cc b/gtk2_ardour/port_matrix.cc
index fb7bca7946..286111c6d4 100644
--- a/gtk2_ardour/port_matrix.cc
+++ b/gtk2_ardour/port_matrix.cc
@@ -411,19 +411,21 @@ PortMatrix::popup_menu (BundleChannel column, BundleChannel row, uint32_t t)
boost::weak_ptr<Bundle> w (bc[dim].bundle);
- /* Start off with options for the `natural' port type */
- for (DataType::iterator i = DataType::begin(); i != DataType::end(); ++i) {
- if (should_show (*i)) {
- snprintf (buf, sizeof (buf), _("Add %s %s"), (*i).to_i18n_string(), channel_noun().c_str());
- sub.push_back (MenuElem (buf, sigc::bind (sigc::mem_fun (*this, &PortMatrix::add_channel_proxy), w, *i)));
+ if (can_add_channels (bc[dim].bundle)) {
+ /* Start off with options for the `natural' port type */
+ for (DataType::iterator i = DataType::begin(); i != DataType::end(); ++i) {
+ if (should_show (*i)) {
+ snprintf (buf, sizeof (buf), _("Add %s %s"), (*i).to_i18n_string(), channel_noun().c_str());
+ sub.push_back (MenuElem (buf, sigc::bind (sigc::mem_fun (*this, &PortMatrix::add_channel_proxy), w, *i)));
+ }
}
- }
-
- /* Now add other ones */
- for (DataType::iterator i = DataType::begin(); i != DataType::end(); ++i) {
- if (!should_show (*i)) {
- snprintf (buf, sizeof (buf), _("Add %s %s"), (*i).to_i18n_string(), channel_noun().c_str());
- sub.push_back (MenuElem (buf, sigc::bind (sigc::mem_fun (*this, &PortMatrix::add_channel_proxy), w, *i)));
+
+ /* Now add other ones */
+ for (DataType::iterator i = DataType::begin(); i != DataType::end(); ++i) {
+ if (!should_show (*i)) {
+ snprintf (buf, sizeof (buf), _("Add %s %s"), (*i).to_i18n_string(), channel_noun().c_str());
+ sub.push_back (MenuElem (buf, sigc::bind (sigc::mem_fun (*this, &PortMatrix::add_channel_proxy), w, *i)));
+ }
}
}
@@ -677,7 +679,7 @@ PortMatrix::io_from_bundle (boost::shared_ptr<Bundle> b) const
}
bool
-PortMatrix::can_add_channel (boost::shared_ptr<Bundle> b) const
+PortMatrix::can_add_channels (boost::shared_ptr<Bundle> b) const
{
return io_from_bundle (b);
}
diff --git a/gtk2_ardour/port_matrix.h b/gtk2_ardour/port_matrix.h
index 75b2abf279..be276c0484 100644
--- a/gtk2_ardour/port_matrix.h
+++ b/gtk2_ardour/port_matrix.h
@@ -141,7 +141,7 @@ public:
virtual PortMatrixNode::State get_state (ARDOUR::BundleChannel c[2]) const = 0;
virtual bool list_is_global (int) const = 0;
- virtual bool can_add_channel (boost::shared_ptr<ARDOUR::Bundle>) const;
+ virtual bool can_add_channels (boost::shared_ptr<ARDOUR::Bundle>) const;
virtual void add_channel (boost::shared_ptr<ARDOUR::Bundle>, ARDOUR::DataType);
virtual bool can_remove_channels (boost::shared_ptr<ARDOUR::Bundle>) const;
virtual void remove_channel (ARDOUR::BundleChannel);