Deluge Firmware 1.3.0
Build date: 2025.04.16
Loading...
Searching...
No Matches
MIDIParamCollection Class Referencefinal
Inheritance diagram for MIDIParamCollection:
Collaboration diagram for MIDIParamCollection:

Public Member Functions

 MIDIParamCollection (ParamCollectionSummary *summary)
 
void tickTicks (int32_t numSamples, ModelStackWithParamCollection *modelStack) override
 
void tickSamples (int32_t numSamples, ModelStackWithParamCollection *modelStack) override
 tick interpolation by a number of ticks
 
void setPlayPos (uint32_t pos, ModelStackWithParamCollection *modelStack, bool reversed) override
 
void playbackHasEnded (ModelStackWithParamCollection *modelStack) override
 
void generateRepeats (ModelStackWithParamCollection *modelStack, uint32_t oldLength, uint32_t newLength, bool shouldPingpong) override
 
void appendParamCollection (ModelStackWithParamCollection *modelStack, ModelStackWithParamCollection *otherModelStack, int32_t oldLength, int32_t reverseThisRepeatWithLength, bool pingpongingGenerally) override
 
void trimToLength (uint32_t newLength, ModelStackWithParamCollection *modelStack, Action *action, bool maySetupPatching) override
 
void shiftHorizontally (ModelStackWithParamCollection *modelStack, int32_t amount, int32_t effectiveLength) override
 
void processCurrentPos (ModelStackWithParamCollection *modelStack, int32_t ticksSkipped, bool reversed, bool didPingpong, bool mayInterpolate) override
 
void remotelySwapParamState (AutoParamState *state, ModelStackWithParamId *modelStack) override
 
void deleteAllAutomation (Action *action, ModelStackWithParamCollection *modelStack) override
 
Error makeInterpolatedCCsGoodAgain (int32_t clipLength)
 
void grabValuesFromPos (uint32_t pos, ModelStackWithParamCollection *modelStack) override
 
void nudgeNonInterpolatingNodesAtPos (int32_t pos, int32_t offset, int32_t lengthBeforeLoop, Action *action, ModelStackWithParamCollection *modelStack) override
 
ModelStackWithAutoParamgetAutoParamFromId (ModelStackWithParamId *modelStack, bool allowCreation=true) override
 
void cloneFrom (ParamCollection *otherParamSet, bool copyAutomation)
 
void beenCloned (bool copyAutomation, int32_t reverseDirectionWithLength) override
 
void sendMIDI (MIDISource source, int32_t channel, int32_t cc, int32_t newValue, int32_t midiOutputFilter)
 
void notifyParamModifiedInSomeWay (ModelStackWithAutoParam const *modelStack, int32_t oldValue, bool automationChanged, bool automatedBefore, bool automatedNow) override
 
bool mayParamInterpolate (int32_t paramId) override
 
int32_t knobPosToParamValue (int32_t knobPos, ModelStackWithAutoParam *modelStack) override
 
void notifyPingpongOccurred (ModelStackWithParamCollection *modelStack) override
 
void writeToFile (Serializer &writer)
 
int32_t moveAutomationToDifferentCC (int32_t oldCC, int32_t newCC, ModelStackWithParamCollection *modelStack)
 
deluge::modulation::params::Kind getParamKind () override
 
std::expected< typename decltype(params)::iterator, Error > getOrCreateParamFromCC (int32_t cc)
 
- Public Member Functions inherited from ParamCollection
 ParamCollection (int32_t newObjectSize, ParamCollectionSummary *summary)
 
virtual bool shouldParamIndicateMiddleValue (ModelStackWithParamId const *modelStack)
 
virtual bool doesParamIdAllowAutomation (ModelStackWithParamId const *modelStack)
 
virtual int32_t paramValueToKnobPos (int32_t paramValue, ModelStackWithAutoParam *modelStack)
 

Static Public Member Functions

static int32_t autoparamValueToCC (int32_t newValue)
 

Public Attributes

deluge::fast_map< uint8_t, AutoParamparams
 A map between the CC value and the Automatable Param.
 
- Public Attributes inherited from ParamCollection
const int32_t objectSize
 
int32_t ticksTilNextEvent
 

Private Member Functions

void deleteAllParams (Action *action=nullptr)
 

Member Function Documentation

◆ appendParamCollection()

void MIDIParamCollection::appendParamCollection ( ModelStackWithParamCollection * modelStack,
ModelStackWithParamCollection * otherModelStack,
int32_t oldLength,
int32_t reverseThisRepeatWithLength,
bool pingpongingGenerally )
overridevirtual

