1 #ifndef __ardour_region_factory_h__
2 #define __ardour_region_factory_h__
4 #include <ardour/types.h>
5 #include <ardour/region.h>
16 /* This is emitted only when a new id is assigned. Therefore,
17 in a pure Region copy, it will not be emitted.
19 It must be emitted by derived classes, not Region
20 itself, to permit dynamic_cast<> to be used to
21 infer the type of Region.
24 static sigc::signal<void,boost::shared_ptr<Region> > CheckNewRegion;
26 static boost::shared_ptr<Region> create (boost::shared_ptr<Region>, jack_nframes_t start,
27 jack_nframes_t length, std::string name,
28 layer_t = 0, Region::Flag flags = Region::DefaultFlags, bool announce = true);
29 static boost::shared_ptr<Region> create (Source&, jack_nframes_t start, jack_nframes_t length, const string& name, layer_t = 0, Region::Flag flags = Region::DefaultFlags, bool announce = true);
30 static boost::shared_ptr<Region> create (SourceList &, jack_nframes_t start, jack_nframes_t length, const string& name, layer_t = 0, Region::Flag flags = Region::DefaultFlags, bool announce = true);
31 static boost::shared_ptr<Region> create (boost::shared_ptr<Region>);
32 static boost::shared_ptr<Region> create (Session&, XMLNode&, bool);
33 static boost::shared_ptr<Region> create (SourceList &, const XMLNode&);
38 #endif /* __ardour_region_factory_h__ */