}
class PortMatrix;
-class RouteBundle;
class PublicEditor;
/** A list of bundles grouped by some aspect of their type e.g. busses, tracks, system.
boost::shared_ptr<ARDOUR::Bundle> bundle;
/** IO whose ports are in the bundle, or 0. This is so that we can do things like adding
ports to the IO from matrix editor menus. */
- boost::shared_ptr<ARDOUR::IO> io;
+ boost::weak_ptr<ARDOUR::IO> io;
Gdk::Color colour;
bool has_colour;
PBD::ScopedConnection changed_connection;
void add_group (boost::shared_ptr<PortGroup>);
void add_group_if_not_empty (boost::shared_ptr<PortGroup>);
- void gather (ARDOUR::Session *, ARDOUR::DataType, bool, bool);
+ void gather (ARDOUR::Session *, ARDOUR::DataType, bool, bool, bool);
PortGroup::BundleList const & bundles () const;
void clear ();
void remove_bundle (boost::shared_ptr<ARDOUR::Bundle>);
std::string common_prefix_before (std::vector<std::string> const &, std::string const &) const;
void emit_changed ();
void emit_bundle_changed (ARDOUR::Bundle::Change);
- boost::shared_ptr<ARDOUR::Bundle> make_bundle_from_ports (std::vector<std::string> const &, ARDOUR::DataType, bool) const;
+ boost::shared_ptr<ARDOUR::Bundle> make_bundle_from_ports (std::vector<std::string> const &, ARDOUR::DataType, bool, std::string const& bundle_name = std::string()) const;
void maybe_add_processor_to_list (
- boost::weak_ptr<ARDOUR::Processor>, std::list<boost::shared_ptr<ARDOUR::Bundle> > *, bool, std::set<boost::shared_ptr<ARDOUR::IO> > &
+ boost::weak_ptr<ARDOUR::Processor>, std::list<boost::shared_ptr<ARDOUR::IO> > *, bool, std::set<boost::shared_ptr<ARDOUR::IO> > &
);
mutable PortGroup::BundleList _bundles;