diff options
author | Jesse Chappell <jesse@essej.net> | 2006-10-17 21:45:20 +0000 |
---|---|---|
committer | Jesse Chappell <jesse@essej.net> | 2006-10-17 21:45:20 +0000 |
commit | bebd86d2084c535440ca5819ebe831f62aaff9e4 (patch) | |
tree | 695a1dbde83dd1f3908e4e455d44f9523759d746 | |
parent | 33e626bad79152925fc6d42c82525406e663addd (diff) |
fixed double application of gain on tracks/busses with bypassed panners
git-svn-id: svn://localhost/ardour2/trunk@990 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r-- | libs/ardour/ardour/io.h | 4 | ||||
-rw-r--r-- | libs/ardour/io.cc | 7 | ||||
-rw-r--r-- | libs/ardour/route.cc | 3 |
3 files changed, 9 insertions, 5 deletions
diff --git a/libs/ardour/ardour/io.h b/libs/ardour/ardour/io.h index e59ec6c23d..96ae75f298 100644 --- a/libs/ardour/ardour/io.h +++ b/libs/ardour/ardour/io.h @@ -273,7 +273,9 @@ public: Connection* _output_connection; bool no_panner_reset; XMLNode* deferred_state; - DataType _default_type; + DataType _default_type; + bool _ignore_gain_on_deliver; + virtual void set_deferred_state() {} diff --git a/libs/ardour/io.cc b/libs/ardour/io.cc index b6c3648cda..bcd3ee7940 100644 --- a/libs/ardour/io.cc +++ b/libs/ardour/io.cc @@ -125,7 +125,8 @@ IO::IO (Session& s, string name, deferred_state = 0; apply_gain_automation = false; - + _ignore_gain_on_deliver = false; + _gain_automation_state = Off; _gain_automation_style = Absolute; @@ -431,7 +432,7 @@ IO::deliver_output_no_pan (vector<Sample *>& bufs, uint32_t nbufs, nframes_t nfr gain_t dg; gain_t old_gain = _gain; - if (apply_gain_automation) { + if (apply_gain_automation || _ignore_gain_on_deliver) { /* gain has already been applied by automation code. do nothing here except speed quietning. @@ -498,7 +499,7 @@ IO::deliver_output_no_pan (vector<Sample *>& bufs, uint32_t nbufs, nframes_t nfr _gain = dg; } - if (apply_gain_automation) { + if (apply_gain_automation || _ignore_gain_on_deliver) { _gain = old_gain; } } diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index 87493e5400..782cb1c69e 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -89,7 +89,8 @@ Route::init () _declickable = false; _pending_declick = true; _remote_control_id = 0; - + _ignore_gain_on_deliver = true; + _edit_group = 0; _mix_group = 0; |