26 #include <glibmm/threads.h>
49 typedef std::map<PBD::ID, std::shared_ptr<Region> >
RegionMap;
70 static std::shared_ptr<Region>
create (std::shared_ptr<const Region> other,
bool announce,
bool fork =
false,
ThawList* tl = 0);
73 static std::shared_ptr<Region>
create (std::shared_ptr<Region> other,
bool announce,
bool fork)
75 return create (std::shared_ptr<const Region> (other), announce, fork, 0);
112 for (RegionMap::const_iterator i = region_map.begin (); i != region_map.end (); ++i) {
117 static int region_name (std::string&, std::string,
bool new_level =
false);
119 static std::string
compound_region_name (
const std::string& playlist, uint32_t compound_ops, uint32_t depth,
bool whole_source);
138 return _compound_associations;
148 static void map_add (std::shared_ptr<Region>);
151 friend class ::RegionNamingTest;
static uint32_t nregions()
static std::shared_ptr< Region > create(Session &, XMLNode &, bool)
static std::shared_ptr< Region > wholefile_region_by_name(const std::string &name)
static void add_to_region_name_maps(std::shared_ptr< Region >)
static std::shared_ptr< Region > create(std::shared_ptr< Region > other, const SourceList &srcs, const PBD::PropertyList &, bool announce=true, ThawList *tl=0)
static CompoundAssociations _compound_associations
static RegionMap region_map
static std::shared_ptr< Region > get_whole_region_for_source(std::shared_ptr< ARDOUR::Source >)
static const RegionMap & regions()
static std::map< std::string, PBD::ID > region_name_map
static std::shared_ptr< Region > create(std::shared_ptr< Source >, const PBD::PropertyList &, bool announce=true, ThawList *tl=0)
static CompoundAssociations & compound_associations()
static std::map< std::string, uint32_t > region_name_number_map
static std::shared_ptr< Region > create(SourceList &srcs, const XMLNode &)
static Glib::Threads::Mutex region_map_lock
static PBD::Signal< void(std::shared_ptr< Region >)> CheckNewRegion
static std::string compound_region_name(const std::string &playlist, uint32_t compound_ops, uint32_t depth, bool whole_source)
static std::string new_region_name(std::string)
std::map< std::shared_ptr< Region >, std::shared_ptr< Region > > CompoundAssociations
static void delete_all_regions()
static std::shared_ptr< Region > create(std::shared_ptr< Region > other, const PBD::PropertyList &, bool announce=true, ThawList *tl=0)
static std::shared_ptr< Region > region_by_id(const PBD::ID &)
std::map< PBD::ID, std::shared_ptr< Region > > RegionMap
static void region_changed(PBD::PropertyChange const &, std::weak_ptr< Region >)
static std::shared_ptr< Region > create(const SourceList &, const PBD::PropertyList &, bool announce=true, ThawList *tl=0)
static const RegionMap all_regions()
static void rename_in_region_name_maps(std::shared_ptr< Region >)
static int region_name(std::string &, std::string, bool new_level=false)
static void map_add(std::shared_ptr< Region >)
static void remove_regions_using_source(std::shared_ptr< Source >)
static std::shared_ptr< Region > create(std::shared_ptr< Region > other, bool announce, bool fork)
static Glib::Threads::Mutex region_name_maps_mutex
static void get_regions_using_source(std::shared_ptr< Source >, std::set< std::shared_ptr< Region > > &)
static void remove_from_region_name_map(std::string)
static std::shared_ptr< Region > create(std::shared_ptr< Region > other, timecnt_t const &offset, const PBD::PropertyList &, bool announce=true, ThawList *tl=0)
static PBD::ScopedConnectionList * region_list_connections
static std::shared_ptr< Region > create(std::shared_ptr< const Region > other, bool announce, bool fork=false, ThawList *tl=0)
static void map_remove(std::weak_ptr< Region >)
static void add_compound_association(std::shared_ptr< Region >, std::shared_ptr< Region >)
static std::shared_ptr< Region > region_by_name(const std::string &name)
static void update_region_name_number_map(std::shared_ptr< Region >)
static void foreach_region(std::function< void(std::shared_ptr< Region >)> f)
GtkImageIconNameData name
std::vector< std::shared_ptr< Source > > SourceList