13
0

NO-OP: clarify internal API, prepare for overwrite queue

This commit is contained in:
Robin Gareus 2019-02-08 17:35:05 +01:00
parent a6e7abb7fa
commit b5587e5e43
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04
5 changed files with 14 additions and 17 deletions

View File

@ -49,8 +49,8 @@ public:
void run (BufferSet& /*bufs*/, samplepos_t /*start_sample*/, samplepos_t /*end_sample*/, double speed, pframes_t /*nframes*/, bool /*result_required*/);
void realtime_handle_transport_stopped ();
void realtime_locate ();
int overwrite_existing_buffers ();
void set_pending_overwrite (bool yn);
bool overwrite_existing_buffers ();
void set_pending_overwrite ();
int set_state (const XMLNode&, int version);

View File

@ -135,13 +135,13 @@ public:
float capture_buffer_load () const;
int do_refill ();
int do_flush (RunContext, bool force = false);
void set_pending_overwrite (bool);
void set_pending_overwrite ();
int seek (samplepos_t, bool complete_refill = false);
bool can_internal_playback_seek (samplecnt_t);
void internal_playback_seek (samplecnt_t);
void non_realtime_locate (samplepos_t);
void realtime_handle_transport_stopped ();
int overwrite_existing_buffers ();
bool overwrite_existing_buffers ();
samplecnt_t get_captured_samples (uint32_t n = 0) const;
void transport_looped (samplepos_t);
void transport_stopped_wallclock (struct tm &, time_t, bool);

View File

@ -464,12 +464,13 @@ DiskReader::run (BufferSet& bufs, samplepos_t start_sample, samplepos_t end_samp
}
void
DiskReader::set_pending_overwrite (bool yn)
DiskReader::set_pending_overwrite ()
{
/* called from audio thread, so we can use the read ptr and playback sample as we wish */
_pending_overwrite = yn;
assert (!_pending_overwrite);
_pending_overwrite = true;
overwrite_sample = playback_sample;
boost::shared_ptr<ChannelList> c = channels.reader ();
@ -478,11 +479,9 @@ DiskReader::set_pending_overwrite (bool yn)
}
}
int
bool
DiskReader::overwrite_existing_buffers ()
{
int ret = -1;
boost::shared_ptr<ChannelList> c = channels.reader();
overwrite_queued = false;
@ -520,8 +519,6 @@ DiskReader::overwrite_existing_buffers ()
goto midi;
}
}
ret = 0;
}
midi:
@ -550,7 +547,7 @@ DiskReader::overwrite_existing_buffers ()
_pending_overwrite = false;
return ret;
return true;
}
int

View File

@ -98,7 +98,7 @@ Session::overwrite_some_buffers (Track* t)
if (t) {
t->set_pending_overwrite (true);
t->set_pending_overwrite ();
} else {
@ -106,7 +106,7 @@ Session::overwrite_some_buffers (Track* t)
for (RouteList::iterator i = rl->begin(); i != rl->end(); ++i) {
boost::shared_ptr<Track> tr = boost::dynamic_pointer_cast<Track> (*i);
if (tr) {
tr->set_pending_overwrite (true);
tr->set_pending_overwrite ();
}
}
}

View File

@ -492,9 +492,9 @@ Track::do_flush (RunContext c, bool force)
}
void
Track::set_pending_overwrite (bool o)
Track::set_pending_overwrite ()
{
_disk_reader->set_pending_overwrite (o);
_disk_reader->set_pending_overwrite ();
}
int
@ -524,7 +524,7 @@ Track::non_realtime_locate (samplepos_t p)
Route::non_realtime_locate (p);
}
int
bool
Track::overwrite_existing_buffers ()
{
return _disk_reader->overwrite_existing_buffers ();