From 83d366452af8e93f0722658d730528d699f21e2b Mon Sep 17 00:00:00 2001 From: David Robillard Date: Thu, 9 Mar 2017 08:33:21 +0100 Subject: Preliminary port groups work --- ingen/Node.hpp | 3 ++- ingen/Resource.hpp | 3 ++- ingen/URIs.hpp | 8 +++++++- ingen/client/BlockModel.hpp | 5 ++++- 4 files changed, 15 insertions(+), 4 deletions(-) (limited to 'ingen') diff --git a/ingen/Node.hpp b/ingen/Node.hpp index a585d03a..066c5d17 100644 --- a/ingen/Node.hpp +++ b/ingen/Node.hpp @@ -53,7 +53,8 @@ public: enum class GraphType { GRAPH, BLOCK, - PORT + PORT, + GROUP }; typedef std::pair ArcsKey; diff --git a/ingen/Resource.hpp b/ingen/Resource.hpp index 3eb1349f..1ffa571e 100644 --- a/ingen/Resource.hpp +++ b/ingen/Resource.hpp @@ -187,7 +187,8 @@ public: bool& graph, bool& block, bool& port, - bool& is_output); + bool& is_output, + bool& is_group); virtual void set_uri(const Raul::URI& uri) { _uri = uri; } diff --git a/ingen/URIs.hpp b/ingen/URIs.hpp index 44f1056e..8bd3eca4 100644 --- a/ingen/URIs.hpp +++ b/ingen/URIs.hpp @@ -1,6 +1,6 @@ /* This file is part of Ingen. - Copyright 2007-2016 David Robillard + Copyright 2007-2017 David Robillard Ingen is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free @@ -194,6 +194,11 @@ public: const Quark patch_subject; const Quark patch_value; const Quark patch_wildcard; + const Quark pg_DiscreteGroup; + const Quark pg_InputGroup; + const Quark pg_OutputGroup; + const Quark pg_element; + const Quark pg_group; const Quark pprops_logarithmic; const Quark pset_Preset; const Quark pset_preset; @@ -201,6 +206,7 @@ public: const Quark rdfs_Class; const Quark rdfs_label; const Quark rdfs_seeAlso; + const Quark rdfs_subClassOf; const Quark rsz_minimumSize; const Quark state_loadDefaultState; const Quark state_state; diff --git a/ingen/client/BlockModel.hpp b/ingen/client/BlockModel.hpp index e689414c..bd8b336a 100644 --- a/ingen/client/BlockModel.hpp +++ b/ingen/client/BlockModel.hpp @@ -36,8 +36,9 @@ class URIs; namespace Client { -class PluginModel; class ClientStore; +class GroupModel; +class PluginModel; /** Block model class, used by the client to store engine's state. * @@ -81,6 +82,8 @@ public: // Signals INGEN_SIGNAL(new_port, void, SPtr); INGEN_SIGNAL(removed_port, void, SPtr); + INGEN_SIGNAL(new_group, void, SPtr); + INGEN_SIGNAL(removed_group, void, SPtr); protected: friend class ClientStore; -- cgit v1.2.1