, _current_gain (1.0)
, _no_outs_cuz_we_no_monitor (false)
, _mute_master (mm)
- , no_panner_reset (false)
- , scnt (0)
+ , _no_panner_reset (false)
{
if (pannable) {
_panshell = boost::shared_ptr<PannerShell>(new PannerShell (_name, _session, pannable));
, _current_gain (1.0)
, _no_outs_cuz_we_no_monitor (false)
, _mute_master (mm)
- , no_panner_reset (false)
- , scnt (0)
+ , _no_panner_reset (false)
{
if (pannable) {
_panshell = boost::shared_ptr<PannerShell>(new PannerShell (_name, _session, pannable));
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;
}
Delivery::reset_panner ()
{
if (panners_legal) {
- if (!no_panner_reset) {
+ if (!_no_panner_reset) {
if (_panshell) {
_panshell->configure_io (ChanCount (DataType::AUDIO, pans_required()), ChanCount (DataType::AUDIO, pan_outs()));
void
Delivery::defer_pan_reset ()
{
- no_panner_reset = true;
+ _no_panner_reset = true;
}
void
Delivery::allow_pan_reset ()
{
- no_panner_reset = false;
+ _no_panner_reset = false;
reset_panner ();
}
int
-Delivery::disable_panners (void)
+Delivery::disable_panners ()
{
panners_legal = false;
return 0;
PortSet& ports (_output->ports());
for (PortSet::iterator i = ports.begin(); i != ports.end(); ++i) {
- (*i).flush_buffers (nframes, time);
+ i->flush_buffers (nframes, time);
}
}
PortSet& ports (_output->ports());
for (PortSet::iterator i = ports.begin(); i != ports.end(); ++i) {
- (*i).transport_stopped ();
+ i->transport_stopped ();
}
}
}
PortSet& ports (_output->ports());
for (PortSet::iterator i = ports.begin(); i != ports.end(); ++i) {
- (*i).realtime_locate ();
+ i->realtime_locate ();
}
}
}