Deluge Firmware 1.3.0
Build date: 2025.07.02
Loading...
Searching...
No Matches
Output Class Referenceabstract
Inheritance diagram for Output:
Collaboration diagram for Output:

Public Member Functions

 Output (OutputType newType)
virtual bool matchesPreset (OutputType otherType, int32_t channel, int32_t channelSuffix, char const *otherName, char const *dirPath)=0
ClipgetActiveClip () const
virtual void renderOutput (ModelStack *modelStack, std::span< StereoSample > outputBuffer, int32_t *reverbBuffer, int32_t reverbAmountAdjust, int32_t sideChainHitPending, bool shouldLimitDelayFeedback, bool isClipActive)=0
virtual void setupWithoutActiveClip (ModelStack *modelStack)
virtual bool setActiveClip (ModelStackWithTimelineCounter *modelStack, PgmChangeSend maySendMIDIPGMs=PgmChangeSend::ONCE)
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 ModControllabletoModControllable ()
virtual bool isSkippingRendering ()
bool clipHasInstance (Clip *clip)
bool isEmpty (bool displayPopup=true)
void clipLengthChanged (Clip *clip, int32_t oldLength)
virtual void cutAllSound ()
virtual void getThingWithMostReverb (Sound **soundWithMostReverb, ParamManager **paramManagerWithMostReverb, GlobalEffectableForClip **globalEffectableWithMostReverb, int32_t *highestReverbAmountFound)
ClipgetClipFromName (String *name)
 If there's a clip matching the name on this output, returns it.
virtual bool offerReceivedPitchBendToLearnedParams (MIDICable &cable, uint8_t channel, uint8_t data1, uint8_t data2, ModelStackWithTimelineCounter *modelStack)
 Pitch bend is available in the mod matrix as X and shouldn't be learned to params anymore (post 4.0)
virtual void offerReceivedCCToLearnedParams (MIDICable &cable, uint8_t channel, uint8_t ccNumber, uint8_t value, ModelStackWithTimelineCounter *modelStack)
virtual int32_t doTickForwardForArp (ModelStack *modelStack, int32_t currentPos)
void endAnyArrangementRecording (Song *song, int32_t actualEndPos, uint32_t timeRemainder)
virtual bool wantsToBeginArrangementRecording ()
virtual Error readFromFile (Deserializer &reader, Song *song, Clip *clip, int32_t readAutomationUpToPos)
virtual bool readTagFromFile (Deserializer &reader, char const *tagName)
void writeToFile (Clip *clipForSavingOutputOnly, Song *song)
virtual bool writeDataToFile (Serializer &writer, Clip *clipForSavingOutputOnly, Song *song)
virtual Error loadAllAudioFiles (bool mayActuallyReadFiles)
virtual void loadCrucialAudioFilesOnly ()
virtual void resyncLFOs ()
virtual void sendMIDIPGM ()
virtual void deleteBackedUpParamManagers (Song *song)
virtual void prepareForHibernationOrDeletion ()
virtual char const * getXMLTag ()=0
virtual ParamManagergetParamManager (Song *song)
virtual char const * getNameXMLTag ()
virtual void offerReceivedNote (ModelStackWithTimelineCounter *modelStackWithTimelineCounter, MIDICable &cable, bool on, int32_t channel, int32_t note, int32_t velocity, bool shouldRecordNotes, bool *doingMidiThru)
virtual void offerReceivedPitchBend (ModelStackWithTimelineCounter *modelStackWithTimelineCounter, MIDICable &cable, uint8_t channel, uint8_t data1, uint8_t data2, bool *doingMidiThru)
virtual void offerReceivedCC (ModelStackWithTimelineCounter *modelStackWithTimelineCounter, MIDICable &cable, uint8_t channel, uint8_t ccNumber, uint8_t value, bool *doingMidiThru)
virtual void offerReceivedAftertouch (ModelStackWithTimelineCounter *modelStackWithTimelineCounter, MIDICable &cable, int32_t channel, int32_t value, int32_t noteCode, bool *doingMidiThru)
virtual void stopAnyAuditioning (ModelStack *modelStack)
virtual void offerBendRangeUpdate (ModelStack *modelStack, MIDICable &cable, int32_t channelOrZone, int32_t whichBendRange, int32_t bendSemitones)
Error possiblyBeginArrangementRecording (Song *song, int32_t newPos)
void endArrangementPlayback (Song *song, int32_t actualEndPos, uint32_t timeRemainder)
virtual ModelStackWithAutoParamgetModelStackWithParam (ModelStackWithTimelineCounter *modelStack, Clip *clip, int32_t paramID, deluge::modulation::params::Kind paramKind, bool affectEntire, bool useMenuStack)=0
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 Attributes

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

Protected Member Functions

virtual ClipcreateNewClipForArrangementRecording (ModelStack *modelStack)=0
virtual void clearRecordingFrom ()

Protected Attributes

bool recorderIsEchoing {false}
OutputoutputRecordingThisOutput {nullptr}
ClipactiveClip {nullptr}
SampleRecorderrecorder {nullptr}

Member Function Documentation

◆ getModelStackWithParam()

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

Implemented in Kit.

◆ offerReceivedPitchBendToLearnedParams()

virtual bool Output::offerReceivedPitchBendToLearnedParams ( MIDICable & cable,
uint8_t channel,
uint8_t data1,
uint8_t data2,
ModelStackWithTimelineCounter * modelStack )
inlinevirtual

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

Reimplemented in AudioOutput, Kit, and SoundInstrument.


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