Deluge Firmware 1.3.0
Build date: 2026.07.29
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 (std::string_view 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 ()
virtual void clearRecordingFrom ()
virtual OutputgetOutputRecordingFrom ()
 Which output this one records from, or nullptr. Only audio outputs ever record from another output.

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

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.

◆ getOutputRecordingFrom()

virtual Output * Output::getOutputRecordingFrom ( )
inlinevirtual

Which output this one records from, or nullptr. Only audio outputs ever record from another output.

Reimplemented in AudioOutput.

◆ 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