diff options
author | Carl Hetherington <carl@carlh.net> | 2012-05-20 21:56:28 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2012-05-20 21:56:28 +0000 |
commit | 78237f3ac3a7918417cd11b30d25c4afdf9b2108 (patch) | |
tree | 4675b4c599fa9b701c6abccd769fca5664d0c33b /gtk2_ardour/port_group.cc | |
parent | 9e50baae6341595f8f04e0cf5a081a8cc131f5f5 (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.cc | 14 |
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); + } } } |