30template <
typename SampleType>
38template <
typename SampleType>
45template <
typename SampleType>
50 pan = jlimit (
static_cast<SampleType
> (-1.0),
static_cast<SampleType
> (1.0),
newPan);
55template <
typename SampleType>
58 jassert (
spec.sampleRate > 0);
59 jassert (
spec.numChannels > 0);
61 sampleRate =
spec.sampleRate;
66template <
typename SampleType>
69 leftVolume .reset (sampleRate, 0.05);
70 rightVolume.reset (sampleRate, 0.05);
74template <
typename SampleType>
79 auto normalisedPan =
static_cast<SampleType
> (0.5) * (pan +
static_cast<SampleType
> (1.0));
98 boostValue = std::sqrt (
static_cast<SampleType
> (2.0));
104 boostValue =
static_cast<SampleType
> (std::pow (2.0, 3.0 / 4.0));
113 case Rule::squareRoot3dB:
116 boostValue = std::sqrt (
static_cast<SampleType
> (2.0));
119 case Rule::squareRoot4p5dB:
122 boostValue =
static_cast<SampleType
> (std::pow (2.0, 3.0 / 4.0));
137template class Panner<float>;
138template class Panner<double>;
void prepare(const ProcessSpec &spec)
void setPan(SampleType newPan)
void setRule(Rule newRule)