summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/region_factory.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2010-03-02 00:00:00 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2010-03-02 00:00:00 +0000
commitdb8b575c30845bafc34b87bacd52129c95d1c478 (patch)
tree7a521b7795cc6cc4e41d717a0feabd1aefb83e1f /libs/ardour/ardour/region_factory.h
parent3540594dc53137eb9e857f9e3c1309382a6d7bef (diff)
the mega-properties/SequenceProperty patch. split is broken at present (right hand starts has start-in-source of zero)
git-svn-id: svn://localhost/ardour2/branches/3.0@6718 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/region_factory.h')
-rw-r--r--libs/ardour/ardour/region_factory.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/libs/ardour/ardour/region_factory.h b/libs/ardour/ardour/region_factory.h
index 16e48828d4..a01103603a 100644
--- a/libs/ardour/ardour/region_factory.h
+++ b/libs/ardour/ardour/region_factory.h
@@ -21,6 +21,7 @@
#define __ardour_region_factory_h__
#include <map>
+#include <glibmm/thread.h>
#include "pbd/id.h"
@@ -37,8 +38,10 @@ class AudioRegion;
class RegionFactory {
public:
+ typedef std::map<PBD::ID,boost::shared_ptr<Region> > RegionMap;
static boost::shared_ptr<Region> region_by_id (const PBD::ID&);
+ static const RegionMap all_regions() { return region_map; }
static void clear_map ();
/** This is emitted only when a new id is assigned. Therefore,
@@ -75,8 +78,10 @@ class RegionFactory {
static boost::shared_ptr<Region> create (SourceList& srcs, const XMLNode&);
private:
- static std::map<PBD::ID,boost::weak_ptr<Region> > region_map;
+ static Glib::StaticMutex region_map_lock;
+ static RegionMap region_map;
static void map_add (boost::shared_ptr<Region>);
+ static void map_remove (boost::shared_ptr<Region>);
};
}