node: implemented convenience functions for transforming time

Implements a function that calculates the time transformation(s) only between
one node and another.
This commit is contained in:
itsmattkc
2020-03-26 00:26:13 +11:00
parent 9f3b9fdc70
commit c5d3c4ff36
4 changed files with 123 additions and 2 deletions
+9
View File
@@ -89,6 +89,15 @@ TimeRange ClipBlock::InputTimeAdjustment(NodeInput *input, const TimeRange &inpu
return Block::InputTimeAdjustment(input, input_time);
}
TimeRange ClipBlock::OutputTimeAdjustment(NodeInput *input, const TimeRange &input_time) const
{
if (input == texture_input_) {
return TimeRange(MediaToSequenceTime(input_time.in()), MediaToSequenceTime(input_time.out()));
}
return Block::InputTimeAdjustment(input, input_time);
}
NodeValueTable ClipBlock::Value(const NodeValueDatabase &value) const
{
// We discard most values here except for the buffer we received
+2
View File
@@ -46,6 +46,8 @@ public:
virtual TimeRange InputTimeAdjustment(NodeInput* input, const TimeRange& input_time) const override;
virtual TimeRange OutputTimeAdjustment(NodeInput* input, const TimeRange& input_time) const override;
virtual NodeValueTable Value(const NodeValueDatabase& value) const override;
virtual void Retranslate() override;