nodes: allow ignoring specific inputs for rendering

Also ignore sequence input on multicam
This commit is contained in:
itsmattkc
2022-10-04 21:13:01 -07:00
parent 73e1e60f82
commit ef8996d48f
4 changed files with 17 additions and 0 deletions
+5
View File
@@ -98,6 +98,11 @@ bool MultiCamNode::IsInputConnectedForRender(const QString &input, int element)
}
}
QVector<QString> MultiCamNode::IgnoreInputsForRendering() const
{
return {kSequenceInput};
}
void MultiCamNode::InputConnectedEvent(const QString &input, int element, Node *output)
{
if (input == kSequenceInput) {
+2
View File
@@ -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<QString> 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;
+5
View File
@@ -212,6 +212,11 @@ public:
return input_ids_;
}
virtual QVector<QString> IgnoreInputsForRendering() const
{
return QVector<QString>();
}
class ActiveElements
{
public:
+5
View File
@@ -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));
}