using namespace PBD;
using namespace ARDOUR;
-PBD::Signal1<void, pframes_t> Delivery::CycleStart;
-PBD::Signal0<int> Delivery::PannersLegal;
+PBD::Signal0<void> Delivery::PannersLegal;
bool Delivery::panners_legal = false;
/* deliver to an existing IO object */
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 */
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));
}
Delivery::~Delivery()
{
- DEBUG_TRACE (DEBUG::Destruction, string_compose ("delivery %1 destructor\n", _name));
+ DEBUG_TRACE (DEBUG::Destruction, string_compose ("delivery %1 destructor\n", _name));
+
+ /* this object should vanish from any signal callback lists
+ that it is on before we get any further. The full qualification
+ of the method name is not necessary, but is here to make it
+ clear that this call is about signals, not data flow connections.
+ */
+
+ ScopedConnectionList::drop_connections ();
+
delete _output_buffers;
}
}
}
-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
{
}
}
-int
+void
Delivery::panners_became_legal ()
{
if (_panshell) {
}
panner_legal_c.disconnect ();
- return 0;
}
void
return 0;
}
-int
+void
Delivery::reset_panners ()
{
panners_legal = true;
- return *PannersLegal ();
+ PannersLegal ();
}
void
-Delivery::flush_buffers (framecnt_t nframes, framepos_t time)
+Delivery::flush_buffers (framecnt_t nframes)
{
/* io_lock, not taken: function must be called from Session::process() calltree */
PortSet& ports (_output->ports());
for (PortSet::iterator i = ports.begin(); i != ports.end(); ++i) {
- i->flush_buffers (nframes, time);
+ i->flush_buffers (nframes);
}
}