From f5fe87d959f593a17dac3e21193b9280124648ce Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Sat, 25 Jan 2020 16:38:18 +1100 Subject: [PATCH] track: reimplemented invalidate cache block Optimizes working in the timeline by only invalidating cache when necessary. --- app/node/output/track/track.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/node/output/track/track.cpp b/app/node/output/track/track.cpp index f85d6d1b2..3d2b85417 100644 --- a/app/node/output/track/track.cpp +++ b/app/node/output/track/track.cpp @@ -205,7 +205,9 @@ const QVector &TrackOutput::Blocks() const void TrackOutput::InvalidateCache(const rational &start_range, const rational &end_range, NodeInput *from) { - Node::InvalidateCache(qMax(start_range, rational(0)), qMin(end_range, track_length()), from); + if (block_invalidate_cache_stack_ == 0) { + Node::InvalidateCache(qMax(start_range, rational(0)), qMin(end_range, track_length()), from); + } } void TrackOutput::InsertBlockBefore(Block* block, Block* after)