47 void mapInputPosition(std::uint16_t channel,
const juce::Point<float>& inputPosition,
float sharpness)
52 std::map<juce::AudioChannelSet::ChannelType, juce::Point<float>> outputsMaxPoints;
53 std::map<juce::AudioChannelSet::ChannelType, float> channelToOutputsDists;
55 for (
auto const& channelType : m_outputIncludePositions)
58 auto xLength = sinf(angleRad);
59 auto yLength = cosf(angleRad);
60 outputsMaxPoints[channelType] = juce::Point<float>(xLength, -yLength);
63 auto outputMaxPoint = outputsMaxPoints[channelType];
64 auto distance = outputMaxPoint.getDistanceFrom(inputPosition);
65 auto base = 0.5f * distance;
66 auto exp = jmap(sharpness, 1.0f, 5.0f);
67 channelToOutputsDists[channelType] = powf(base, exp);
71 for (
auto const& channelType : m_outputIgnorePositions)
73 channelToOutputsDists[channelType] = 0.0f;