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

Public Member Functions

DrumgetNextDrum (Drum *fromSoundSource)
DrumgetPrevDrum (Drum *fromSoundSource)
bool writeDataToFile (Serializer &writer, Clip *clipForSavingOutputOnly, Song *song) override
void addDrum (Drum *newDrum)
Error readFromFile (Deserializer &reader, Song *song, Clip *clip, int32_t readAutomationUpToPos) override
DrumgetFirstUnassignedDrum (InstrumentClip *clip)
int32_t getDrumIndex (Drum *drum)
DrumgetDrumFromIndex (int32_t index)
DrumgetDrumFromIndexAllowNull (int32_t index)
Error loadAllAudioFiles (bool mayActuallyReadFiles) override
void cutAllSound () override
void renderOutput (ModelStack *modelStack, std::span< StereoSample > buffer, int32_t *reverbBuffer, int32_t reverbAmountAdjust, int32_t sideChainHitPending, bool shouldLimitDelayFeedback, bool isClipActive) override
void offerReceivedCC (ModelStackWithTimelineCounter *modelStackWithTimelineCounter, MIDICable &cable, uint8_t channel, uint8_t ccNumber, uint8_t value, bool *doingMidiThru) override
void receivedCCForKit (ModelStackWithTimelineCounter *modelStackWithTimelineCounter, MIDICable &cable, MIDIMatchType match, uint8_t channel, uint8_t ccNumber, uint8_t value, bool *doingMidiThru, Clip *clip)
 for learning a whole kit to a single channel, offer cc to all drums
void offerReceivedCCToModControllable (MIDICable &cable, uint8_t channel, uint8_t ccNumber, uint8_t value, ModelStackWithTimelineCounter *modelStack)
void offerReceivedCCToLearnedParams (MIDICable &cable, uint8_t channel, uint8_t ccNumber, uint8_t value, ModelStackWithTimelineCounter *modelStack) override
void offerReceivedPitchBend (ModelStackWithTimelineCounter *modelStackWithTimelineCounter, MIDICable &cable, uint8_t channel, uint8_t data1, uint8_t data2, bool *doingMidiThru) override
void receivedPitchBendForDrum (ModelStackWithTimelineCounter *modelStackWithTimelineCounter, Drum *thisDrum, uint8_t data1, uint8_t data2, MIDIMatchType match, uint8_t channel, bool *doingMidiThru)
void receivedPitchBendForKit (ModelStackWithTimelineCounter *modelStackWithTimelineCounter, MIDICable &cable, MIDIMatchType match, uint8_t channel, uint8_t data1, uint8_t data2, bool *doingMidiThru)
 for pitch bend received on a channel learnt to a whole clip
bool offerReceivedPitchBendToLearnedParams (MIDICable &cable, uint8_t channel, uint8_t data1, uint8_t data2, ModelStackWithTimelineCounter *modelStack) override
 Pitch bend is available in the mod matrix as X and shouldn't be learned to params anymore (post 4.0)
void receivedMPEYForDrum (ModelStackWithTimelineCounter *modelStackWithTimelineCounter, Drum *thisDrum, MIDIMatchType match, uint8_t channel, uint8_t value)
void offerReceivedAftertouch (ModelStackWithTimelineCounter *modelStackWithTimelineCounter, MIDICable &cable, int32_t channel, int32_t value, int32_t noteCode, bool *doingMidiThru) override
void receivedAftertouchForDrum (ModelStackWithTimelineCounter *modelStackWithTimelineCounter, Drum *thisDrum, MIDIMatchType match, uint8_t channel, uint8_t value)
void receivedAftertouchForKit (ModelStackWithTimelineCounter *modelStackWithTimelineCounter, MIDICable &cable, MIDIMatchType match, int32_t channel, int32_t value, int32_t noteCode, bool *doingMidiThru)
void offerReceivedNote (ModelStackWithTimelineCounter *modelStackWithTimelineCounter, MIDICable &cable, bool on, int32_t channel, int32_t note, int32_t velocity, bool shouldRecordNotes, bool *doingMidiThru) override
void receivedNoteForDrum (ModelStackWithTimelineCounter *modelStack, MIDICable &cable, bool on, int32_t channel, int32_t note, int32_t velocity, bool shouldRecordNotes, bool *doingMidiThru, Drum *thisDrum)
void receivedNoteForKit (ModelStackWithTimelineCounter *modelStack, MIDICable &cable, bool on, int32_t channel, int32_t note, int32_t velocity, bool shouldRecordNotes, bool *doingMidiThru, InstrumentClip *clip)
 maps a note received on kit input channel to a drum. Note is zero indexed to first drum
