33class GlobalEffectableForClip :
public GlobalEffectable {
35 GlobalEffectableForClip();
37 int32_t getSidechainVolumeAmountAsPatchCableDepth(
ParamManager* paramManager);
40 virtual Output* toOutput() = 0;
41 void getThingWithMostReverb(
Clip* activeClip,
Sound** soundWithMostReverb,
43 GlobalEffectableForClip** globalEffectableWithMostReverb,
44 int32_t* highestReverbAmountFound);
46 [[gnu::always_inline]] q31_t saturate(q31_t data, uint32_t* workingValue) {
48 if (clippingAmount != 0u) {
49 int32_t shiftAmount = (clippingAmount >= 3) ? (clippingAmount - 3) : 0;
51 return getTanHAntialiased(data, workingValue, 3 + clippingAmount) << (shiftAmount);
56 std::array<uint32_t, 2> lastSaturationTanHWorkingValue = {2147483648u, 2147483648u};
59 int32_t getParameterFromKnob(int32_t whichModEncoder)
final;
61 std::span<StereoSample> output, int32_t* reverbBuffer, int32_t reverbAmountAdjust,
62 int32_t sideChainHitPending,
bool shouldLimitDelayFeedback,
bool isClipActive,
66 std::span<StereoSample> globalEffectableBuffer,
67 int32_t* bufferToTransferTo, int32_t* reverbBuffer,
68 int32_t reverbAmountAdjust, int32_t sideChainHitPending,
69 bool shouldLimitDelayFeedback,
bool isClipActive, int32_t pitchAdjust,
70 int32_t amplitudeAtStart, int32_t amplitudeAtEnd) = 0;
72 virtual bool willRenderAsOneChannelOnlyWhichWillNeedCopying() {
return false; }
75 bool renderedLastTime =
false;
Definition model_stack.h:231