- sigc::signal<void> Modified;
- sigc::signal<void, ARDOUR::Bundle::Change> BundleChanged;
+ struct BundleRecord {
+ 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;
+ Gdk::Color colour;
+ bool has_colour;
+ PBD::ScopedConnection changed_connection;
+
+ BundleRecord (boost::shared_ptr<ARDOUR::Bundle>, boost::shared_ptr<ARDOUR::IO>, Gdk::Color, bool has_colour);
+ };
+
+ typedef std::list<BundleRecord*> BundleList;
+
+ BundleList const & bundles () const {
+ return _bundles;
+ }