20 #ifndef __ardour_region_factory_h__
21 #define __ardour_region_factory_h__
25 #include <glibmm/threads.h>
44 typedef std::map<PBD::ID,boost::shared_ptr<Region> >
RegionMap;
50 static void clear_map ();
90 static void delete_all_regions ();
91 static const RegionMap&
regions() {
return region_map; }
92 static uint32_t nregions ();
94 static int region_name (std::string &, std::string,
bool new_level =
false);
95 static std::string new_region_name (std::string);
96 static std::string compound_region_name (
const std::string& playlist, uint32_t compound_ops, uint32_t depth,
bool whole_source);
124 friend class ::RegionNamingTest;
140 static void remove_from_region_name_map (std::string);
std::map< PBD::ID, boost::shared_ptr< Region > > RegionMap
static std::map< std::string, PBD::ID > region_name_map
static const RegionMap all_regions()
std::map< boost::shared_ptr< Region >, boost::shared_ptr< Region > > CompoundAssociations
static const RegionMap & regions()
static Glib::Threads::Mutex region_name_maps_mutex
static std::map< std::string, uint32_t > region_name_number_map
static Glib::Threads::Mutex region_map_lock
static CompoundAssociations _compound_associations
static PBD::ScopedConnectionList * region_list_connections
static CompoundAssociations & compound_associations()
static PBD::Signal1< void, boost::shared_ptr< Region > > CheckNewRegion
std::vector< boost::shared_ptr< Source > > SourceList
static RegionMap region_map