39class ParamCollection {
42 virtual ~ParamCollection();
44 virtual void beenCloned(
bool copyAutomation, int32_t reverseDirectionWithLength = 0) = 0;
55 bool shouldPingpong) = 0;
58 int32_t reverseThisRepeatWithLength,
bool pingpongingGenerally) = 0;
60 bool maySetupPatching) = 0;
62 int32_t effectiveLength) = 0;
64 bool didPingpong,
bool mayInterpolate) = 0;
67 virtual void nudgeNonInterpolatingNodesAtPos(int32_t pos, int32_t offset, int32_t lengthBeforeLoop,
Action* action,
70 notifyParamModifiedInSomeWay(
ModelStackWithAutoParam const* modelStack, int32_t oldValue,
bool automationChanged,
75 bool allowCreation =
false) = 0;
78 virtual bool mayParamInterpolate(int32_t paramId);
79 virtual bool shouldParamIndicateMiddleValue(
ModelStackWithParamId const* modelStack) {
return false; }
81 virtual int32_t paramValueToKnobPos(int32_t paramValue, ModelStackWithAutoParam* modelStack);
82 virtual int32_t knobPosToParamValue(int32_t knobPos, ModelStackWithAutoParam* modelStack);
83 virtual void notifyPingpongOccurred(ModelStackWithParamCollection* modelStack);
86 const int32_t objectSize;
87 int32_t ticksTilNextEvent;