summaryrefslogtreecommitdiff
path: root/libs/ardour/io.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/io.cc')
-rw-r--r--libs/ardour/io.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/libs/ardour/io.cc b/libs/ardour/io.cc
index 7d9734d6d6..ad376628db 100644
--- a/libs/ardour/io.cc
+++ b/libs/ardour/io.cc
@@ -2584,8 +2584,11 @@ IO::set_gain_automation_state (AutoState state)
changed = true;
last_automation_snapshot = 0;
_gain_automation_curve.set_automation_state (state);
-
- if (state != Off) {
+
+ /* don't reset gain if we're moving to Off or Write mode;
+ if we're moving to Write, the user may have manually set up gains
+ that they don't want to lose */
+ if (state != Off && state != Write) {
set_gain (_gain_automation_curve.eval (_session.transport_frame()), this);
}
}