return mixbufs;
}
+ bool allow_feedback () const { return _allow_feedback;}
+ void set_allow_feedback (bool yn);
+
void set_can_pan (bool yn);
uint32_t pan_outs () const;
BufferSet mixbufs;
boost::shared_ptr<Route> _send_from;
boost::shared_ptr<Route> _send_to;
+ bool _allow_feedback;
PBD::ID _send_to_id;
PBD::ScopedConnection connect_c;
PBD::ScopedConnection source_connection;
bool ignore_bitslot)
: Send (s, p, mm, role, ignore_bitslot)
, _send_from (sendfrom)
+ , _allow_feedback (false)
{
if (sendto) {
if (use_target (sendto)) {
return 0;
}
+void
+InternalSend::set_allow_feedback (bool yn)
+{
+ _allow_feedback = yn;
+ _send_from->processors_changed (RouteProcessorChange ()); /* EMIT SIGNAL */
+}
+
bool
InternalSend::feeds (boost::shared_ptr<Route> other) const
{
- return _send_to == other;
+ if (_role == Listen || !_allow_feedback) {
+ return _send_to == other;
+ }
+ return false;
}
XMLNode&
if (_send_to) {
node.add_property ("target", _send_to->id().to_s());
}
+ node.add_property ("allow-feedback", _allow_feedback);
return node;
}
}
}
+ if ((prop = node.property (X_("allow-feedback"))) != 0) {
+ _allow_feedback = string_is_affirmative (prop->value());
+ }
+
return 0;
}