30class MIDIParamCollection final :
public ParamCollection {
33 ~MIDIParamCollection()
override;
41 void generateRepeats(ModelStackWithParamCollection* modelStack, uint32_t oldLength, uint32_t newLength,
42 bool shouldPingpong)
override;
43 void appendParamCollection(ModelStackWithParamCollection* modelStack,
44 ModelStackWithParamCollection* otherModelStack, int32_t oldLength,
45 int32_t reverseThisRepeatWithLength,
bool pingpongingGenerally)
override;
46 void trimToLength(uint32_t newLength, ModelStackWithParamCollection* modelStack, Action* action,
47 bool maySetupPatching)
override;
48 void shiftHorizontally(ModelStackWithParamCollection* modelStack, int32_t amount, int32_t effectiveLength)
override;
49 void processCurrentPos(ModelStackWithParamCollection* modelStack, int32_t ticksSkipped,
bool reversed,
50 bool didPingpong,
bool mayInterpolate)
override;
51 void remotelySwapParamState(AutoParamState* state, ModelStackWithParamId* modelStack)
override;
52 void deleteAllAutomation(Action* action, ModelStackWithParamCollection* modelStack)
override;
53 Error makeInterpolatedCCsGoodAgain(int32_t clipLength);
54 void grabValuesFromPos(uint32_t pos, ModelStackWithParamCollection* modelStack)
override;
55 void nudgeNonInterpolatingNodesAtPos(int32_t pos, int32_t offset, int32_t lengthBeforeLoop, Action* action,
56 ModelStackWithParamCollection* modelStack)
override;
57 ModelStackWithAutoParam* getAutoParamFromId(ModelStackWithParamId* modelStack,
bool allowCreation =
true)
override;
58 static int32_t autoparamValueToCC(int32_t newValue);
60 void cloneFrom(ParamCollection* otherParamSet,
bool copyAutomation);
61 void beenCloned(
bool copyAutomation, int32_t reverseDirectionWithLength)
override;
62 void sendMIDI(MIDISource source, int32_t channel, int32_t cc, int32_t newValue, int32_t midiOutputFilter);
63 void notifyParamModifiedInSomeWay(ModelStackWithAutoParam
const* modelStack, int32_t oldValue,
64 bool automationChanged,
bool automatedBefore,
bool automatedNow)
override;
65 bool mayParamInterpolate(int32_t paramId)
override;
66 int32_t knobPosToParamValue(int32_t knobPos, ModelStackWithAutoParam* modelStack)
override;
67 void notifyPingpongOccurred(ModelStackWithParamCollection* modelStack)
override;
69 void writeToFile(Serializer& writer);
70 int32_t moveAutomationToDifferentCC(int32_t oldCC, int32_t newCC, ModelStackWithParamCollection* modelStack);
75 deluge::fast_map<uint8_t, AutoParam>
params;
77 std::expected<
typename decltype(
params)::iterator, Error> getOrCreateParamFromCC(int32_t cc);
80 void deleteAllParams(
Action* action =
nullptr);
void tickSamples(int32_t numSamples, ModelStackWithParamCollection *modelStack) override
tick interpolation by a number of ticks
Definition midi_param_collection.h:38