+Send::update_delaylines ()
+{
+ if (_role == Listen) {
+ /* Don't align monitor-listen (just yet).
+ * They're present on each route, may change positions
+ * and could potentially signficiantly increase worst-case
+ * Latency: In PFL mode all tracks/busses would additionally be
+ * aligned at PFL position.
+ *
+ * We should only align active monitor-sends when at least one is active.
+ */
+ return;
+ }
+
+ bool changed;
+ if (_delay_out > _delay_in) {
+ changed = _thru_delay->set_delay(_delay_out - _delay_in);
+ _send_delay->set_delay(0);
+ } else {
+ changed = _thru_delay->set_delay(0);
+ _send_delay->set_delay(_delay_in - _delay_out);
+ }
+
+ if (changed) {
+ // TODO -- ideally postpone for effective no-op changes
+ // (in case both _delay_out and _delay_in are changed by the
+ // same amount in a single latency-update cycle).
+ ChangedLatency (); /* EMIT SIGNAL */
+ }
+}
+
+void
+Send::set_delay_in (samplecnt_t delay)