summaryrefslogtreecommitdiff
path: root/libs/ardour/disk_writer.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2017-04-11 17:38:34 +0100
committerPaul Davis <paul@linuxaudiosystems.com>2017-09-18 11:40:53 -0400
commit53e6f13852f1cc831002cce9dc84d07e7e526515 (patch)
treef199dcfb041f77e69fa5fefe8d91c662aad768de /libs/ardour/disk_writer.cc
parent462711b23ab270c77d3ccb5aa23f5f9088b456b1 (diff)
addd more DEBUG_TRACE for DiskIO; set DiskIOProcess::_need_butler more appropriately; other minor adjustments
Diffstat (limited to 'libs/ardour/disk_writer.cc')
-rw-r--r--libs/ardour/disk_writer.cc11
1 files changed, 6 insertions, 5 deletions
diff --git a/libs/ardour/disk_writer.cc b/libs/ardour/disk_writer.cc
index be6763e088..f02217e046 100644
--- a/libs/ardour/disk_writer.cc
+++ b/libs/ardour/disk_writer.cc
@@ -477,9 +477,6 @@ DiskWriter::prepare_record_status(framepos_t capture_start_frame)
void
DiskWriter::run (BufferSet& bufs, framepos_t start_frame, framepos_t end_frame,
double speed, pframes_t nframes, bool result_required)
-
-/* (BufferSet& bufs, framepos_t transport_frame, pframes_t nframes, framecnt_t& playback_distance, bool need_disk_signal)
- */
{
uint32_t n;
boost::shared_ptr<ChannelList> c = channels.reader();
@@ -490,6 +487,8 @@ DiskWriter::run (BufferSet& bufs, framepos_t start_frame, framepos_t end_frame,
bool re = record_enabled ();
bool can_record = _session.actively_recording ();
+ _need_butler = false;
+
check_record_status (start_frame, can_record);
if (nframes == 0) {
@@ -687,7 +686,7 @@ DiskWriter::run (BufferSet& bufs, framepos_t start_frame, framepos_t end_frame,
/* AUDIO BUTLER REQUIRED CODE */
- if (!c->empty()) {
+ if (_playlists[DataType::AUDIO] && !c->empty()) {
if (((framecnt_t) c->front()->buf->read_space() >= _chunk_frames)) {
_need_butler = true;
}
@@ -695,9 +694,11 @@ DiskWriter::run (BufferSet& bufs, framepos_t start_frame, framepos_t end_frame,
/* MIDI BUTLER REQUIRED CODE */
- if (_midi_buf->read_space() < _midi_buf->bufsize() / 2) {
+ if (_playlists[DataType::MIDI] && (_midi_buf->read_space() < _midi_buf->bufsize() / 2)) {
_need_butler = true;
}
+
+ DEBUG_TRACE (DEBUG::Butler, string_compose ("%1 writer run, needs butler = %2\n", name(), _need_butler));
}
void