diff --git a/app/node/input/multicam/multicamnode.cpp b/app/node/input/multicam/multicamnode.cpp index 9dd96e6a4..2ff887069 100644 --- a/app/node/input/multicam/multicamnode.cpp +++ b/app/node/input/multicam/multicamnode.cpp @@ -98,6 +98,11 @@ bool MultiCamNode::IsInputConnectedForRender(const QString &input, int element) } } +QVector MultiCamNode::IgnoreInputsForRendering() const +{ + return {kSequenceInput}; +} + void MultiCamNode::InputConnectedEvent(const QString &input, int element, Node *output) { if (input == kSequenceInput) { diff --git a/app/node/input/multicam/multicamnode.h b/app/node/input/multicam/multicamnode.h index cec77a88a..ead53c63c 100644 --- a/app/node/input/multicam/multicamnode.h +++ b/app/node/input/multicam/multicamnode.h @@ -60,6 +60,8 @@ public: virtual Node *GetConnectedRenderOutput(const QString& input, int element = -1) const override; virtual bool IsInputConnectedForRender(const QString& input, int element = -1) const override; + virtual QVector IgnoreInputsForRendering() const override; + protected: virtual void InputConnectedEvent(const QString &input, int element, Node *output) override; virtual void InputDisconnectedEvent(const QString &input, int element, Node *output) override; diff --git a/app/node/node.h b/app/node/node.h index e6ffa724c..99e4239e2 100644 --- a/app/node/node.h +++ b/app/node/node.h @@ -212,6 +212,11 @@ public: return input_ids_; } + virtual QVector IgnoreInputsForRendering() const + { + return QVector(); + } + class ActiveElements { public: diff --git a/app/node/traverser.cpp b/app/node/traverser.cpp index 355932af1..ee1fa0fbd 100644 --- a/app/node/traverser.cpp +++ b/app/node/traverser.cpp @@ -38,11 +38,16 @@ NodeValueDatabase NodeTraverser::GenerateDatabase(const Node* node, const TimeRa } // We need to insert tables into the database for each input + auto ignore = node->IgnoreInputsForRendering(); foreach (const QString& input, node->inputs()) { if (IsCancelled()) { return NodeValueDatabase(); } + if (ignore.contains(input)) { + continue; + } + database.Insert(input, ProcessInput(node, input, range)); }