PannerInfo* pi = PannerManager::instance().select_panner (in, out, _user_selected_panner_uri);
if (!pi) {
fatal << _("No panner found: check that panners are being discovered correctly during startup.") << endmsg;
- /*NOTREACHED*/
+ abort(); /*NOTREACHED*/
}
DEBUG_TRACE (DEBUG::Panning, string_compose (_("select panner: %1\n"), pi->descriptor.name.c_str()));
XMLNodeList nlist = node.children ();
XMLNodeConstIterator niter;
const XMLProperty *prop;
- LocaleGuard lg (X_("POSIX"));
+ LocaleGuard lg (X_("C"));
if ((prop = node.property (X_("bypassed"))) != 0) {
set_bypassed (string_is_affirmative (prop->value ()));
_current_panner_uri = (*p)->descriptor.panner_uri;
_panner_gui_uri = (*p)->descriptor.gui_uri;
+ if (_is_send) {
+ if (!_panlinked) {
+ _pannable_internal->set_panner(_panner);
+ } else {
+ _force_reselect = true;
+ }
+ } else {
+ _pannable_route->set_panner(_panner);
+ }
+
if (_panner->set_state (**niter, version) == 0) {
return -1;
}
AudioBuffer& dst = outbufs.get_audio(0);
- if (gain_coeff == 0.0f) {
+ if (gain_coeff == GAIN_COEFF_ZERO) {
/* gain was zero, so make it silent */
dst.silence (nframes);
- } else if (gain_coeff == 1.0f){
+ } else if (gain_coeff == GAIN_COEFF_UNITY){
/* mix all input buffers into the output */
if (!(as & Play || ((as & Touch) && !_panner->touching()))) {
// Speed quietning
- gain_t gain_coeff = 1.0;
+ gain_t gain_coeff = GAIN_COEFF_UNITY;
if (fabsf(_session.transport_speed()) > 1.5f && Config->get_quieten_at_speed ()) {
gain_coeff = speed_quietning;