void processParamFromInputMIDIChannel (int32_t cc, int32_t newValue, ModelStackWithTimelineCounter *modelStack) override
void beenEdited (bool shouldMoveToEmptySlot=true) override
void choke ()
void resyncLFOs () override
void removeDrumFromKitArpeggiator (int32_t drumIndex)
void removeDrum (Drum *drum)
ModControllabletoModControllable () override
SoundDrumgetDrumFromName (char const *name, bool onlyIfNoNoteRow=false)
Error makeDrumNameUnique (String *name, int32_t startAtNumber)
bool setActiveClip (ModelStackWithTimelineCounter *modelStack, PgmChangeSend maySendMIDIPGMs) override
void setupPatching (ModelStackWithTimelineCounter *modelStack) override
void compensateInstrumentVolumeForResonance (ParamManagerForTimeline *paramManager, Song *song)
void deleteBackedUpParamManagers (Song *song) override
void prepareForHibernationOrDeletion () override
int32_t doTickForwardForArp (ModelStack *modelStack, int32_t currentPos) override
void loadCrucialAudioFilesOnly () override
GateDrumgetGateDrumForChannel (int32_t gateChannel)
void resetDrumTempValues ()
void setupWithoutActiveClip (ModelStack *modelStack) override
void getThingWithMostReverb (Sound **soundWithMostReverb, ParamManager **paramManagerWithMostReverb, GlobalEffectableForClip **globalEffectableWithMostReverb, int32_t *highestReverbAmountFound) override
uint8_t * getModKnobMode () override
OutputtoOutput () override
bool isNoteRowStillAuditioningAsLinearRecordingEnded (NoteRow *noteRow) override
bool allowNoteTails (NoteRow *noteRow)
void stopAnyAuditioning (ModelStack *modelStack) override
bool isAnyAuditioningHappening () override
void beginAuditioningforDrum (ModelStackWithNoteRow *modelStack, Drum *drum, int32_t velocity, int16_t const *mpeValues, int32_t fromMIDIChannel=MIDI_CHANNEL_NONE)
void endAuditioningForDrum (ModelStackWithNoteRow *modelStack, Drum *drum, int32_t velocity=kDefaultLiftValue)
void offerBendRangeUpdate (ModelStack *modelStack, MIDICable &cable, int32_t channelOrZone, int32_t whichBendRange, int32_t bendSemitones) override
bool renderGlobalEffectableForClip (ModelStackWithTimelineCounter *modelStack, std::span< StereoSample > globalEffectableBuffer, int32_t *bufferToTransferTo, int32_t *reverbBuffer, int32_t reverbAmountAdjust, int32_t sideChainHitPending, bool shouldLimitDelayFeedback, bool isClipActive, int32_t pitchAdjust, int32_t amplitudeAtStart, int32_t amplitudeAtEnd) override
char const * getXMLTag () override
ModelStackWithAutoParamgetModelStackWithParam (ModelStackWithTimelineCounter *modelStack, Clip *clip, int32_t paramID, deluge::modulation::params::Kind paramKind, bool affectEntire, bool useMenuStack) override
 for a kit we have two types of automation: with Affect Entire and without Affect Entire
