Make bus's trim control also affect sends to the bus
authorJulien "_FrnchFrgg_" RIVAUD <frnchfrgg@free.fr>
Wed, 20 Jul 2016 11:50:25 +0000 (13:50 +0200)
committerJulien "_FrnchFrgg_" RIVAUD <frnchfrgg@free.fr>
Wed, 20 Jul 2016 11:58:42 +0000 (13:58 +0200)
The trim processor was moved to the front after the internal return was,
so the trim setting was applied before the signal coming from other
tracks/busses sends was mixed in. Change the order so that trim applies
to audio from internal sends as well.

libs/ardour/midi_region.cc
libs/ardour/route.cc

index eef2811c5b963c7b438862cb02486ba86f0c783c..fed411b10a1fe7224cbf7ac8f0571d47a487963c 100644 (file)
@@ -142,7 +142,7 @@ MidiRegion::do_export (string path) const
                /* Lock our source since we'll be reading from it.  write_to() will
                   take a lock on newsrc. */
                Source::Lock lm (midi_source(0)->mutex());
-               if (midi_source(0)->export_write_to (lm, newsrc, bbegin, bend)) {
+               if (midi_source(0)->export _write_to (lm, newsrc, bbegin, bend)) {
                        return false;
                }
        }
index 8f32ca1aa37c6b4aa08ffe6745426c63a93bb536..f1bf1127c454c159937ef129fdca5cb23ce3628b 100644 (file)
@@ -4510,10 +4510,17 @@ Route::setup_invisible_processors ()
                new_processors.insert (amp, _monitor_control);
        }
 
+       /* TRIM CONTROL */
+
+       if (_trim && _trim->active()) {
+               assert (!_trim->display_to_user ());
+               new_processors.push_front (_trim);
+       }
+
        /* INTERNAL RETURN */
 
-       /* doing this here means that any monitor control will come just after
-          the return.
+       /* doing this here means that any monitor control will come after
+          the return and trim.
        */
 
        if (_intreturn) {
@@ -4521,10 +4528,6 @@ Route::setup_invisible_processors ()
                new_processors.push_front (_intreturn);
        }
 
-       if (_trim && _trim->active()) {
-               assert (!_trim->display_to_user ());
-               new_processors.push_front (_trim);
-       }
        /* EXPORT PROCESSOR */
 
        if (_capturing_processor) {