summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2008-11-16 21:03:00 +0000
committerDavid Robillard <d@drobilla.net>2008-11-16 21:03:00 +0000
commitcb93ffe78c76780c346ed10eae1c4484c79ed05c (patch)
treeee18d94c1f160871cf1ccb32f6289786190ada1f
parent16e1283137ce7975866cc2ce070954ff9b04afc6 (diff)
downloadingen-cb93ffe78c76780c346ed10eae1c4484c79ed05c.tar.gz
ingen-cb93ffe78c76780c346ed10eae1c4484c79ed05c.tar.bz2
ingen-cb93ffe78c76780c346ed10eae1c4484c79ed05c.zip
Fix GUI tracking of property changes (e.g. polyphonic for stacked modules, fix ticket #253).
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1733 a436a847-0d15-0410-975c-d299462d15a1
-rw-r--r--src/client/ClientStore.hpp3
-rw-r--r--src/client/ObjectModel.hpp5
-rw-r--r--src/shared/ResourceImpl.hpp2
3 files changed, 8 insertions, 2 deletions
diff --git a/src/client/ClientStore.hpp b/src/client/ClientStore.hpp
index 1d5c4589..cd5ffb06 100644
--- a/src/client/ClientStore.hpp
+++ b/src/client/ClientStore.hpp
@@ -29,7 +29,8 @@
#include "raul/TableImpl.hpp"
#include "interface/EngineInterface.hpp"
#include "shared/Store.hpp"
-using std::string; using std::list;
+
+using namespace std;
using Ingen::Shared::EngineInterface;
using Raul::Path;
using Raul::Atom;
diff --git a/src/client/ObjectModel.hpp b/src/client/ObjectModel.hpp
index 843b14de..d4c74ee0 100644
--- a/src/client/ObjectModel.hpp
+++ b/src/client/ObjectModel.hpp
@@ -64,6 +64,11 @@ public:
const Atom& get_variable(const string& key) const;
Atom& get_variable( string& key);
+ virtual void set_property(const string& key, const Atom& value) {
+ ResourceImpl::set_property(key, value);
+ signal_property.emit(key, value);
+ }
+
virtual void set_variable(const string& key, const Atom& value)
{ _variables[key] = value; signal_variable.emit(key, value); }
diff --git a/src/shared/ResourceImpl.hpp b/src/shared/ResourceImpl.hpp
index 35259a3b..8181ed07 100644
--- a/src/shared/ResourceImpl.hpp
+++ b/src/shared/ResourceImpl.hpp
@@ -37,7 +37,7 @@ public:
const Properties& properties() const { return _properties; }
Properties& properties() { return _properties; }
- void set_property(const std::string& uri, const Raul::Atom& value) {
+ virtual void set_property(const std::string& uri, const Raul::Atom& value) {
_properties[uri] = value;
}