Skip silent sources on session-archive -- fixes #7699
[ardour.git] / gtk2_ardour / port_group.h
index 5f66c8cd81424bf0d18d1ac90c67edc04c1329e6..3d9e87f710879294f59e7ca2b2a85e229ad0bc6e 100644 (file)
@@ -75,7 +75,7 @@ public:
            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;
@@ -99,7 +99,7 @@ private:
 /// A list of PortGroups
 class PortGroupList : public sigc::trackable
 {
-  public:
+public:
        PortGroupList ();
        ~PortGroupList();
 
@@ -107,7 +107,7 @@ class PortGroupList : public sigc::trackable
 
        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>);
@@ -136,16 +136,14 @@ class PortGroupList : public sigc::trackable
        /** A bundle in one of our groups has changed */
        PBD::Signal1<void,ARDOUR::Bundle::Change> BundleChanged;
 
-  private:
+private:
        bool port_has_prefix (std::string const &, std::string const &) const;
        std::string common_prefix (std::vector<std::string> const &) const;
        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;
-       void maybe_add_processor_to_list (
-               boost::weak_ptr<ARDOUR::Processor>, std::list<boost::shared_ptr<ARDOUR::IO> > *, bool, std::set<boost::shared_ptr<ARDOUR::IO> > &
-               );
+       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::IO> > *, bool, std::set<boost::shared_ptr<ARDOUR::IO> > &);
 
        mutable PortGroup::BundleList _bundles;
        List _groups;