13
0

fix bug when interpolating VBAP gains, and remove debug output from that code

git-svn-id: svn://localhost/ardour2/branches/3.0@8922 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Paul Davis 2011-02-22 02:38:29 +00:00
parent 7333044870
commit 3bed0850ba

View File

@ -244,6 +244,7 @@ VBAPanner::distribute_one (AudioBuffer& srcbuf, BufferSet& obufs, gain_t gain_co
happened.
*/
for (int o = 0; o < 3; ++o) {
if (signal->outputs[o] != -1) {
/* used last time */
@ -274,13 +275,12 @@ VBAPanner::distribute_one (AudioBuffer& srcbuf, BufferSet& obufs, gain_t gain_co
}
pan = gain_coefficient * signal->desired_gains[o];
if (pan == 0.0 && signal->gains[output] == 0.0) {
/* nothing deing delivered to this output */
// cerr << "VBAP: output " << output << " silent - no data delivered\n";
signal->gains[o] = 0.0;
signal->gains[output] = 0.0;
} else if (fabs (pan - signal->gains[output]) > 0.00001) {
@ -288,8 +288,6 @@ VBAPanner::distribute_one (AudioBuffer& srcbuf, BufferSet& obufs, gain_t gain_co
interpolate between them.
*/
// cerr << "VBAP: output " << output << " interpolate to new gain\n";
AudioBuffer& buf (obufs.get_audio (output));
buf.accumulate_with_ramped_gain_from (srcbuf.data(), nframes, signal->gains[output], pan, 0);
signal->gains[output] = pan;
@ -299,8 +297,6 @@ VBAPanner::distribute_one (AudioBuffer& srcbuf, BufferSet& obufs, gain_t gain_co
/* signal to this output, same gain as before so just copy with gain
*/
// cerr << "VBAP: output " << output << " use current gain\n";
mix_buffers_with_gain (obufs.get_audio (output).data(),src,nframes,pan);
signal->gains[output] = pan;
}
@ -436,3 +432,4 @@ VBAPanner::set_width (double p)
{
_pannable->pan_width_control->set_value (p);
}