36class ParamSet :
public ParamCollection {
45 inline int32_t getValue(int32_t p) {
return params[p].getCurrentValue(); }
46 int32_t getValueAtPos(int32_t p, uint32_t pos,
TimelineCounter* playPositionCounter);
48 bool didPingpong,
bool mayInterpolate)
final;
49 void writeParamAsAttribute(
Serializer& writer,
char const* name, int32_t p,
bool writeAutomation,
50 bool onlyIfContainsSomething =
false, int32_t* valuesForOverride =
nullptr);
58 bool shouldPingpong)
final;
61 int32_t reverseThisRepeatWithLength,
bool pingpongingGenerally)
final;
62 void beenCloned(
bool copyAutomation, int32_t reverseDirectionWithLength)
override;
64 void copyOverridingFrom(
ParamSet* otherParamSet);
66 bool maySetupPatching)
final;
67 void nudgeNonInterpolatingNodesAtPos(int32_t pos, int32_t offset, int32_t lengthBeforeLoop,
Action* action,
72 void shiftParamValues(int32_t p, int32_t offset);
73 void shiftParamVolumeByDB(int32_t p,
float offset);
87 ModelStackWithAutoParam* getAutoParamFromId(ModelStackWithParamId* modelStack,
bool allowCreation =
true) final;
88 void notifyParamModifiedInSomeWay(ModelStackWithAutoParam const* modelStack, int32_t oldValue,
89 bool automationChanged,
bool automatedBefore,
bool automatedNow) override;
91 uint8_t topUintToRepParams;
94 void backUpParamToAction(int32_t p, Action* action, ModelStackWithParamCollection* modelStack);
95 void checkWhetherParamHasInterpolationNow(ModelStackWithParamCollection const* modelStack, int32_t p);
98class UnpatchedParamSet final : public ParamSet {
101 void beenCloned(
bool copyAutomation, int32_t reverseDirectionWithLength)
override;
112 std::array<AutoParam, deluge::modulation::params::kMaxNumUnpatchedParams> params_;
115class PatchedParamSet final :
public ParamSet {
118 void beenCloned(
bool copyAutomation, int32_t reverseDirectionWithLength)
override;
120 bool automationChanged,
bool automatedBefore,
bool automatedNow)
override;
127 std::array<AutoParam, deluge::modulation::params::kNumParams> params_;
130class ExpressionParamSet final :
public ParamSet {
133 void beenCloned(
bool copyAutomation, int32_t reverseDirectionWithLength)
override;
135 bool automationChanged,
bool automatedBefore,
bool automatedNow)
override;
136 bool mayParamInterpolate(int32_t paramId)
override {
return false; }
139 bool writeToFile(
Serializer& writer,
bool mustWriteOpeningTagEndFirst =
false);
142 int32_t lengthBeforeLoop,
Action* action);
144 void cancelAllOverriding();
153 uint8_t bendRanges[2];
156 std::array<AutoParam, kNumExpressionDimensions> params_;
void deleteTime(ModelStackWithParamCollection *modelStack, int32_t startPos, int32_t lengthToDelete)
this is used in arranger view to delete time between automation nodes (shift + <>)
Definition param_set.cpp:322
void tickSamples(int32_t numSamples, ModelStackWithParamCollection *modelStack) final
tick interpolation by a number of ticks
Definition param_set.cpp:135
void tickTicks(int32_t numTicks, ModelStackWithParamCollection *modelStack) final
tick interpolation by a number of ticks
Definition param_set.cpp:150
void insertTime(ModelStackWithParamCollection *modelStack, int32_t pos, int32_t lengthToInsert)
this is used in arranger view to insert time between automation nodes (shift = <>)
Definition param_set.cpp:312