diff options
Diffstat (limited to 'libs/ardour/ardour/source_factory.h')
-rw-r--r-- | libs/ardour/ardour/source_factory.h | 21 |
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; |