nodes: rewrote and simplified length signaling system

This commit is contained in:
itsmattkc
2021-07-15 21:00:18 -07:00
parent 8350ce300f
commit 4bbc75392a
20 changed files with 148 additions and 241 deletions
+8 -3
View File
@@ -57,13 +57,18 @@ PreCacheTask::~PreCacheTask()
bool PreCacheTask::Run()
{
// Get list of invalidated ranges
TimeRangeList video_range = viewer()->video_frame_cache()->GetInvalidatedRanges();
TimeRange intersection;
// If we're caching only in-out, limit the range to that
if (footage_->GetTimelinePoints()->workarea()->enabled()) {
video_range = video_range.Intersects(footage_->GetTimelinePoints()->workarea()->range());
// If we're caching only in-out, limit the range to that
intersection = footage_->GetTimelinePoints()->workarea()->range();
} else {
// Otherwise use full length
intersection = TimeRange(0, footage_->GetVideoLength());
}
TimeRangeList video_range = viewer()->video_frame_cache()->GetInvalidatedRanges(intersection);
Render(project_->color_manager(),
video_range,
TimeRangeList(),