Stereo Panning that doesn’t just attenuate L and R, but mixes them?

I am trying to implement a pan control on a stereo audio bus.

I have experimented with linear pan, and constant pan (-3db in center).

But these methods seem to only attenuate the left or right side.

Take the case of a stereo pitch-shifter applied to a sinewave, where the left side is -1.0 semitones and the right side is +1.0 semitones, so you are hearing a mix of 3 semitones at 50% wet.

With linear and constant pan methods, if you pan full left, you get none of the right side, and hence only hear the original and -1.0 semitone; pan full to the right and you get none of the left side, so you only hear the original and +1.0 semitone.

Wouldn’t you really want to be adding sides together in some way so that by the time you are fully left (for example) you have a mono mix of the left and right sides coming out of the left channel?

Is there a name for this type of panning approach? And can any kind soul post any code that illustrates it?

I am aware of two approaches:
Have a pan knob for each channel. That allows the user to pan full width, mono in every position and even inverse the channels. But you have to turn two knobs to place the centre.
This is the most common approach seen in DAWs like ProTools, Cubase etc.

I always wanted to create a panner inspired by M/S stereo, where you have a center and a width knob. By setting width to 0, the center would pan the mono sum between left and right. The width would add the side signal to the left and -side to the right. That allows to place the signal left to right and with the width from back to front.

Don’t know, what the original term for that is, I am sure, I am not the first with that idea :wink: