nodes: allow ignoring specific inputs for rendering
Also ignore sequence input on multicam
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -212,6 +212,11 @@ public:
|
||||
return input_ids_;
|
||||
}
|
||||
|
||||
virtual QVector<QString> IgnoreInputsForRendering() const
|
||||
{
|
||||
return QVector<QString>();
|
||||
}
|
||||
|
||||
class ActiveElements
|
||||
{
|
||||
public:
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user