summaryrefslogtreecommitdiffstats
path: root/src/client/OSCEngineSender.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2008-11-16 05:34:01 +0000
committerDavid Robillard <d@drobilla.net>2008-11-16 05:34:01 +0000
commit0fd3c583e032a3cd5af877902d4561a45179a232 (patch)
treee6bc62875842fda0908f1aea3a51b67740825d71 /src/client/OSCEngineSender.cpp
parent24d998447070dbfef3eaf7762dce7e97c3903801 (diff)
downloadingen-0fd3c583e032a3cd5af877902d4561a45179a232.tar.gz
ingen-0fd3c583e032a3cd5af877902d4561a45179a232.tar.bz2
ingen-0fd3c583e032a3cd5af877902d4561a45179a232.zip
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
Diffstat (limited to 'src/client/OSCEngineSender.cpp')
-rw-r--r--src/client/OSCEngineSender.cpp29
1 files changed, 29 insertions, 0 deletions
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 <iostream>
#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<const Patch*>(object);
+ if (patch) {
+ new_patch(patch->path(), patch->internal_polyphony());
+ return;
+ }
+
+ const Node* node = dynamic_cast<const Node*>(object);
+ if (node) {
+ new_node(node->path(), node->plugin()->uri());
+ return;
+ }
+
+ const Port* port = dynamic_cast<const Port*>(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)