[Ardour-Dev] [PATCH] Now this fixes automation for real.

Torben Hohn torbenh at gmx.de
Wed Oct 1 16:10:57 PDT 2008


when transport is stopped only write when automation wants to
get written in set_value.

when transport is rolling Route::automation_snapshot
calls down to IO::automation_snapshot
---
 libs/ardour/automation_control.cc |    2 +-
 libs/ardour/route.cc              |    3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/libs/ardour/automation_control.cc b/libs/ardour/automation_control.cc
index 710fe44..2100265 100644
--- a/libs/ardour/automation_control.cc
+++ b/libs/ardour/automation_control.cc
@@ -53,7 +53,7 @@ void
 AutomationControl::set_value(float value)
 {
 	bool to_list = _list && _session.transport_stopped()
-		&& ((AutomationList*)_list.get())->automation_playback();
+		&& ((AutomationList*)_list.get())->automation_write();
 	
 	Control::set_float(value, to_list, _session.transport_frame());
 
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc
index d1599f5..78d4a85 100644
--- a/libs/ardour/route.cc
+++ b/libs/ardour/route.cc
@@ -2996,8 +2996,9 @@ Route::automation_snapshot (nframes_t now, bool force)
 		return;
 	}
 
+	IO::automation_snapshot (now, force);
+
 	for (ProcessorList::iterator i = _processors.begin(); i != _processors.end(); ++i) {
-		// IO::automation_snapshot (now, force);  ?
 		(*i)->automation_snapshot (now, force);
 	}
 }
-- 
1.5.6.4




More information about the Ardour-Dev mailing list