diff options
Diffstat (limited to 'libs')
-rw-r--r-- | libs/ardour/ardour/disk_writer.h | 2 | ||||
-rw-r--r-- | libs/ardour/disk_writer.cc | 13 |
2 files changed, 15 insertions, 0 deletions
diff --git a/libs/ardour/ardour/disk_writer.h b/libs/ardour/ardour/disk_writer.h index 1d5820dbf5..31a64cd0e8 100644 --- a/libs/ardour/ardour/disk_writer.h +++ b/libs/ardour/ardour/disk_writer.h @@ -141,6 +141,8 @@ protected: virtual XMLNode& state (); + int use_playlist (DataType, boost::shared_ptr<Playlist>); + int do_flush (RunContext context, bool force = false); private: diff --git a/libs/ardour/disk_writer.cc b/libs/ardour/disk_writer.cc index 51b91b5617..ae29fb2d10 100644 --- a/libs/ardour/disk_writer.cc +++ b/libs/ardour/disk_writer.cc @@ -1337,3 +1337,16 @@ DiskWriter::configure_io (ChanCount in, ChanCount out) return true; } + +int +DiskWriter::use_playlist (DataType dt, boost::shared_ptr<Playlist> playlist) +{ + bool reset_ws = _playlists[dt] != playlist; + + if (DiskIOProcessor::use_playlist (dt, playlist)) { + return -1; + } + if (reset_ws) { + reset_write_sources (false, true); + } +} |