From 1d48648a734423d2a1b1689efaa32e7f6452c5ea Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Wed, 25 May 2016 19:20:09 +0200 Subject: fix timecode update after locate. Various session rt-events set "_send_timecode_update" to true, but at the same time queue post-transport-work. The timecode-update is generated, but due to pending transport work session->silent() is true and the timecode was never sent. --- libs/ardour/port_manager.cc | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'libs/ardour/port_manager.cc') diff --git a/libs/ardour/port_manager.cc b/libs/ardour/port_manager.cc index 93cb5fbb1a..1eafca0574 100644 --- a/libs/ardour/port_manager.cc +++ b/libs/ardour/port_manager.cc @@ -28,6 +28,7 @@ #include "ardour/midiport_manager.h" #include "ardour/port_manager.h" #include "ardour/profile.h" +#include "ardour/session.h" #include "i18n.h" @@ -665,9 +666,18 @@ PortManager::cycle_end (pframes_t nframes) } void -PortManager::silence (pframes_t nframes) +PortManager::silence (pframes_t nframes, Session *s) { for (Ports::iterator i = _cycle_ports->begin(); i != _cycle_ports->end(); ++i) { + if (s && i->second == s->mtc_output_port ()) { + continue; + } + if (s && i->second == s->midi_clock_output_port ()) { + continue; + } + if (s && i->second == s->ltc_output_port ()) { + continue; + } if (i->second->sends_output()) { i->second->get_buffer(nframes).silence(nframes); } -- cgit v1.2.3