diff options
author | David Robillard <d@drobilla.net> | 2017-03-09 08:33:21 +0100 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2017-03-09 08:33:21 +0100 |
commit | 83d366452af8e93f0722658d730528d699f21e2b (patch) | |
tree | db66b0653d57ca2e2939a1352b3d45aeada4689e /src/client | |
parent | e360392489fe62dbae1f0c28b7f5fb839851f5f6 (diff) | |
download | ingen-83d366452af8e93f0722658d730528d699f21e2b.tar.gz ingen-83d366452af8e93f0722658d730528d699f21e2b.tar.bz2 ingen-83d366452af8e93f0722658d730528d699f21e2b.zip |
Preliminary port groups workgroups
Diffstat (limited to 'src/client')
-rw-r--r-- | src/client/ClientStore.cpp | 10 | ||||
-rw-r--r-- | src/client/GraphModel.cpp | 10 |
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); |