at the start of each cycle; it is set up at the start of Route::process_output_buffers.
git-svn-id: svn://localhost/ardour2/branches/3.0@11247
d708f5d6-7413-0410-9779-
e7cbd77b26cf
void flush_buffers (framecnt_t nframes, framepos_t time);
void no_outs_cuz_we_no_monitor(bool);
void flush_buffers (framecnt_t nframes, framepos_t time);
void no_outs_cuz_we_no_monitor(bool);
- virtual void cycle_start (pframes_t);
void transport_stopped (framepos_t frame);
void realtime_locate ();
void transport_stopped (framepos_t frame);
void realtime_locate ();
PBD::Signal0<void> MuteChange;
PBD::Signal0<void> MuteChange;
- static PBD::Signal1<void, pframes_t> CycleStart;
-
XMLNode& state (bool full);
int set_state (const XMLNode&, int version);
XMLNode& state (bool full);
int set_state (const XMLNode&, int version);
void set_can_pan (bool yn);
uint32_t pan_outs () const;
void set_can_pan (bool yn);
uint32_t pan_outs () const;
+ static PBD::Signal1<void, pframes_t> CycleStart;
+
private:
BufferSet mixbufs;
boost::shared_ptr<Route> _send_to;
private:
BufferSet mixbufs;
boost::shared_ptr<Route> _send_to;
#include "ardour/buffer.h"
#include "ardour/buffer_set.h"
#include "ardour/cycle_timer.h"
#include "ardour/buffer.h"
#include "ardour/buffer_set.h"
#include "ardour/cycle_timer.h"
-#include "ardour/delivery.h"
#include "ardour/event_type_map.h"
#include "ardour/internal_return.h"
#include "ardour/event_type_map.h"
#include "ardour/internal_return.h"
+#include "ardour/internal_send.h"
#include "ardour/io.h"
#include "ardour/meter.h"
#include "ardour/midi_port.h"
#include "ardour/io.h"
#include "ardour/meter.h"
#include "ardour/midi_port.h"
/* tell all relevant objects that we're starting a new cycle */
/* tell all relevant objects that we're starting a new cycle */
- Delivery::CycleStart (nframes);
+ InternalSend::CycleStart (nframes);
Port::set_global_port_buffer_offset (0);
Port::set_cycle_framecnt (nframes);
Port::set_global_port_buffer_offset (0);
Port::set_cycle_framecnt (nframes);
using namespace PBD;
using namespace ARDOUR;
using namespace PBD;
using namespace ARDOUR;
-PBD::Signal1<void, pframes_t> Delivery::CycleStart;
PBD::Signal0<int> Delivery::PannersLegal;
bool Delivery::panners_legal = false;
PBD::Signal0<int> Delivery::PannersLegal;
bool Delivery::panners_legal = false;
if (_output) {
_output->changed.connect_same_thread (*this, boost::bind (&Delivery::output_changed, this, _1, _2));
}
if (_output) {
_output->changed.connect_same_thread (*this, boost::bind (&Delivery::output_changed, this, _1, _2));
}
-
- CycleStart.connect_same_thread (*this, boost::bind (&Delivery::cycle_start, this, _1));
}
/* deliver to a new IO object */
}
/* deliver to a new IO object */
if (_output) {
_output->changed.connect_same_thread (*this, boost::bind (&Delivery::output_changed, this, _1, _2));
}
if (_output) {
_output->changed.connect_same_thread (*this, boost::bind (&Delivery::output_changed, this, _1, _2));
}
-
- CycleStart.connect_same_thread (*this, boost::bind (&Delivery::cycle_start, this, _1));
-void
-Delivery::cycle_start (pframes_t /*nframes*/)
-{
- _no_outs_cuz_we_no_monitor = false;
-}
-
bool
Delivery::can_support_io_configuration (const ChanCount& in, ChanCount& out) const
{
bool
Delivery::can_support_io_configuration (const ChanCount& in, ChanCount& out) const
{
using namespace ARDOUR;
using namespace std;
using namespace ARDOUR;
using namespace std;
+PBD::Signal1<void, pframes_t> InternalSend::CycleStart;
+
InternalSend::InternalSend (Session& s, boost::shared_ptr<Pannable> p, boost::shared_ptr<MuteMaster> mm, boost::shared_ptr<Route> sendto, Delivery::Role role)
: Send (s, p, mm, role)
{
InternalSend::InternalSend (Session& s, boost::shared_ptr<Pannable> p, boost::shared_ptr<MuteMaster> mm, boost::shared_ptr<Route> sendto, Delivery::Role role)
: Send (s, p, mm, role)
{
+
+ CycleStart.connect_same_thread (*this, boost::bind (&InternalSend::cycle_start, this, _1));
}
InternalSend::~InternalSend ()
}
InternalSend::~InternalSend ()
void
InternalSend::cycle_start (pframes_t nframes)
{
void
InternalSend::cycle_start (pframes_t nframes)
{
- Delivery::cycle_start (nframes);
-
for (BufferSet::audio_iterator b = mixbufs.audio_begin(); b != mixbufs.audio_end(); ++b) {
for (BufferSet::audio_iterator b = mixbufs.audio_begin(); b != mixbufs.audio_end(); ++b) {