diff options
Diffstat (limited to 'source/blender/compositor/nodes/COM_KeyingScreenNode.cpp')
-rw-r--r-- | source/blender/compositor/nodes/COM_KeyingScreenNode.cpp | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/source/blender/compositor/nodes/COM_KeyingScreenNode.cpp b/source/blender/compositor/nodes/COM_KeyingScreenNode.cpp index 59d889d0c84..70b3b696e37 100644 --- a/source/blender/compositor/nodes/COM_KeyingScreenNode.cpp +++ b/source/blender/compositor/nodes/COM_KeyingScreenNode.cpp @@ -34,26 +34,20 @@ KeyingScreenNode::KeyingScreenNode(bNode *editorNode) : Node(editorNode) /* pass */ } -void KeyingScreenNode::convertToOperations(ExecutionSystem *graph, CompositorContext *context) +void KeyingScreenNode::convertToOperations(NodeConverter &converter, const CompositorContext &context) const { - OutputSocket *outputScreen = this->getOutputSocket(0); - bNode *editorNode = this->getbNode(); MovieClip *clip = (MovieClip *) editorNode->id; - NodeKeyingScreenData *keyingscreen_data = (NodeKeyingScreenData *) editorNode->storage; - + + NodeOutput *outputScreen = this->getOutputSocket(0); + // always connect the output image KeyingScreenOperation *operation = new KeyingScreenOperation(); - operation->setbNode(editorNode); - - if (outputScreen->isConnected()) { - outputScreen->relinkConnections(operation->getOutputSocket()); - } - operation->setMovieClip(clip); operation->setTrackingObject(keyingscreen_data->tracking_object); - operation->setFramenumber(context->getFramenumber()); - - graph->addOperation(operation); + operation->setFramenumber(context.getFramenumber()); + converter.addOperation(operation); + + converter.mapOutputSocket(outputScreen, operation->getOutputSocket()); } |