summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/automatable.h
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2010-06-25 20:47:09 +0000
committerCarl Hetherington <carl@carlh.net>2010-06-25 20:47:09 +0000
commitecb0cd5d119d28092a8f48e4521ac5eba197bb54 (patch)
tree57d7bcff09ab6d6382af929212ff4a4adeea2658 /libs/ardour/ardour/automatable.h
parentad81fd40d22f63f0f9e7a247164b6b367fabb2fd (diff)
Make MIDI region `automation' respect the automation mode so that it is
only played back if the automation mode is set to "Play". Munge AutoState for AutomationRegionViews so that they reflect their AutomationTimeAxisView's setting. Fixes #3135. git-svn-id: svn://localhost/ardour2/branches/3.0@7304 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/automatable.h')
-rw-r--r--libs/ardour/ardour/automatable.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/libs/ardour/ardour/automatable.h b/libs/ardour/ardour/automatable.h
index 9b83705b0a..79bbec5199 100644
--- a/libs/ardour/ardour/automatable.h
+++ b/libs/ardour/ardour/automatable.h
@@ -24,6 +24,7 @@
#include <set>
#include <string>
#include <boost/shared_ptr.hpp>
+#include "pbd/signals.h"
#include "evoral/ControlSet.hpp"
#include "ardour/types.h"
@@ -94,6 +95,9 @@ public:
int set_automation_state (const XMLNode&, Evoral::Parameter default_param);
XMLNode& get_automation_state();
+ /** Emitted when the automation state of one of our controls changes */
+ PBD::Signal1<void, Evoral::Parameter> AutomationStateChanged;
+
protected:
Session& _a_session;
@@ -109,6 +113,10 @@ public:
nframes_t _last_automation_snapshot;
static nframes_t _automation_interval;
+
+private:
+ void automation_state_changed (Evoral::Parameter const &);
+ PBD::ScopedConnectionList _control_connections; ///< connections to our controls' signals
};