aboutsummaryrefslogtreecommitdiffstats
path: root/src/engine/machina
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-12-02 04:43:48 +0000
committerDavid Robillard <d@drobilla.net>2007-12-02 04:43:48 +0000
commit0e03c5f94d91086ac1b9f3b42cee4459290e353e (patch)
tree4ae2e6f69c5b127bc2d0ba2920a7e9a2741c0339 /src/engine/machina
parent377f82ab766acf2c52674c11d507aeaee4349f46 (diff)
downloadmachina-0e03c5f94d91086ac1b9f3b42cee4459290e353e.tar.gz
machina-0e03c5f94d91086ac1b9f3b42cee4459290e353e.tar.bz2
machina-0e03c5f94d91086ac1b9f3b42cee4459290e353e.zip
Ability to add notes to non-MIDI-note nodes (ie make noise with mouse only).
Fix note label display. Canvas prettiness ++. git-svn-id: http://svn.drobilla.net/lad/machina@937 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/engine/machina')
-rw-r--r--src/engine/machina/Node.hpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/engine/machina/Node.hpp b/src/engine/machina/Node.hpp
index 2e26f0a..041f443 100644
--- a/src/engine/machina/Node.hpp
+++ b/src/engine/machina/Node.hpp
@@ -47,10 +47,7 @@ public:
Node(BeatCount duration=0, bool initial=false);
void set_enter_action(SharedPtr<Action> action);
- void remove_enter_action();
-
void set_exit_action(SharedPtr<Action> action);
- void remove_exit_action();
SharedPtr<Action> enter_action() { return _enter_action; }
SharedPtr<Action> exit_action() { return _exit_action; }
@@ -73,11 +70,24 @@ public:
void set_duration(BeatCount d) { _duration = d; }
bool is_selector() const { return _is_selector; }
void set_selector(bool i);
+
+ /// Schroedinger's flag
+ inline bool changed() {
+ if (_changed) {
+ _changed = false;
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ void set_changed() { _changed = true; }
typedef Raul::List<SharedPtr<Edge> > Edges;
Edges& outgoing_edges() { return _outgoing_edges; }
private:
+ bool _changed;
bool _is_initial;
bool _is_selector;
bool _is_active;