diff options
author | Carl Hetherington <carl@carlh.net> | 2009-01-25 06:47:11 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2009-01-25 06:47:11 +0000 |
commit | 49510ba1d7fc1c85e767c05f10f9481998ef94b0 (patch) | |
tree | e04210728fb9b5e52864eb8cdc0774e4d0b9d7f2 /gtk2_ardour/port_group.h | |
parent | a9d67a2cc97b28795a9112a176ba1f2c1ab470d3 (diff) |
Some refactoring. Add port group headers to the port matrix.
git-svn-id: svn://localhost/ardour2/branches/3.0@4443 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/port_group.h')
-rw-r--r-- | gtk2_ardour/port_group.h | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/gtk2_ardour/port_group.h b/gtk2_ardour/port_group.h index a5b5b109c4..17e9842f93 100644 --- a/gtk2_ardour/port_group.h +++ b/gtk2_ardour/port_group.h @@ -26,6 +26,7 @@ #include <gtkmm/checkbutton.h> #include <boost/shared_ptr.hpp> #include <ardour/data_type.h> +#include <ardour/types.h> namespace ARDOUR { class Session; @@ -53,7 +54,7 @@ public: void clear (); std::string name; ///< name for the group - std::vector<boost::shared_ptr<ARDOUR::Bundle> > bundles; + ARDOUR::BundleList bundles; std::vector<std::string> ports; bool visible () const { return _visible; @@ -95,30 +96,22 @@ class PortGroupUI class PortGroupList : public std::list<PortGroup*>, public sigc::trackable { public: - enum Mask { - BUSS = 0x1, - TRACK = 0x2, - SYSTEM = 0x4, - OTHER = 0x8 - }; + PortGroupList (ARDOUR::DataType, bool); - PortGroupList (ARDOUR::Session &, ARDOUR::DataType, bool, Mask); - - void refresh (); + void gather (ARDOUR::Session &); void set_type (ARDOUR::DataType); void set_offer_inputs (bool); - std::vector<boost::shared_ptr<ARDOUR::Bundle> > bundles (); + ARDOUR::BundleList bundles () const; void take_visibility_from (PortGroupList const &); + void clear_list (); sigc::signal<void> VisibilityChanged; private: - void maybe_add_session_bundle (boost::shared_ptr<ARDOUR::Bundle>); bool port_has_prefix (std::string const &, std::string const &) const; std::string common_prefix (std::vector<std::string> const &) const; void visibility_changed (); - ARDOUR::Session& _session; ARDOUR::DataType _type; bool _offer_inputs; @@ -126,6 +119,8 @@ class PortGroupList : public std::list<PortGroup*>, public sigc::trackable PortGroup _track; PortGroup _system; PortGroup _other; + + std::vector<sigc::connection> _visibility_connections; }; #endif /* __gtk_ardour_port_group_h__ */ |