#include <cmath>
#include <cerrno>
-#include <fstream>
#include <cstdlib>
#include <string>
#include <cstdio>
#include "ardour/panner.h"
#include "ardour/panner_manager.h"
#include "ardour/panner_shell.h"
+#include "ardour/profile.h"
#include "ardour/session.h"
#include "ardour/speakers.h"
{
if (is_send) {
_pannable_internal.reset(new Pannable (s));
- if (Config->get_link_send_and_route_panner()) {
+ if (Config->get_link_send_and_route_panner() && !ARDOUR::Profile->get_mixbus()) {
_panlinked = true;
} else {
_panlinked = false;
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 ()));
}
if ((prop = node.property (X_("linked-to-route"))) != 0) {
- _panlinked = string_is_affirmative (prop->value ());
+ if (!ARDOUR::Profile->get_mixbus()) {
+ _panlinked = string_is_affirmative (prop->value ());
+ }
}
if ((prop = node.property (X_("user-panner"))) != 0) {
}
_panner.reset ();
-
+
for (niter = nlist.begin(); niter != nlist.end(); ++niter) {
if ((*niter)->name() == X_("Panner")) {
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;
-
- if (fabsf(_session.transport_speed()) > 1.5f && Config->get_quieten_at_speed ()) {
- gain_coeff = speed_quietning;
- }
-
- distribute_no_automation (inbufs, outbufs, nframes, gain_coeff);
+ distribute_no_automation (inbufs, outbufs, nframes, 1.0);
} else {
if (yn == _bypassed) {
return;
}
-
+
_bypassed = yn;
_session.set_dirty ();
Changed (); /* EMIT SIGNAL */