X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fdelivery.cc;h=c538f6be8a5d597bb572cde045c313e54e6b731c;hb=d01cb7910faddbf13b7190ceca990a2cafb71f95;hp=b70d86a75d7fd9efe773fb1902c43dd08e996c5a;hpb=22b07e0233a29d9633ffa825a79503befaf2e16e;p=ardour.git diff --git a/libs/ardour/delivery.cc b/libs/ardour/delivery.cc index b70d86a75d..c538f6be8a 100644 --- a/libs/ardour/delivery.cc +++ b/libs/ardour/delivery.cc @@ -236,7 +236,7 @@ Delivery::run (BufferSet& bufs, framepos_t start_frame, framepos_t end_frame, pf PortSet& ports (_output->ports()); gain_t tgain; - if (_output->n_ports ().get (_output->default_type()) == 0) { + if (ports.num_ports () == 0) { goto out; } @@ -246,8 +246,8 @@ Delivery::run (BufferSet& bufs, framepos_t start_frame, framepos_t end_frame, pf } /* this setup is not just for our purposes, but for anything that comes after us in the - processing pathway that wants to use this->output_buffers() for some reason. - */ + * processing pathway that wants to use this->output_buffers() for some reason. + */ // TODO delayline -- latency-compensation output_buffers().get_backend_port_addresses (ports, nframes); @@ -267,8 +267,8 @@ Delivery::run (BufferSet& bufs, framepos_t start_frame, framepos_t end_frame, pf } else if (tgain < GAIN_COEFF_SMALL) { /* we were quiet last time, and we're still supposed to be quiet. - Silence the outputs, and make sure the buffers are quiet too, - */ + Silence the outputs, and make sure the buffers are quiet too, + */ _output->silence (nframes); if (result_required) { @@ -283,7 +283,7 @@ Delivery::run (BufferSet& bufs, framepos_t start_frame, framepos_t end_frame, pf Amp::apply_simple_gain (bufs, nframes, tgain); } - // Speed quietning + // Speed quietning if (fabs (_session.transport_speed()) > 1.5 && Config->get_quieten_at_speed ()) { Amp::apply_simple_gain (bufs, nframes, speed_quietning, false); @@ -300,7 +300,7 @@ Delivery::run (BufferSet& bufs, framepos_t start_frame, framepos_t end_frame, pf // MIDI data will not have been delivered by the panner if (bufs.count().n_midi() > 0 && ports.count().n_midi () > 0) { - _output->copy_to_outputs (bufs, DataType::MIDI, nframes, 0); + _output->copy_to_outputs (bufs, DataType::MIDI, nframes, ports.port(0)->port_offset()); } } else { @@ -309,18 +309,18 @@ Delivery::run (BufferSet& bufs, framepos_t start_frame, framepos_t end_frame, pf if (bufs.count().n_audio() > 0 && ports.count().n_audio () > 0) { _output->copy_to_outputs (bufs, DataType::AUDIO, nframes, 0); - } + } if (bufs.count().n_midi() > 0 && ports.count().n_midi () > 0) { - _output->copy_to_outputs (bufs, DataType::MIDI, nframes, 0); + _output->copy_to_outputs (bufs, DataType::MIDI, nframes, ports.port(0)->port_offset()); } } - if (result_required) { - bufs.read_from (output_buffers (), nframes); - } + if (result_required) { + bufs.read_from (output_buffers (), nframes); + } - out: +out: _active = _pending_active; }