Implements ParamCollection.

◆ beenCloned()

void MIDIParamCollection::beenCloned ( bool copyAutomation,
int32_t reverseDirectionWithLength )
overridevirtual

Implements ParamCollection.

◆ deleteAllAutomation()

void MIDIParamCollection::deleteAllAutomation ( Action * action,
ModelStackWithParamCollection * modelStack )
overridevirtual

Implements ParamCollection.

◆ generateRepeats()

void MIDIParamCollection::generateRepeats ( ModelStackWithParamCollection * modelStack,
uint32_t oldLength,
uint32_t newLength,
bool shouldPingpong )
overridevirtual

Implements ParamCollection.

◆ getAutoParamFromId()

ModelStackWithAutoParam * MIDIParamCollection::getAutoParamFromId ( ModelStackWithParamId * modelStack,
bool allowCreation = true )
overridevirtual

Implements ParamCollection.

◆ getParamKind()

deluge::modulation::params::Kind MIDIParamCollection::getParamKind ( )
inlineoverridevirtual

Implements ParamCollection.

◆ grabValuesFromPos()

void MIDIParamCollection::grabValuesFromPos ( uint32_t pos,
ModelStackWithParamCollection * modelStack )
overridevirtual

Implements ParamCollection.

◆ knobPosToParamValue()

int32_t MIDIParamCollection::knobPosToParamValue ( int32_t knobPos,
ModelStackWithAutoParam * modelStack )
overridevirtual

Reimplemented from ParamCollection.

◆ mayParamInterpolate()

bool MIDIParamCollection::mayParamInterpolate ( int32_t paramId)
overridevirtual

Reimplemented from ParamCollection.

◆ notifyParamModifiedInSomeWay()

void MIDIParamCollection::notifyParamModifiedInSomeWay ( ModelStackWithAutoParam const * modelStack,
int32_t oldValue,
bool automationChanged,
bool automatedBefore,
bool automatedNow )
overridevirtual

Reimplemented from ParamCollection.

◆ notifyPingpongOccurred()

void MIDIParamCollection::notifyPingpongOccurred ( ModelStackWithParamCollection * modelStack)
overridevirtual

Reimplemented from ParamCollection.

◆ nudgeNonInterpolatingNodesAtPos()

void MIDIParamCollection::nudgeNonInterpolatingNodesAtPos ( int32_t pos,
int32_t offset,
int32_t lengthBeforeLoop,
Action * action,
ModelStackWithParamCollection * modelStack )
overridevirtual

Implements ParamCollection.

◆ playbackHasEnded()

void MIDIParamCollection::playbackHasEnded ( ModelStackWithParamCollection * modelStack)
inlineoverridevirtual

Implements ParamCollection.

◆ processCurrentPos()

void MIDIParamCollection::processCurrentPos ( ModelStackWithParamCollection * modelStack,
int32_t ticksSkipped,
bool reversed,
bool didPingpong,
bool mayInterpolate )
overridevirtual

Implements ParamCollection.

◆ remotelySwapParamState()

void MIDIParamCollection::remotelySwapParamState ( AutoParamState * state,
ModelStackWithParamId * modelStack )
overridevirtual

Implements ParamCollection.

◆ setPlayPos()

void MIDIParamCollection::setPlayPos ( uint32_t pos,
ModelStackWithParamCollection * modelStack,
bool reversed )
overridevirtual

Reimplemented from ParamCollection.

◆ shiftHorizontally()

void MIDIParamCollection::shiftHorizontally ( ModelStackWithParamCollection * modelStack,
int32_t amount,
int32_t effectiveLength )
overridevirtual

Implements ParamCollection.

◆ tickSamples()

void MIDIParamCollection::tickSamples ( int32_t numSamples,
ModelStackWithParamCollection * modelStack )
inlineoverridevirtual

tick interpolation by a number of ticks

Implements ParamCollection.

◆ tickTicks()

void MIDIParamCollection::tickTicks ( int32_t numSamples,
ModelStackWithParamCollection * modelStack )
overridevirtual

to avoid spamming midi we interpolate in ticks instead of in samples like internal synths. This is mostly unnoticeable but limits the amount of data sent

Implements ParamCollection.

◆ trimToLength()

void MIDIParamCollection::trimToLength ( uint32_t newLength,
ModelStackWithParamCollection * modelStack,
Action * action,
bool maySetupPatching )
overridevirtual

Implements ParamCollection.


The documentation for this class was generated from the following files: