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 /libs/ardour/ardour | |
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 'libs/ardour/ardour')
-rw-r--r-- | libs/ardour/ardour/io.h | 7 | ||||
-rw-r--r-- | libs/ardour/ardour/session.h | 9 | ||||
-rw-r--r-- | libs/ardour/ardour/types.h | 3 |
3 files changed, 10 insertions, 9 deletions
diff --git a/libs/ardour/ardour/io.h b/libs/ardour/ardour/io.h index a738519d57..1918a9a41a 100644 --- a/libs/ardour/ardour/io.h +++ b/libs/ardour/ardour/io.h @@ -127,8 +127,8 @@ class IO : public SessionObject, public AutomatableControls, public Latent int connect_input_ports_to_bundle (boost::shared_ptr<Bundle>, void *src); int connect_output_ports_to_bundle (boost::shared_ptr<Bundle>, void *src); - std::vector<boost::shared_ptr<Bundle> > bundles_connected_to_inputs (); - std::vector<boost::shared_ptr<Bundle> > bundles_connected_to_outputs (); + BundleList bundles_connected_to_inputs (); + BundleList bundles_connected_to_outputs (); boost::shared_ptr<Bundle> bundle_for_inputs () { return _bundle_for_inputs; } boost::shared_ptr<Bundle> bundle_for_outputs () { return _bundle_for_outputs; } @@ -380,9 +380,6 @@ class IO : public SessionObject, public AutomatableControls, public Latent void create_bundles_for_inputs_and_outputs (); void setup_bundles_for_inputs_and_outputs (); - - void maybe_add_input_bundle_to_list (boost::shared_ptr<Bundle>, std::vector<boost::shared_ptr<Bundle> >*); - void maybe_add_output_bundle_to_list (boost::shared_ptr<Bundle>, std::vector<boost::shared_ptr<Bundle> >*); }; } // namespace ARDOUR diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h index 2c173a9766..1a88882eb6 100644 --- a/libs/ardour/ardour/session.h +++ b/libs/ardour/ardour/session.h @@ -317,6 +317,10 @@ class Session : public PBD::StatefulDestructible uint32_t ntracks () const; uint32_t nbusses () const; + boost::shared_ptr<BundleList> bundles () { + return _bundles.reader (); + } + struct RoutePublicOrderSorter { bool operator() (boost::shared_ptr<Route>, boost::shared_ptr<Route> b); }; @@ -771,7 +775,6 @@ class Session : public PBD::StatefulDestructible /* I/O bundles */ - void foreach_bundle (sigc::slot<void, boost::shared_ptr<Bundle> >); void add_bundle (boost::shared_ptr<Bundle>); void remove_bundle (boost::shared_ptr<Bundle>); boost::shared_ptr<Bundle> bundle_by_name (string) const; @@ -1616,9 +1619,7 @@ class Session : public PBD::StatefulDestructible /* I/O bundles */ - typedef list<boost::shared_ptr<Bundle> > BundleList; - mutable Glib::Mutex bundle_lock; - BundleList _bundles; + SerializedRCUManager<BundleList> _bundles; XMLNode* _bundle_xml_node; int load_bundles (XMLNode const &); diff --git a/libs/ardour/ardour/types.h b/libs/ardour/ardour/types.h index 53077387ed..cb058254bf 100644 --- a/libs/ardour/ardour/types.h +++ b/libs/ardour/ardour/types.h @@ -419,6 +419,9 @@ namespace ARDOUR { typedef std::list<nframes64_t> AnalysisFeatureList; + class Bundle; + typedef std::vector<boost::shared_ptr<Bundle> > BundleList; + } // namespace ARDOUR std::istream& operator>>(std::istream& o, ARDOUR::SampleFormat& sf); |