ModelStackWithAutoParamgetModelStackWithParamForKit (ModelStackWithTimelineCounter *modelStack, Clip *clip, int32_t paramID, deluge::modulation::params::Kind paramKind, bool useMenuStack)
ModelStackWithAutoParamgetModelStackWithParamForKitRow (ModelStackWithTimelineCounter *modelStack, Clip *clip, int32_t paramID, deluge::modulation::params::Kind paramKind, bool useMenuStack)
DrumgetDrumFromNoteCode (InstrumentClip *clip, int32_t noteCode)
 find the drum matching the noteCode, counting up from 0
void noteOnPreKitArp (ModelStackWithThreeMainThings *modelStack, Drum *drum, uint8_t velocity, int16_t const *mpeValues, int32_t fromMIDIChannel=MIDI_CHANNEL_NONE, uint32_t sampleSyncLength=0, int32_t ticksLate=0, uint32_t samplesLate=0)
void noteOffPreKitArp (ModelStackWithThreeMainThings *modelStack, Drum *drum, int32_t velocity=kDefaultLiftValue)
Public Member Functions inherited from Instrument
 Instrument (OutputType newType)
bool matchesPreset (OutputType otherType, int32_t channel, int32_t channelSuffix, char const *otherName, char const *otherPath) override
virtual bool doAnySoundsUseCC (uint8_t channel, uint8_t ccNumber, uint8_t value)
void deleteAnyInstancesOfClip (InstrumentClip *clip)
bool readTagFromFile (Deserializer &reader, char const *tagName) override
virtual void compensateInstrumentVolumeForResonance (ModelStackWithThreeMainThings *modelStack)
char const * getNameXMLTag () override
virtual char const * getSlotXMLTag ()
virtual char const * getSubSlotXMLTag ()
Public Member Functions inherited from Output
 Output (OutputType newType)
ClipgetActiveClip () const
void pickAnActiveClipForArrangementPos (ModelStack *modelStack, int32_t arrangementPos, PgmChangeSend maySendMIDIPGMs)
void pickAnActiveClipIfPossible (ModelStack *modelStack, bool searchSessionClipsIfNeeded=true, PgmChangeSend maySendMIDIPGMs=PgmChangeSend::ONCE, bool setupWithoutActiveClipIfNeeded=true)
void detachActiveClip (Song *currentSong)
virtual bool isSkippingRendering ()
bool clipHasInstance (Clip *clip)
bool isEmpty (bool displayPopup=true)
void clipLengthChanged (Clip *clip, int32_t oldLength)
ClipgetClipFromName (String *name)
 If there's a clip matching the name on this output, returns it.
void endAnyArrangementRecording (Song *song, int32_t actualEndPos, uint32_t timeRemainder)
virtual bool wantsToBeginArrangementRecording ()
void writeToFile (Clip *clipForSavingOutputOnly, Song *song)
virtual void sendMIDIPGM ()
virtual ParamManagergetParamManager (Song *song)
Error possiblyBeginArrangementRecording (Song *song, int32_t newPos)
void endArrangementPlayback (Song *song, int32_t actualEndPos, uint32_t timeRemainder)
virtual bool needsEarlyPlayback () const
bool hasRecorder ()
bool shouldRenderInSong ()
void setRenderingToAudioOutput (bool monitoring, Output *output)
 disable rendering to the song buffer if this clip is the input to an audio output that's monitoring
