summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/ardour/disk_writer.h2
-rw-r--r--libs/ardour/disk_writer.cc13
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);
+ }
+}