nodes: transform block time ICs

Fixes #1686
This commit is contained in:
itsmattkc
2021-07-24 11:56:35 -07:00
parent 7b13972c57
commit f13962da5d
4 changed files with 40 additions and 17 deletions
+15
View File
@@ -21,6 +21,7 @@
#include "transition.h"
#include "common/clamp.h"
#include "node/output/track/track.h"
namespace olive {
@@ -214,6 +215,20 @@ NodeValueTable TransitionBlock::Value(const QString &output, NodeValueDatabase &
return table;
}
void TransitionBlock::InvalidateCache(const TimeRange &range, const QString &from, int element, InvalidateCacheOptions options)
{
TimeRange r;
if (from == kOutBlockInput || from == kInBlockInput) {
Block *n = dynamic_cast<Block*>(GetConnectedNode(from));
if (n) {
r = Track::TransformRangeFromBlock(n, r);
}
}
super::InvalidateCache(r, from, element, options);
}
void TransitionBlock::ShaderJobEvent(NodeValueDatabase &value, ShaderJob &job) const
{
Q_UNUSED(value)