summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/source_factory.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/ardour/source_factory.h')
-rw-r--r--libs/ardour/ardour/source_factory.h21
1 files changed, 15 insertions, 6 deletions
diff --git a/libs/ardour/ardour/source_factory.h b/libs/ardour/ardour/source_factory.h
index c5994027ce..b8bc5e72b5 100644
--- a/libs/ardour/ardour/source_factory.h
+++ b/libs/ardour/ardour/source_factory.h
@@ -32,6 +32,7 @@ namespace ARDOUR {
class Session;
class AudioSource;
+class Playlist;
class SourceFactory {
public:
@@ -43,13 +44,21 @@ class SourceFactory {
static boost::shared_ptr<Source> createSilent (Session&, const XMLNode& node,
framecnt_t nframes, float sample_rate);
- static boost::shared_ptr<Source> createReadable (DataType type, Session&,
- const std::string& path,
- int chn, Source::Flag flags, bool announce = true, bool async = false);
+ static boost::shared_ptr<Source> createReadable
+ (DataType type, Session&,
+ const std::string& path,
+ int chn, Source::Flag flags, bool announce = true, bool async = false);
- static boost::shared_ptr<Source> createWritable (DataType type, Session&,
- const std::string& path, const std::string& origin,
- bool destructive, framecnt_t rate, bool announce = true, bool async = false);
+ static boost::shared_ptr<Source> createWritable
+ (DataType type, Session&,
+ const std::string& path, const std::string& origin,
+ bool destructive, framecnt_t rate, bool announce = true, bool async = false);
+
+
+ static boost::shared_ptr<Source> createFromPlaylist
+ (DataType type, Session& s, boost::shared_ptr<Playlist> p, const std::string& name,
+ uint32_t chn, frameoffset_t start, framecnt_t len, bool copy, Source::Flag flags,
+ bool announce, bool defer_peaks);
static Glib::Cond* PeaksToBuild;
static Glib::StaticMutex peak_building_lock;