summaryrefslogtreecommitdiff
path: root/libs/pbd/pbd/command.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-08-01 20:50:09 +0000
committerDavid Robillard <d@drobilla.net>2007-08-01 20:50:09 +0000
commitd7db3f757fde92126ef9886370ce604992b7e974 (patch)
tree4ac58366ad0a9980756c23ef58e413ce54bf395f /libs/pbd/pbd/command.h
parent3f421ac45025a856f03b779363f8f5f60b837b1e (diff)
Better MidiModel command framework, ready to go for all your canvas editing needs.
Rewrote MidiEvent to be a well-behaved self-contained object that optionally owns it's buffer, has proper copying semantics, etc. Fixed crazy bugs triggered by adding lots of events with varying times to a region. Speed up initial session display significantly (don't redraw each MIDI region tons of times, though still happens more than once and can use fixing...). git-svn-id: svn://localhost/ardour2/trunk@2213 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/pbd/pbd/command.h')
-rw-r--r--libs/pbd/pbd/command.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/libs/pbd/pbd/command.h b/libs/pbd/pbd/command.h
index 5d45f85ac3..a66485bc0d 100644
--- a/libs/pbd/pbd/command.h
+++ b/libs/pbd/pbd/command.h
@@ -30,11 +30,20 @@ public:
virtual void operator() () = 0;
+ void set_name (const std::string& str) { _name = str; }
+ const std::string& name() const { return _name; }
+
virtual void undo() = 0;
virtual void redo() { (*this)(); }
virtual XMLNode &get_state();
virtual int set_state(const XMLNode&) { /* noop */ return 0; }
+
+protected:
+ Command() {}
+ Command(const std::string& name) : _name(name) {}
+
+ std::string _name;
};
#endif // __lib_pbd_command_h_