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)
|
void MultiCamNode::InputConnectedEvent(const QString &input, int element, Node *output)
|
||||||
{
|
{
|
||||||
if (input == kSequenceInput) {
|
if (input == kSequenceInput) {
|
||||||
|
|||||||
@@ -60,6 +60,8 @@ public:
|
|||||||
virtual Node *GetConnectedRenderOutput(const QString& input, int element = -1) const override;
|
virtual Node *GetConnectedRenderOutput(const QString& input, int element = -1) const override;
|
||||||
virtual bool IsInputConnectedForRender(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:
|
protected:
|
||||||
virtual void InputConnectedEvent(const QString &input, int element, Node *output) override;
|
virtual void InputConnectedEvent(const QString &input, int element, Node *output) override;
|
||||||
virtual void InputDisconnectedEvent(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_;
|
return input_ids_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
virtual QVector<QString> IgnoreInputsForRendering() const
|
||||||
|
{
|
||||||
|
return QVector<QString>();
|
||||||
|
}
|
||||||
|
|
||||||
class ActiveElements
|
class ActiveElements
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -38,11 +38,16 @@ NodeValueDatabase NodeTraverser::GenerateDatabase(const Node* node, const TimeRa
|
|||||||
}
|
}
|
||||||
|
|
||||||
// We need to insert tables into the database for each input
|
// We need to insert tables into the database for each input
|
||||||
|
auto ignore = node->IgnoreInputsForRendering();
|
||||||
foreach (const QString& input, node->inputs()) {
|
foreach (const QString& input, node->inputs()) {
|
||||||
if (IsCancelled()) {
|
if (IsCancelled()) {
|
||||||
return NodeValueDatabase();
|
return NodeValueDatabase();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ignore.contains(input)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
database.Insert(input, ProcessInput(node, input, range));
|
database.Insert(input, ProcessInput(node, input, range));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user