41class PatchCableSet final :
public ParamCollection {
44 ~PatchCableSet()
override;
47 bool doesDestinationDescriptorHaveAnyCables(
ParamDescriptor destinationParamDescriptor);
48 uint8_t getPatchCableIndex(PatchSource from,
ParamDescriptor destinationParamDescriptor,
50 bool createIfNotFound =
false);
53 int32_t getModifiedPatchCableAmount(int32_t c, int32_t p);
55 bool isSourcePatchedToSomething(PatchSource s);
56 bool isSourcePatchedToSomethingManuallyCheckCables(PatchSource s);
57 bool doesParamHaveSomethingPatchedToIt(int32_t p);
65 bool shouldPingpong)
override;
68 int32_t reverseThisRepeatWithLength,
bool pingpongingGenerally)
override;
70 bool maySetupPatching)
override;
73 bool didPingpong,
bool mayInterpolate)
override;
74 void beenCloned(
bool copyAutomation, int32_t reverseDirectionWithLength)
override;
77 void writePatchCablesToFile(
Serializer& writer,
bool writeAutomation);
78 void readPatchCablesFromFile(
Deserializer& reader, int32_t readAutomationUpToPos);
80 void nudgeNonInterpolatingNodesAtPos(int32_t pos, int32_t offset, int32_t lengthBeforeLoop,
Action* action,
85 ParamDescriptor destinationParamDescriptor,
bool allowCreation =
false);
87 static int32_t getParamId(
ParamDescriptor destinationParamDescriptor, PatchSource s);
92 bool automationChanged,
bool automatedBefore,
bool automatedNow)
override;
97 bool isSourcePatchedToDestinationDescriptorVolumeInspecific(PatchSource s,
99 bool isAnySourcePatchedToParamVolumeInspecific(
ParamDescriptor destinationParamDescriptor);
100 void grabVelocityToLevelFromMIDIInput(
LearnedMIDI* midiInput);
101 void grabVelocityToLevelFromMIDICable(
MIDICable& cable);
102 PatchCable* getPatchCableFromVelocityToLevel();
108 uint32_t sourcesPatchedToAnything[2];
110 PatchCable patchCables[kMaxNumPatchCables];
111 uint8_t numUsablePatchCables;
112 uint8_t numPatchCables;
114 Destination* destinations[2];
116 bool shouldParamIndicateMiddleValue(ModelStackWithParamId
const* modelStack)
override {
return true; };
118 static void dissectParamId(uint32_t paramId, ParamDescriptor* destinationParamDescriptor, PatchSource* s);
121 void swapCables(int32_t c1, int32_t c2);
122 void freeDestinationMemory(
bool destructing);
Definition model_stack.h:231