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

Public Member Functions

Drum * getNextDrum (Drum *fromSoundSource)
Drum * getPrevDrum (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
Drum * getFirstUnassignedDrum (InstrumentClip *clip)
int32_t getDrumIndex (Drum *drum)
Drum * getDrumFromIndex (int32_t index)
Drum * getDrumFromIndexAllowNull (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)
ModControllable * toModControllable () override
Drum * getDrumFromName (std::string_view 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
GateDrum * getGateDrumForChannel (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
Output * toOutput () 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
ModelStackWithAutoParam * getModelStackWithParam (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
ModelStackWithAutoParam * getModelStackWithParamForKit (ModelStackWithTimelineCounter *modelStack, Clip *clip, int32_t paramID, deluge::modulation::params::Kind paramKind, bool useMenuStack)
ModelStackWithAutoParam * getModelStackWithParamForKitRow (ModelStackWithTimelineCounter *modelStack, Clip *clip, int32_t paramID, deluge::modulation::params::Kind paramKind, bool useMenuStack)
Drum * getDrumFromNoteCode (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)
Clip * getActiveClip () 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)
Clip * getClipFromName (std::string_view 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 ParamManager * getParamManager (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 ()
Output * getOutputRecordingThis ()
virtual void clearRecordingFrom ()
virtual Output * getOutputRecordingFrom ()
 Which output this one records from, or nullptr. Only audio outputs ever record from another output.
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)
int32_t getShiftAmountForSaturation ()
q31_t saturate (q31_t data, uint32_t *workingValue, int32_t shiftAmount)
Public Member Functions inherited from GlobalEffectable
void cloneFrom (ModControllableAudio *other) override
ModelStackWithAutoParam * getParamFromModEncoder (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)
ModelStackWithAutoParam * getParamFromMIDIKnob (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
Drum * firstDrum
Drum * selectedDrum
OrderedResizeableArrayWith32bitKey drumsWithRenderingActive
Public Attributes inherited from Instrument
String dirPath
bool editedByUser = false
bool mightExistOnCard = false
bool shouldHibernate {true}
uint8_t defaultVelocity = FlashStorage::defaultVelocity
LearnedMIDI midiInput
Public Attributes inherited from Output
ClipInstanceVector clipInstances
String name
Output * next
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
GranularProcessor * grainFX {nullptr}
uint32_t lowSampleRatePos {}
uint32_t highSampleRatePos {}
StereoSample lastSample
StereoSample grabbedSample
StereoSample lastGrabbedSample
SideChain sidechain
deluge::fast_vector< MIDIKnob > midi_knobs
int32_t postReverbVolumeLastTime {}

Protected Member Functions

bool isKit () override
Protected Member Functions inherited from Instrument
Clip * createNewClipForArrangementRecording (ModelStack *modelStack) final
Error setupDefaultAudioFileDir ()
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)
ArpeggiatorSettings * getArpSettings (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}
Output * outputRecordingThisOutput {nullptr}
Clip * activeClip {nullptr}
SampleRecorder * recorder {nullptr}
Protected Attributes inherited from GlobalEffectableForClip
bool renderedLastTime = false
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