#include "ardour/panner.h"
#include "ardour/port.h"
#include "ardour/session.h"
+#include "ardour/audioengine.h"
#include "i18n.h"
using namespace PBD;
using namespace ARDOUR;
-PBD::Signal1<void,nframes_t> Delivery::CycleStart;
-PBD::Signal0<int> Delivery::PannersLegal;
-bool Delivery::panners_legal = false;
+PBD::Signal1<void, pframes_t> Delivery::CycleStart;
+PBD::Signal0<int> Delivery::PannersLegal;
+bool Delivery::panners_legal = false;
/* deliver to an existing IO object */
}
void
-Delivery::cycle_start (nframes_t /*nframes*/)
+Delivery::cycle_start (pframes_t /*nframes*/)
{
_output_offset = 0;
_no_outs_cuz_we_no_monitor = false;
}
void
-Delivery::increment_output_offset (nframes_t n)
+Delivery::increment_output_offset (framecnt_t n)
{
_output_offset += n;
}
return false;
}
+/** Caller must hold process lock */
bool
Delivery::configure_io (ChanCount in, ChanCount out)
{
+ assert (!AudioEngine::instance()->process_lock().trylock());
+
/* check configuration by comparison with our I/O port configuration, if appropriate.
see ::can_support_io_configuration() for comments
*/
}
void
-Delivery::run (BufferSet& bufs, framepos_t start_frame, framepos_t end_frame, nframes_t nframes, bool result_required)
+Delivery::run (BufferSet& bufs, framepos_t start_frame, framepos_t end_frame, pframes_t nframes, bool result_required)
{
assert (_output);
void
-Delivery::flush_buffers (nframes_t nframes, framepos_t time)
+Delivery::flush_buffers (framecnt_t nframes, framepos_t time)
{
/* io_lock, not taken: function must be called from Session::process() calltree */