bool addRecorder (SampleRecorder *newRecorder)
bool removeRecorder ()
OutputgetOutputRecordingThis ()
Public Member Functions inherited from GlobalEffectableForClip
int32_t getSidechainVolumeAmountAsPatchCableDepth (ParamManager *paramManager)
void modButtonAction (uint8_t whichModButton, bool on, ParamManagerForTimeline *paramManager) final
bool modEncoderButtonAction (uint8_t whichModEncoder, bool on, ModelStackWithThreeMainThings *modelStack) final
void getThingWithMostReverb (Clip *activeClip, Sound **soundWithMostReverb, ParamManager **paramManagerWithMostReverb, GlobalEffectableForClip **globalEffectableWithMostReverb, int32_t *highestReverbAmountFound)
q31_t saturate (q31_t data, uint32_t *workingValue)
Public Member Functions inherited from GlobalEffectable
void cloneFrom (ModControllableAudio *other) override
ModelStackWithAutoParamgetParamFromModEncoder (int32_t whichModEncoder, ModelStackWithThreeMainThings *modelStack, bool allowCreation=true) override
void setupFilterSetConfig (int32_t *postFXVolume, ParamManager *paramManager)
void processFilters (std::span< StereoSample > buffer)
void compensateVolumeForResonance (ParamManagerForTimeline *paramManager)
void processFXForGlobalEffectable (std::span< StereoSample > buffer, int32_t *postFXVolume, ParamManager *paramManager, const Delay::State &delayWorkingState, bool anySoundComingIn, q31_t verbAmount)
void writeAttributesToFile (Serializer &writer, bool writeToFile)
void writeTagsToFile (Serializer &writer, ParamManager *paramManager, bool writeToFile)
Error readTagFromFile (Deserializer &reader, char const *tagName, ParamManagerForTimeline *paramManager, int32_t readAutomationUpToPos, ArpeggiatorSettings *arpSettings, Song *song) override
Delay::State createDelayWorkingState (ParamManager &paramManager, bool shouldLimitDelayFeedback=false, bool soundComingIn=true)
bool isEditingComp () override
int32_t getKnobPosForNonExistentParam (int32_t whichModEncoder, ModelStackWithAutoParam *modelStack) override
ActionResult modEncoderActionForNonExistentParam (int32_t offset, int32_t whichModEncoder, ModelStackWithAutoParam *modelStack) override
ModFXType getModFXType () override
Public Member Functions inherited from ModControllableAudio
void processStutter (std::span< StereoSample > buffer, ParamManager *paramManager)
void processReverbSendAndVolume (std::span< StereoSample > buffer, int32_t *reverbBuffer, int32_t postFXVolume, int32_t postReverbVolume, int32_t reverbSendAmount, int32_t pan=0, bool doAmplitudeIncrement=false)
void writeAttributesToFile (Serializer &writer)
void writeTagsToFile (Serializer &writer)
void processSRRAndBitcrushing (std::span< StereoSample > buffer, int32_t *postFXVolume, ParamManager *paramManager)
virtual void wontBeRenderedForAWhile ()
void beginStutter (ParamManagerForTimeline *paramManager)
void endStutter (ParamManagerForTimeline *paramManager)
virtual bool setModFXType (ModFXType newType)
bool offerReceivedCCToLearnedParamsForClip (MIDICable &cable, uint8_t channel, uint8_t ccNumber, uint8_t value, ModelStackWithTimelineCounter *modelStack, int32_t noteRowIndex=-1)
bool offerReceivedCCToLearnedParamsForSong (MIDICable &cable, uint8_t channel, uint8_t ccNumber, uint8_t value, ModelStackWithThreeMainThings *modelStackWithThreeMainThings)
bool offerReceivedPitchBendToLearnedParams (MIDICable &cable, uint8_t channel, uint8_t data1, uint8_t data2, ModelStackWithTimelineCounter *modelStack, int32_t noteRowIndex=-1)
virtual bool learnKnob (MIDICable *cable, ParamDescriptor paramDescriptor, uint8_t whichKnob, uint8_t modKnobMode, uint8_t midiChannel, Song *song)
bool unlearnKnobs (ParamDescriptor paramDescriptor, Song *song)
virtual void ensureInaccessibleParamPresetValuesWithoutKnobsAreZero (Song *song)
bool isBitcrushingEnabled (ParamManager *paramManager)
bool isSRREnabled (ParamManager *paramManager)
bool hasBassAdjusted (ParamManager *paramManager)
bool hasTrebleAdjusted (ParamManager *paramManager)
ModelStackWithAutoParamgetParamFromMIDIKnob (MIDIKnob &knob, ModelStackWithThreeMainThings *modelStack) override
 Check that autoParam isn't NULL, after calling this.
