From 0fd3c583e032a3cd5af877902d4561a45179a232 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 16 Nov 2008 05:34:01 +0000 Subject: Follow new object creation via HTTP (serialising/parsing RDF to communicate between client and engine). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1722 a436a847-0d15-0410-975c-d299462d15a1 --- src/client/OSCEngineSender.cpp | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'src/client/OSCEngineSender.cpp') diff --git a/src/client/OSCEngineSender.cpp b/src/client/OSCEngineSender.cpp index 1eb9ad6e..7392f9d2 100644 --- a/src/client/OSCEngineSender.cpp +++ b/src/client/OSCEngineSender.cpp @@ -18,6 +18,9 @@ #include #include "raul/AtomLiblo.hpp" #include "OSCEngineSender.hpp" +#include "common/interface/Patch.hpp" +#include "common/interface/Port.hpp" +#include "common/interface/Plugin.hpp" using namespace std; using Raul::Atom; @@ -127,6 +130,32 @@ OSCEngineSender::quit() // Object commands + +void +OSCEngineSender::new_object(const Shared::GraphObject* object) +{ + using namespace Shared; + + const Patch* patch = dynamic_cast(object); + if (patch) { + new_patch(patch->path(), patch->internal_polyphony()); + return; + } + + const Node* node = dynamic_cast(object); + if (node) { + new_node(node->path(), node->plugin()->uri()); + return; + } + + const Port* port = dynamic_cast(object); + if (port) { + new_port(port->path(), port->type().uri(), port->index(), !port->is_input()); + return; + } +} + + void OSCEngineSender::new_patch(const string& path, uint32_t poly) -- cgit v1.2.1