Merged with trunk R1283.
[ardour.git] / libs / ardour / ardour / playlist_factory.h
1 #ifndef __ardour_playlist_factory_h__
2 #define __ardour_playlist_factory_h__
3
4 #include <ardour/playlist.h>
5
6 class XMLNode;
7
8 namespace ARDOUR {
9
10 class Session;
11
12 class PlaylistFactory {
13
14   public:
15         static sigc::signal<void,boost::shared_ptr<Playlist> > PlaylistCreated;
16
17         static boost::shared_ptr<Playlist> create (Session&, const XMLNode&, bool hidden = false);
18         static boost::shared_ptr<Playlist> create (DataType type, Session&, string name, bool hidden = false);
19         static boost::shared_ptr<Playlist> create (boost::shared_ptr<const Playlist>, string name, bool hidden = false);
20         static boost::shared_ptr<Playlist> create (boost::shared_ptr<const Playlist>, nframes_t start, nframes_t cnt, string name, bool hidden = false);
21 };
22
23 }
24
25 #endif /* __ardour_playlist_factory_h__  */