summaryrefslogtreecommitdiffstats
path: root/src/client
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2017-03-09 08:33:21 +0100
committerDavid Robillard <d@drobilla.net>2017-03-09 08:33:21 +0100
commit83d366452af8e93f0722658d730528d699f21e2b (patch)
treedb66b0653d57ca2e2939a1352b3d45aeada4689e /src/client
parente360392489fe62dbae1f0c28b7f5fb839851f5f6 (diff)
downloadingen-groups.tar.gz
ingen-groups.tar.bz2
ingen-groups.zip
Preliminary port groups workgroups
Diffstat (limited to 'src/client')
-rw-r--r--src/client/ClientStore.cpp10
-rw-r--r--src/client/GraphModel.cpp10
2 files changed, 18 insertions, 2 deletions
diff --git a/src/client/ClientStore.cpp b/src/client/ClientStore.cpp
index eac853f7..92b6eab1 100644
--- a/src/client/ClientStore.cpp
+++ b/src/client/ClientStore.cpp
@@ -19,6 +19,7 @@
#include "ingen/client/BlockModel.hpp"
#include "ingen/client/ClientStore.hpp"
#include "ingen/client/GraphModel.hpp"
+#include "ingen/client/GroupModel.hpp"
#include "ingen/client/ObjectModel.hpp"
#include "ingen/client/PluginModel.hpp"
#include "ingen/client/PortModel.hpp"
@@ -243,9 +244,9 @@ ClientStore::put(const Raul::URI& uri,
{
typedef Properties::const_iterator Iterator;
- bool is_graph, is_block, is_port, is_output;
+ bool is_graph, is_block, is_port, is_output, is_group;
Resource::type(uris(), properties,
- is_graph, is_block, is_port, is_output);
+ is_graph, is_block, is_port, is_output, is_group);
// Check for specially handled types
const Iterator t = properties.find(_uris.rdf_type);
@@ -334,6 +335,11 @@ ClientStore::put(const Raul::URI& uri,
SPtr<PortModel> p(new PortModel(uris(), path, index, pdir));
p->set_properties(properties);
add_object(p);
+ } else if (is_group) {
+ _log.warn(fmt("Group! %1%\n") % path.c_str());
+ SPtr<GroupModel> g(new GroupModel(uris(), path));
+ g->set_properties(properties);
+ add_object(g);
} else {
_log.warn(fmt("Ignoring %1% of unknown type\n") % path.c_str());
}
diff --git a/src/client/GraphModel.cpp b/src/client/GraphModel.cpp
index d02a3736..8cfd08e1 100644
--- a/src/client/GraphModel.cpp
+++ b/src/client/GraphModel.cpp
@@ -21,6 +21,7 @@
#include "ingen/client/BlockModel.hpp"
#include "ingen/client/ClientStore.hpp"
#include "ingen/client/GraphModel.hpp"
+#include "ingen/client/GroupModel.hpp"
using namespace std;
@@ -38,6 +39,15 @@ GraphModel::add_child(SPtr<ObjectModel> c)
return;
}
+ SPtr<GroupModel> gm = dynamic_ptr_cast<GroupModel>(c);
+ if (gm) {
+ fprintf(stderr, "GROUP!!!!!!!!!!!\n");
+ _signal_new_group.emit(gm);
+ // add_group(gm);
+ return;
+ }
+
+
SPtr<BlockModel> bm = dynamic_ptr_cast<BlockModel>(c);
if (bm) {
_signal_new_block.emit(bm);