- _port_group->bundles.clear ();
- _port_group->bundles.push_back (boost::shared_ptr<ARDOUR::Bundle> (new ARDOUR::Bundle));
- _port_group->bundles.front()->set_name (_io->name());
-
- if (offering_input ()) {
- const PortSet& ps (_io->outputs());
-
- int j = 0;
- for (PortSet::const_iterator i = ps.begin(); i != ps.end(); ++i) {
- char buf[32];
- snprintf (buf, sizeof(buf), _("out %d"), j + 1);
- _port_group->bundles.front()->add_channel (buf);
- _port_group->bundles.front()->add_port_to_channel (j, _session.engine().make_port_name_non_relative (i->name()));
- ++j;
- }
+ _ports[dim].suspend_signals ();
+
+ if (dim == _other) {
+
+ _ports[_other].gather (_session, _find_inputs_for_io_outputs);