51 inline bool containsAnyMainParamCollections() {
return expressionParamSetOffset; }
53 inline bool containsAnyParamCollectionsIncludingExpression() {
return summaries[0].paramCollection; }
55 Error setupWithPatching();
56 Error setupUnpatched();
59 void stealParamCollectionsFrom(ParamManager* other,
bool stealExpressionParams =
false);
60 Error cloneParamCollectionsFrom(ParamManager
const* other,
bool copyAutomation,
bool cloneExpressionParams =
false,
61 int32_t reverseDirectionWithLength = 0);
62 Error beenCloned(int32_t reverseDirectionWithLength = 0);
63 void forgetParamCollections();
64 void destructAndForgetParamCollections();
65 bool ensureExpressionParamSetExists(
bool forDrum =
false);
67 inline int32_t getExpressionParamSetOffset() {
return expressionParamSetOffset; }
72 return &summaries[getExpressionParamSetOffset()];
80#if ALPHA_OR_BETA_VERSION
81 if (!summaries[0].paramCollection) {
82 FREEZE_WITH_ERROR(
"E409");
89#if ALPHA_OR_BETA_VERSION
90 if (!summaries[0].paramCollection) {
91 FREEZE_WITH_ERROR(
"E409");
98#if ALPHA_OR_BETA_VERSION
99 if (!summaries[0].paramCollection) {
100 FREEZE_WITH_ERROR(
"E410");
107#if ALPHA_OR_BETA_VERSION
108 if (!summaries[0].paramCollection) {
109 FREEZE_WITH_ERROR(
"E410");
112 return &summaries[0];
116#if ALPHA_OR_BETA_VERSION
117 if (!summaries[1].paramCollection) {
118 FREEZE_WITH_ERROR(
"E411");
125#if ALPHA_OR_BETA_VERSION
126 if (!summaries[1].paramCollection) {
127 FREEZE_WITH_ERROR(
"E411");
130 return &summaries[1];
134#if ALPHA_OR_BETA_VERSION
135 if (!summaries[2].paramCollection) {
136 FREEZE_WITH_ERROR(
"E412");
139 return &summaries[2];
143#if ALPHA_OR_BETA_VERSION
144 if (!summaries[2].paramCollection) {
145 FREEZE_WITH_ERROR(
"E412");
158 bool automationChanged,
bool paramAutomatedNow);
160#if ALPHA_OR_BETA_VERSION
166 bool resonanceBackwardsCompatibilityProcessed;
167 uint8_t expressionParamSetOffset;
174class ParamManagerForTimeline final :
public ParamManager {
176 ParamManagerForTimeline();
183 bool shouldPingpong);
185 int32_t oldLength, int32_t reverseThisRepeatWithLength,
bool pingpongingGenerally);
187 bool maySetupPatching =
true);
190 bool didPingpong =
false,
bool mayInterpolate =
true);
194 void nudgeAutomationHorizontallyAtPos(int32_t pos, int32_t offset, int32_t lengthBeforeLoop,
Action* action,
196 bool nudgeMPE, int32_t moveMPEDataWithinRegionLength = 0);
199 void ensureSomeParamCollections();
200 bool mightContainAutomation();
202#if ALPHA_OR_BETA_VERSION
203 ParamManagerForTimeline* toForTimeline()
override;
206 int32_t ticksTilNextEvent;
207 int32_t ticksSkipped;
Definition model_stack.h:231