diff options
author | Carl Hetherington <carl@carlh.net> | 2010-07-30 02:09:39 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2010-07-30 02:09:39 +0000 |
commit | 1f07948972ca1cac5854539268ca3b290b79c671 (patch) | |
tree | 4d507ec8a035894628a8f5b84486656fdff6d0e9 /gtk2_ardour | |
parent | 66760a574a1fc0ccc8a798c2900a717c134838ea (diff) |
Put Mackie surface ports into the Ardour tab of the port matrix.
git-svn-id: svn://localhost/ardour2/branches/3.0@7522 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/port_group.cc | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gtk2_ardour/port_group.cc b/gtk2_ardour/port_group.cc index 1382826b90..a8e70ea501 100644 --- a/gtk2_ardour/port_group.cc +++ b/gtk2_ardour/port_group.cc @@ -29,6 +29,8 @@ #include "ardour/port.h" #include "ardour/session.h" #include "ardour/auditioner.h" +#include "ardour/control_protocol_manager.h" +#include "control_protocol/control_protocol.h" #include "gui_thread.h" #include "port_group.h" @@ -422,6 +424,20 @@ PortGroupList::gather (ARDOUR::Session* session, ARDOUR::DataType type, bool inp } } + /* Ardour's surfaces */ + + ControlProtocolManager& m = ControlProtocolManager::instance (); + for (list<ControlProtocolInfo*>::iterator i = m.control_protocol_info.begin(); i != m.control_protocol_info.end(); ++i) { + if ((*i)->protocol) { + list<boost::shared_ptr<Bundle> > b = (*i)->protocol->bundles (); + for (list<boost::shared_ptr<Bundle> >::iterator j = b.begin(); j != b.end(); ++j) { + if ((*j)->ports_are_inputs() == inputs) { + ardour->add_bundle (*j); + } + } + } + } + /* Now find all other ports that we haven't thought of yet */ std::vector<std::string> extra_system[DataType::num_types]; |