diff options
author | David Robillard <d@drobilla.net> | 2008-08-17 20:16:21 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2008-08-17 20:16:21 +0000 |
commit | 9dadfb83f9ce69a870362824bc6a3cad371385af (patch) | |
tree | 8018e5fdcd77dbb674191c3a3200c2680670876b /src/libs/engine/ObjectSender.cpp | |
parent | cd0bc4625bab110e8e4b780c5b80c87662d35bab (diff) | |
download | ingen-9dadfb83f9ce69a870362824bc6a3cad371385af.tar.gz ingen-9dadfb83f9ce69a870362824bc6a3cad371385af.tar.bz2 ingen-9dadfb83f9ce69a870362824bc6a3cad371385af.zip |
Set/send/etc properties through the engine.
Add 'ingen:selected' property so selection is persistent and shared among clients.
git-svn-id: http://svn.drobilla.net/lad/ingen@1424 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/engine/ObjectSender.cpp')
-rw-r--r-- | src/libs/engine/ObjectSender.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/libs/engine/ObjectSender.cpp b/src/libs/engine/ObjectSender.cpp index 3a716a28..bcab46a8 100644 --- a/src/libs/engine/ObjectSender.cpp +++ b/src/libs/engine/ObjectSender.cpp @@ -97,11 +97,16 @@ ObjectSender::send_node(ClientInterface* client, const NodeImpl* node, bool recu client->new_node(node->path(), node->plugin()->uri()); client->set_property(node->path(), "ingen:polyphonic", node->polyphonic()); - // Send variable + // Send variables const GraphObjectImpl::Variables& data = node->variables(); for (GraphObjectImpl::Variables::const_iterator j = data.begin(); j != data.end(); ++j) client->set_variable(node->path(), (*j).first, (*j).second); + // Send properties + const GraphObjectImpl::Properties& prop = node->properties(); + for (GraphObjectImpl::Properties::const_iterator j = prop.begin(); j != prop.end(); ++j) + client->set_property(node->path(), (*j).first, (*j).second); + client->bundle_end(); if (recursive) { @@ -127,6 +132,11 @@ ObjectSender::send_port(ClientInterface* client, const PortImpl* port) for (GraphObjectImpl::Variables::const_iterator j = data.begin(); j != data.end(); ++j) client->set_variable(port->path(), (*j).first, (*j).second); + // Send properties + const GraphObjectImpl::Properties& prop = port->properties(); + for (GraphObjectImpl::Properties::const_iterator j = prop.begin(); j != prop.end(); ++j) + client->set_property(port->path(), (*j).first, (*j).second); + // Send control value if (port->type() == DataType::CONTROL) { const Sample value = dynamic_cast<const AudioBuffer*>(port->buffer(0))->value_at(0); |