From 53838fc350887b01c260c8af17cd45a3cab7e4fb Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Sat, 14 Nov 2009 23:08:17 +0000 Subject: Allow multiple bundles with the same ports in the bundle editor, otherwise sometimes important bundles can be incorrectly hidden. git-svn-id: svn://localhost/ardour2/branches/3.0@6087 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/port_group.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'gtk2_ardour/port_group.h') diff --git a/gtk2_ardour/port_group.h b/gtk2_ardour/port_group.h index e382a7f7c6..27698ddbb0 100644 --- a/gtk2_ardour/port_group.h +++ b/gtk2_ardour/port_group.h @@ -49,7 +49,7 @@ class PortGroup : public sigc::trackable public: PortGroup (std::string const & n); - void add_bundle (boost::shared_ptr); + void add_bundle (boost::shared_ptr, bool allow_dups = false); void add_bundle (boost::shared_ptr, boost::shared_ptr io); void add_bundle (boost::shared_ptr, boost::shared_ptr, Gdk::Color); void remove_bundle (boost::shared_ptr); @@ -76,7 +76,9 @@ public: struct BundleRecord { boost::shared_ptr bundle; - boost::shared_ptr io; + /** 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 io; Gdk::Color colour; bool has_colour; sigc::connection changed_connection; @@ -90,7 +92,7 @@ public: private: void bundle_changed (ARDOUR::Bundle::Change); - void add_bundle_internal (boost::shared_ptr, boost::shared_ptr, bool, Gdk::Color); + void add_bundle_internal (boost::shared_ptr, boost::shared_ptr, bool, Gdk::Color, bool); BundleList _bundles; bool _visible; ///< true if the group is visible in the UI @@ -106,7 +108,7 @@ class PortGroupList : public sigc::trackable void add_group (boost::shared_ptr); void set_type (ARDOUR::DataType); - void gather (ARDOUR::Session &, bool); + void gather (ARDOUR::Session &, bool, bool); PortGroup::BundleList const & bundles () const; void clear (); void remove_bundle (boost::shared_ptr); -- cgit v1.2.3