Public Member Functions inherited from ModControllable
virtual bool isSong ()
virtual bool valueChangedEnoughToMatter (int32_t old_value, int32_t new_value, deluge::modulation::params::Kind kind, uint32_t paramID)
virtual bool allowNoteTails (ModelStackWithSoundFlags *modelStack, bool disregardSampleLoop=false)
virtual void polyphonicExpressionEventOnChannelOrNote (int32_t newValue, int32_t expressionDimension, int32_t channelOrNoteNumber, MIDICharacteristic whichCharacteristic)
virtual void monophonicExpressionEvent (int32_t newValue, int32_t expressionDimension)

Public Attributes

ArpeggiatorForKit arpeggiator
ArpeggiatorSettings defaultArpSettings
DrumfirstDrum
DrumselectedDrum
OrderedResizeableArrayWith32bitKey drumsWithRenderingActive
Public Attributes inherited from Instrument
String dirPath
bool editedByUser = false
bool existsOnCard = false
bool shouldHibernate {true}
uint8_t defaultVelocity = FlashStorage::defaultVelocity
LearnedMIDI midiInput
Public Attributes inherited from Output
ClipInstanceVector clipInstances
String name
Outputnext
const OutputType type
bool mutedInArrangementMode
bool mutedInArrangementModeBeforeStemExport
bool exportStem
bool soloingInArrangementMode
bool inValidState
bool wasCreatedForAutoOverdub
bool armedForRecording
int16_t colour {0}
uint8_t modKnobMode
bool alreadyGotItsNewClip
bool isGettingSoloingClip
bool nextClipFoundShouldGetArmed
bool recordingInArrangement
Public Attributes inherited from GlobalEffectableForClip
std::array< uint32_t, 2 > lastSaturationTanHWorkingValue = {2147483648u, 2147483648u}
Public Attributes inherited from GlobalEffectable
dsp::filter::FilterSet filterSet
ModFXParam currentModFXParam
FilterType currentFilterType
bool editingComp
CompParam currentCompParam
Public Attributes inherited from ModControllableAudio
int32_t bassFreq {}
int32_t trebleFreq {}
int32_t withoutTrebleL
int32_t bassOnlyL
int32_t withoutTrebleR
int32_t bassOnlyR
Delay delay
StutterConfig stutterConfig
bool sampleRateReductionOnLastTime
uint8_t clippingAmount
FilterMode lpfMode
FilterMode hpfMode
FilterRoute filterRoute
ModFXType modFXType_
ModFXProcessor modfx {}
RMSFeedbackCompressor compressor
GranularProcessorgrainFX {nullptr}
uint32_t lowSampleRatePos {}
uint32_t highSampleRatePos {}
StereoSample lastSample
StereoSample grabbedSample
StereoSample lastGrabbedSample
SideChain sidechain
deluge::fast_vector< MIDIKnobmidi_knobs
int32_t postReverbVolumeLastTime {}

Protected Member Functions

bool isKit () override
Protected Member Functions inherited from Instrument
ClipcreateNewClipForArrangementRecording (ModelStack *modelStack) final
Error setupDefaultAudioFileDir ()
Protected Member Functions inherited from Output
virtual void clearRecordingFrom ()
Protected Member Functions inherited from GlobalEffectableForClip
int32_t getParameterFromKnob (int32_t whichModEncoder) final
void renderOutput (ModelStackWithTimelineCounter *modelStack, ParamManager *paramManagerForClip, std::span< StereoSample > output, int32_t *reverbBuffer, int32_t reverbAmountAdjust, int32_t sideChainHitPending, bool shouldLimitDelayFeedback, bool isClipActive, OutputType outputType, SampleRecorder *recorder)
virtual bool willRenderAsOneChannelOnlyWhichWillNeedCopying ()
Protected Member Functions inherited from GlobalEffectable
ModFXType getActiveModFXType (ParamManager *paramManager)
Protected Member Functions inherited from ModControllableAudio
void processFX (std::span< StereoSample > buffer, ModFXType modFXType, int32_t modFXRate, int32_t modFXDepth, const Delay::State &delayWorkingState, int32_t *postFXVolume, ParamManager *paramManager, bool anySoundComingIn, q31_t reverbSendAmount)
void switchDelayPingPong ()
void switchDelayAnalog ()
void switchDelaySyncType ()
void switchDelaySyncLevel ()
void switchLPFMode ()
void switchHPFMode ()
void clearModFXMemory ()
char const * getFilterTypeDisplayName (FilterType currentFilterType)
char const * getFilterModeDisplayName (FilterType currentFilterType)
char const * getLPFModeDisplayName ()
char const * getHPFModeDisplayName ()
char const * getDelayTypeDisplayName ()
char const * getDelayPingPongStatusDisplayName ()
char const * getDelaySyncTypeDisplayName ()
void getDelaySyncLevelDisplayName (char *displayName)
char const * getSidechainDisplayName ()
void displayFilterSettings (bool on, FilterType currentFilterType)
void displayDelaySettings (bool on)
void displaySidechainAndReverbSettings (bool on)
void displayOtherModKnobSettings (uint8_t whichModButton, bool on)
 displays names of parameters assigned to gold knobs
