summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/region_factory.h
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2010-03-30 23:40:28 +0000
committerCarl Hetherington <carl@carlh.net>2010-03-30 23:40:28 +0000
commite3dd8cc3ee481924997a1650e3a130b2579be209 (patch)
treec14bd1999d9e7887f6ec05dff2a697aa0323223a /libs/ardour/ardour/region_factory.h
parent6721d997b159842e2c977ec0dd0c94002c0e1e47 (diff)
Move region naming stuff from Session into RegionFactory, cleaning up some vestiges of when Session had a list of regions.
git-svn-id: svn://localhost/ardour2/branches/3.0@6812 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/region_factory.h')
-rw-r--r--libs/ardour/ardour/region_factory.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/libs/ardour/ardour/region_factory.h b/libs/ardour/ardour/region_factory.h
index 2bff4dd104..ca19f52fec 100644
--- a/libs/ardour/ardour/region_factory.h
+++ b/libs/ardour/ardour/region_factory.h
@@ -83,11 +83,27 @@ class RegionFactory {
static const RegionMap& regions() { return region_map; }
static uint32_t nregions ();
+ static int region_name (std::string &, std::string, bool new_level = false);
+ static std::string new_region_name (std::string);
+
private:
+
+ static boost::shared_ptr<Region> create (boost::shared_ptr<Region>, frameoffset_t offset,
+ bool offset_relative,
+ const PBD::PropertyList&, bool announce = true);
+
+ static void region_changed (PBD::PropertyChange const &, boost::weak_ptr<Region>);
+
static Glib::StaticMutex region_map_lock;
+
static RegionMap region_map;
static void map_add (boost::shared_ptr<Region>);
-
+
+ static Glib::StaticMutex region_name_map_lock;
+
+ static std::map<std::string, uint32_t> region_name_map;
+ static void update_region_name_map (boost::shared_ptr<Region>);
+
static PBD::ScopedConnectionList region_list_connections;
};