summaryrefslogtreecommitdiffstats
path: root/src/libs/client/ObjectModel.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-09-19 23:54:39 +0000
committerDavid Robillard <d@drobilla.net>2007-09-19 23:54:39 +0000
commitad558bdafde7e40b5de79b47d8586aec53cf3f7e (patch)
treea4431ddd696eb66eceb3119a9f7da933f3585ea4 /src/libs/client/ObjectModel.hpp
parent0b8415c61e321d032d62b5b1cbda65bab6f178d7 (diff)
downloadingen-ad558bdafde7e40b5de79b47d8586aec53cf3f7e.tar.gz
ingen-ad558bdafde7e40b5de79b47d8586aec53cf3f7e.tar.bz2
ingen-ad558bdafde7e40b5de79b47d8586aec53cf3f7e.zip
Toggling of individual node polyphonic state.
git-svn-id: http://svn.drobilla.net/lad/ingen@733 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/client/ObjectModel.hpp')
-rw-r--r--src/libs/client/ObjectModel.hpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/libs/client/ObjectModel.hpp b/src/libs/client/ObjectModel.hpp
index 429f5359..6d2675fb 100644
--- a/src/libs/client/ObjectModel.hpp
+++ b/src/libs/client/ObjectModel.hpp
@@ -62,10 +62,11 @@ public:
typedef Raul::Table<string, SharedPtr<ObjectModel> > Children;
- const MetadataMap& metadata() const { return _metadata; }
- const Children& children() const { return _children; }
- inline const Path& path() const { return _path; }
- SharedPtr<ObjectModel> parent() const { return _parent; }
+ const MetadataMap& metadata() const { return _metadata; }
+ const Children& children() const { return _children; }
+ inline const Path& path() const { return _path; }
+ SharedPtr<ObjectModel> parent() const { return _parent; }
+ bool polyphonic() const { return _polyphonic; }
SharedPtr<ObjectModel> get_child(const string& name) const;
@@ -73,13 +74,14 @@ public:
sigc::signal<void, const string&, const Atom&> metadata_update_sig;
sigc::signal<void, SharedPtr<ObjectModel> > new_child_sig;
sigc::signal<void, SharedPtr<ObjectModel> > removed_child_sig;
+ sigc::signal<void, bool> polyphonic_sig;
sigc::signal<void> destroyed_sig;
sigc::signal<void> renamed_sig;
protected:
friend class Store;
- ObjectModel(const Path& path);
+ ObjectModel(const Path& path, bool polyphonic);
virtual void set_path(const Path& p) { _path = p; renamed_sig.emit(); }
virtual void set_parent(SharedPtr<ObjectModel> p) { assert(p); _parent = p; }
@@ -87,10 +89,12 @@ protected:
virtual bool remove_child(SharedPtr<ObjectModel> c);
void add_metadata(const MetadataMap& data);
+ void set_polyphonic(bool);
void set(SharedPtr<ObjectModel> model);
Path _path;
+ bool _polyphonic;
SharedPtr<ObjectModel> _parent;
MetadataMap _metadata;