flush_buffers on all of a route's deliveries so that MIDI sends work.
git-svn-id: svn://localhost/ardour2/branches/3.0@10231 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
8232d4ab6f
commit
cb58ca535f
@ -454,6 +454,10 @@ Delivery::flush_buffers (framecnt_t nframes, framepos_t time)
|
||||
{
|
||||
/* io_lock, not taken: function must be called from Session::process() calltree */
|
||||
|
||||
if (!_output) {
|
||||
return;
|
||||
}
|
||||
|
||||
PortSet& ports (_output->ports());
|
||||
|
||||
for (PortSet::iterator i = ports.begin(); i != ports.end(); ++i) {
|
||||
|
@ -398,7 +398,12 @@ MidiTrack::roll (pframes_t nframes, framepos_t start_frame, framepos_t end_frame
|
||||
(!diskstream->record_enabled() && !_session.transport_stopped()));
|
||||
}
|
||||
|
||||
_main_outs->flush_buffers (nframes, end_frame - start_frame - 1);
|
||||
for (ProcessorList::iterator i = _processors.begin(); i != _processors.end(); ++i) {
|
||||
boost::shared_ptr<Delivery> d = boost::dynamic_pointer_cast<Delivery> (*i);
|
||||
if (d) {
|
||||
d->flush_buffers (nframes, end_frame - start_frame - 1);
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -278,7 +278,12 @@ Track::no_roll (pframes_t nframes, framepos_t start_frame, framepos_t end_frame,
|
||||
passthru (start_frame, end_frame, nframes, false);
|
||||
}
|
||||
|
||||
_main_outs->flush_buffers (nframes, end_frame - start_frame - 1);
|
||||
for (ProcessorList::iterator i = _processors.begin(); i != _processors.end(); ++i) {
|
||||
boost::shared_ptr<Delivery> d = boost::dynamic_pointer_cast<Delivery> (*i);
|
||||
if (d) {
|
||||
d->flush_buffers (nframes, end_frame - start_frame - 1);
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user