summaryrefslogtreecommitdiff
path: root/gtk2_ardour/port_group.cc
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2012-05-20 21:56:28 +0000
committerCarl Hetherington <carl@carlh.net>2012-05-20 21:56:28 +0000
commit78237f3ac3a7918417cd11b30d25c4afdf9b2108 (patch)
tree4675b4c599fa9b701c6abccd769fca5664d0c33b /gtk2_ardour/port_group.cc
parent9e50baae6341595f8f04e0cf5a081a8cc131f5f5 (diff)
Display hardware IO individually in the port matrices unless we are in _show_only_bundles mode.
git-svn-id: svn://localhost/ardour2/branches/3.0@12348 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/port_group.cc')
-rw-r--r--gtk2_ardour/port_group.cc14
1 files changed, 10 insertions, 4 deletions
diff --git a/gtk2_ardour/port_group.cc b/gtk2_ardour/port_group.cc
index 5b5cdc0f52..863c29f243 100644
--- a/gtk2_ardour/port_group.cc
+++ b/gtk2_ardour/port_group.cc
@@ -321,9 +321,12 @@ public:
/** Gather ports from around the system and put them in this PortGroupList.
* @param type Type of ports to collect, or NIL for all types.
+ * @param use_session_bundles true to use the session's non-user bundles. Doing this will mean that
+ * hardware ports will be gathered into stereo pairs, as the session sets up bundles for these pairs.
+ * Not using the session bundles will mean that all hardware IO will be presented separately.
*/
void
-PortGroupList::gather (ARDOUR::Session* session, ARDOUR::DataType type, bool inputs, bool allow_dups)
+PortGroupList::gather (ARDOUR::Session* session, ARDOUR::DataType type, bool inputs, bool allow_dups, bool use_session_bundles)
{
clear ();
@@ -408,9 +411,12 @@ PortGroupList::gather (ARDOUR::Session* session, ARDOUR::DataType type, bool inp
}
}
- for (BundleList::iterator i = b->begin(); i != b->end(); ++i) {
- if (boost::dynamic_pointer_cast<UserBundle> (*i) == 0 && (*i)->ports_are_inputs() == inputs) {
- system->add_bundle (*i, allow_dups);
+ /* Only look for non-user bundles if instructed to do so */
+ if (use_session_bundles) {
+ for (BundleList::iterator i = b->begin(); i != b->end(); ++i) {
+ if (boost::dynamic_pointer_cast<UserBundle> (*i) == 0 && (*i)->ports_are_inputs() == inputs) {
+ system->add_bundle (*i, allow_dups);
+ }
}
}