bool enableGrain ()
void disableGrain ()

Private Member Functions

Error readDrumFromFile (Deserializer &reader, Song *song, Clip *clip, DrumType drumType, int32_t readAutomationUpToPos)
void writeDrumToFile (Serializer &writer, Drum *thisDrum, ParamManager *paramManagerForDrum, bool savingSong, int32_t *selectedDrumIndex, int32_t *drumIndex, Song *song)
void removeDrumFromLinkedList (Drum *drum)
void drumRemoved (Drum *drum)
void possiblySetSelectedDrumAndRefreshUI (Drum *thisDrum)
void setupAndRenderArpPreOutput (ModelStackWithTimelineCounter *modelStackWithTimelineCounter, ParamManager *paramManager, std::span< StereoSample > output)
ArpeggiatorSettingsgetArpSettings (InstrumentClip *clip=nullptr)
void renderNonAudioArpPostOutput (std::span< StereoSample > output)

Additional Inherited Members

Static Public Member Functions inherited from GlobalEffectable
static void initParams (ParamManager *paramManager)
static void initParamsForAudioClip (ParamManagerForTimeline *paramManager)
static void writeParamAttributesToFile (Serializer &writer, ParamManager *paramManager, bool writeAutomation, int32_t *valuesForOverride=nullptr)
static void writeParamTagsToFile (Serializer &writer, ParamManager *paramManager, bool writeAutomation, int32_t *valuesForOverride=nullptr)
static void readParamsFromFile (Deserializer &reader, ParamManagerForTimeline *paramManager, int32_t readAutomationUpToPos)
static bool readParamTagFromFile (Deserializer &reader, char const *tagName, ParamManagerForTimeline *paramManager, int32_t readAutomationUpToPos)
Static Public Member Functions inherited from ModControllableAudio
static void writeParamAttributesToFile (Serializer &writer, ParamManager *paramManager, bool writeAutomation, int32_t *valuesForOverride=nullptr)
static void writeParamTagsToFile (Serializer &writer, ParamManager *paramManager, bool writeAutomation, int32_t *valuesForOverride=nullptr)
static bool readParamTagFromFile (Deserializer &reader, char const *tagName, ParamManagerForTimeline *paramManager, int32_t readAutomationUpToPos)
static void initParams (ParamManager *paramManager)
Protected Attributes inherited from Output
bool recorderIsEchoing {false}
OutputoutputRecordingThisOutput {nullptr}
ClipactiveClip {nullptr}
SampleRecorderrecorder {nullptr}
Protected Attributes inherited from GlobalEffectable
int maxCompParam = 0
Protected Attributes inherited from ModControllableAudio
deluge::modulation::params::Kind unpatchedParamKind_
Protected Attributes inherited from ModControllable
deluge::modulation::params::Kind unpatchedParamKind_

Member Function Documentation

◆ beenEdited()

void Kit::beenEdited ( bool shouldMoveToEmptySlot = true)
overridevirtual

Reimplemented from Instrument.

◆ cutAllSound()

void Kit::cutAllSound ( )
overridevirtual

Reimplemented from Output.

◆ deleteBackedUpParamManagers()

