renderer: massive overhaul to move to a vastly simplified threading system

This commit is contained in:
itsmattkc
2020-05-15 00:52:45 +10:00
parent ef6aa18fe1
commit 8795e51452
20 changed files with 1022 additions and 530 deletions
+8 -6
View File
@@ -34,20 +34,22 @@ class NodeTraverser : public CancelableObject
public:
NodeTraverser() = default;
NodeValueTable GenerateTable(const Node *n, const TimeRange &range) const;
NodeValueTable GenerateTable(const Node *n, const rational &in, const rational& out) const;
NodeValueTable GenerateTable(const Node *n, const TimeRange &range);
NodeValueTable GenerateTable(const Node *n, const rational &in, const rational& out);
NodeValueDatabase GenerateDatabase(const Node *node, const TimeRange &range) const;
NodeValueDatabase GenerateDatabase(const Node *node, const TimeRange &range);
protected:
virtual NodeValueTable GenerateBlockTable(const TrackOutput *track, const TimeRange& range) const;
NodeValueTable ProcessInput(NodeInput *input, const TimeRange &range);
virtual void FootageProcessingEvent(StreamPtr, const TimeRange&, NodeValueTable*) const {}
virtual NodeValueTable GenerateBlockTable(const TrackOutput *track, const TimeRange& range);
virtual void FootageProcessingEvent(StreamPtr, const TimeRange&, NodeValueTable*) {}
virtual void ProcessNodeEvent(const Node*,
const TimeRange&,
NodeValueDatabase&,
NodeValueTable&) const {}
NodeValueTable&) {}
private:
static StreamPtr ResolveStreamFromInput(NodeInput* input);