Fix panning to work with stereo signals

This commit is contained in:
coderkun 2017-03-19 15:59:24 +01:00 committed by Harry van Haaren
parent 9b7cb506d5
commit f36e9b6bd0

View file

@ -151,11 +151,16 @@ void TrackOutput::process(unsigned int nframes, Buffers* buffers)
float* jackoutputR = buffers->audio[Buffers::JACK_TRACK_0_R+track]; float* jackoutputR = buffers->audio[Buffers::JACK_TRACK_0_R+track];
/* Trial + Error leads to this algo - its cheap and cheerful */ /* Trial + Error leads to this algo - its cheap and cheerful */
float p = ((_toMasterPan + 1.0f) * 0.5f) * (M_PI * 0.5); float pan_l = 1.0f;
float sin_p = sin(p); float pan_r = 1.0f;
float cos_p = cos(p); if(_toMasterPan <= 0) {
float pan_r = sin_p * sin_p; // pan to left channel, lower right one
float pan_l = cos_p * cos_p; pan_r = _toMasterPan + 1.0f;
}
else {
// pan to right channel, lower left one
pan_l = (_toMasterPan * -1) + 1.0f;
}
for(unsigned int i = 0; i < nframes; i++) { for(unsigned int i = 0; i < nframes; i++) {
// * master for "post-fader" sends // * master for "post-fader" sends