void Kit::deleteBackedUpParamManagers ( Song * song)
overridevirtual

Reimplemented from Output.

◆ doTickForwardForArp()

int32_t Kit::doTickForwardForArp ( ModelStack * modelStack,
int32_t currentPos )
overridevirtual

Reimplemented from Output.

◆ getModelStackWithParam()

ModelStackWithAutoParam * Kit::getModelStackWithParam ( ModelStackWithTimelineCounter * modelStack,
Clip * clip,
int32_t paramID,
deluge::modulation::params::Kind paramKind,
bool affectEntire,
bool useMenuStack )
overridevirtual

for a kit we have two types of automation: with Affect Entire and without Affect Entire

Implements Output.

◆ getModelStackWithParamForKit()

ModelStackWithAutoParam * Kit::getModelStackWithParamForKit ( ModelStackWithTimelineCounter * modelStack,
Clip * clip,
int32_t paramID,
deluge::modulation::params::Kind paramKind,
bool useMenuStack )

for a kit we have two types of automation: with Affect Entire and without Affect Entire for a kit with affect entire on, we are automating information at the kit level

◆ getModelStackWithParamForKitRow()

ModelStackWithAutoParam * Kit::getModelStackWithParamForKitRow ( ModelStackWithTimelineCounter * modelStack,
Clip * clip,
int32_t paramID,
deluge::modulation::params::Kind paramKind,
bool useMenuStack )

for a kit we have two types of automation: with Affect Entire and without Affect Entire for a kit with affect entire off, we are automating information at the noterow level

◆ getModKnobMode()

uint8_t * Kit::getModKnobMode ( )
inlineoverridevirtual

Reimplemented from ModControllable.

◆ getThingWithMostReverb()

void Kit::getThingWithMostReverb ( Sound ** soundWithMostReverb,
ParamManager ** paramManagerWithMostReverb,
GlobalEffectableForClip ** globalEffectableWithMostReverb,
int32_t * highestReverbAmountFound )
overridevirtual

Reimplemented from Output.

◆ getXMLTag()

char const * Kit::getXMLTag ( )
inlineoverridevirtual

Implements Output.

◆ isAnyAuditioningHappening()

bool Kit::isAnyAuditioningHappening ( )
overridevirtual

Implements Instrument.

◆ isKit()

bool Kit::isKit ( )
inlineoverrideprotectedvirtual

Reimplemented from ModControllable.

◆ isNoteRowStillAuditioningAsLinearRecordingEnded()

bool Kit::isNoteRowStillAuditioningAsLinearRecordingEnded ( NoteRow * noteRow)
overridevirtual

Implements Instrument.

◆ loadAllAudioFiles()

Error Kit::loadAllAudioFiles ( bool mayActuallyReadFiles)
overridevirtual

Reimplemented from Output.

◆ loadCrucialAudioFilesOnly()

void Kit::loadCrucialAudioFilesOnly ( )
overridevirtual

Reimplemented from Output.

◆ offerBendRangeUpdate()

void Kit::offerBendRangeUpdate ( ModelStack * modelStack,
MIDICable & cable,
int32_t channelOrZone,
int32_t whichBendRange,
int32_t bendSemitones )
overridevirtual

Reimplemented from Output.

◆ offerReceivedAftertouch()

void Kit::offerReceivedAftertouch ( ModelStackWithTimelineCounter * modelStackWithTimelineCounter,
MIDICable & cable,
int32_t channel,
int32_t value,
int32_t noteCode,
bool * doingMidiThru )
overridevirtual

Reimplemented from Output.

◆ offerReceivedCC()

void Kit::offerReceivedCC ( ModelStackWithTimelineCounter * modelStackWithTimelineCounter,
MIDICable & cable,
uint8_t channel,
uint8_t ccNumber,
uint8_t value,
bool * doingMidiThru )
overridevirtual

Reimplemented from Output.

◆ offerReceivedCCToLearnedParams()

void Kit::offerReceivedCCToLearnedParams ( MIDICable & cable,
uint8_t channel,
uint8_t ccNumber,
uint8_t value,
ModelStackWithTimelineCounter * modelStack )
overridevirtual

