+ /** An individual bundle on our list has changed in some way */
+ PBD::Signal1<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::weak_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;