diff options
Diffstat (limited to 'src/engine/ObjectSender.cpp')
-rw-r--r-- | src/engine/ObjectSender.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/engine/ObjectSender.cpp b/src/engine/ObjectSender.cpp index bb2de6f8..8f38b738 100644 --- a/src/engine/ObjectSender.cpp +++ b/src/engine/ObjectSender.cpp @@ -31,6 +31,31 @@ namespace Ingen { void +ObjectSender::send_object(ClientInterface* client, const GraphObjectImpl* object, bool recursive) +{ + client->new_object(object); + + const PatchImpl* patch = dynamic_cast<const PatchImpl*>(object); + if (patch) { + send_patch(client, patch, recursive); + return; + } + + const NodeImpl* node = dynamic_cast<const NodeImpl*>(object); + if (node) { + send_node(client, node, recursive); + return; + } + + const PortImpl* port = dynamic_cast<const PortImpl*>(object); + if (port) { + send_port(client, port); + return; + } +} + + +void ObjectSender::send_patch(ClientInterface* client, const PatchImpl* patch, bool recursive) { client->bundle_begin(); |