Reimplemented from Output.

◆ offerReceivedNote()

void Kit::offerReceivedNote ( ModelStackWithTimelineCounter * modelStackWithTimelineCounter,
MIDICable & cable,
bool on,
int32_t channel,
int32_t note,
int32_t velocity,
bool shouldRecordNotes,
bool * doingMidiThru )
overridevirtual

Reimplemented from Output.

◆ offerReceivedPitchBend()

void Kit::offerReceivedPitchBend ( ModelStackWithTimelineCounter * modelStackWithTimelineCounter,
MIDICable & cable,
uint8_t channel,
uint8_t data1,
uint8_t data2,
bool * doingMidiThru )
overridevirtual

Reimplemented from Output.

◆ offerReceivedPitchBendToLearnedParams()

bool Kit::offerReceivedPitchBendToLearnedParams ( MIDICable & cable,
uint8_t channel,
uint8_t data1,
uint8_t data2,
ModelStackWithTimelineCounter * modelStack )
overridevirtual

Pitch bend is available in the mod matrix as X and shouldn't be learned to params anymore (post 4.0)

Reimplemented from Output.

◆ prepareForHibernationOrDeletion()

void Kit::prepareForHibernationOrDeletion ( )
overridevirtual

Reimplemented from Output.

◆ processParamFromInputMIDIChannel()

void Kit::processParamFromInputMIDIChannel ( int32_t cc,
int32_t newValue,
ModelStackWithTimelineCounter * modelStack )
inlineoverridevirtual

Implements Instrument.

◆ readFromFile()

Error Kit::readFromFile ( Deserializer & reader,
Song * song,
Clip * clip,
int32_t readAutomationUpToPos )
overridevirtual

Reimplemented from Output.

◆ renderGlobalEffectableForClip()

bool Kit::renderGlobalEffectableForClip ( ModelStackWithTimelineCounter * modelStack,
std::span< StereoSample > globalEffectableBuffer,
int32_t * bufferToTransferTo,
int32_t * reverbBuffer,
int32_t reverbAmountAdjust,
int32_t sideChainHitPending,
bool shouldLimitDelayFeedback,
bool isClipActive,
int32_t pitchAdjust,
int32_t amplitudeAtStart,
int32_t amplitudeAtEnd )
overridevirtual

◆ renderOutput()

void Kit::renderOutput ( ModelStack * modelStack,
std::span< StereoSample > buffer,
int32_t * reverbBuffer,
int32_t reverbAmountAdjust,
int32_t sideChainHitPending,
bool shouldLimitDelayFeedback,
bool isClipActive )
overridevirtual

Implements Output.

◆ resyncLFOs()

void Kit::resyncLFOs ( )
overridevirtual

Reimplemented from Output.

◆ setActiveClip()

bool Kit::setActiveClip ( ModelStackWithTimelineCounter * modelStack,
PgmChangeSend maySendMIDIPGMs )
overridevirtual

Reimplemented from Output.

◆ setupPatching()

void Kit::setupPatching ( ModelStackWithTimelineCounter * modelStack)
overridevirtual

Reimplemented from Instrument.

◆ setupWithoutActiveClip()

void Kit::setupWithoutActiveClip ( ModelStack * modelStack)
overridevirtual

Reimplemented from Output.

◆ stopAnyAuditioning()

void Kit::stopAnyAuditioning ( ModelStack * modelStack)
overridevirtual

Reimplemented from Output.

◆ toModControllable()

ModControllable * Kit::toModControllable ( )
overridevirtual

Reimplemented from Output.

◆ toOutput()

Output * Kit::toOutput ( )
inlineoverridevirtual

◆ writeDataToFile()

bool Kit::writeDataToFile ( Serializer & writer,
Clip * clipForSavingOutputOnly,
Song * song )
overridevirtual

Reimplemented from Instrument.


The documentation for this class was generated from the following files:
  • src/deluge/model/instrument/kit.h
  • src/deluge/model/instrument/kit.cpp