Deluge Firmware
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Protected Member Functions | List of all members
Output Class Referenceabstract

#include <Output.h>

Inheritance diagram for Output:
Inheritance graph
Collaboration diagram for Output:
Collaboration graph

Public Member Functions

 Output (int newType)
 
virtual ~Output ()
 
virtual void renderOutput (ModelStack *modelStack, StereoSample *startPos, StereoSample *endPos, int numSamples, int32_t *reverbBuffer, int32_t reverbAmountAdjust, int32_t sideChainHitPending, bool shouldLimitDelayFeedback, bool isClipActive)=0
 
virtual void setupWithoutActiveClip (ModelStack *modelStack)
 
virtual bool setActiveClip (ModelStackWithTimelineCounter *modelStack, int maySendMIDIPGMs=PGM_CHANGE_SEND_ONCE)
 
void pickAnActiveClipForArrangementPos (ModelStack *modelStack, int arrangementPos, int maySendMIDIPGMs)
 
void pickAnActiveClipIfPossible (ModelStack *modelStack, bool searchSessionClipsIfNeeded=true, int maySendMIDIPGMs=PGM_CHANGE_SEND_ONCE, bool setupWithoutActiveClipIfNeeded=true)
 
void detachActiveClip (Song *currentSong)
 
virtual ModControllabletoModControllable ()
 
virtual bool isSkippingRendering ()
 
bool clipHasInstance (Clip *clip)
 
void clipLengthChanged (Clip *clip, int32_t oldLength)
 
virtual void cutAllSound ()
 
virtual void getThingWithMostReverb (Sound **soundWithMostReverb, ParamManager **paramManagerWithMostReverb, GlobalEffectableForClip **globalEffectableWithMostReverb, int32_t *highestReverbAmountFound)
 
virtual bool offerReceivedPitchBendToLearnedParams (MIDIDevice *fromDevice, uint8_t channel, uint8_t data1, uint8_t data2, ModelStackWithTimelineCounter *modelStack)
 
virtual void offerReceivedCCToLearnedParams (MIDIDevice *fromDevice, 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 int readFromFile (Song *song, Clip *clip, int32_t readAutomationUpToPos)
 
virtual bool readTagFromFile (char const *tagName)
 
void writeToFile (Clip *clipForSavingOutputOnly, Song *song)
 
virtual bool writeDataToFile (Clip *clipForSavingOutputOnly, Song *song)
 
virtual int 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, MIDIDevice *fromDevice, bool on, int channel, int note, int velocity, bool shouldRecordNotes, bool *doingMidiThru)
 
virtual void offerReceivedPitchBend (ModelStackWithTimelineCounter *modelStackWithTimelineCounter, MIDIDevice *fromDevice, uint8_t channel, uint8_t data1, uint8_t data2, bool *doingMidiThru)
 
virtual void offerReceivedCC (ModelStackWithTimelineCounter *modelStackWithTimelineCounter, MIDIDevice *fromDevice, uint8_t channel, uint8_t ccNumber, uint8_t value, bool *doingMidiThru)
 
virtual void offerReceivedAftertouch (ModelStackWithTimelineCounter *modelStackWithTimelineCounter, MIDIDevice *fromDevice, int channel, int value, int noteCode, bool *doingMidiThru)
 
virtual void stopAnyAuditioning (ModelStack *modelStack)
 
virtual void offerBendRangeUpdate (ModelStack *modelStack, MIDIDevice *device, int channelOrZone, int whichBendRange, int bendSemitones)
 
int possiblyBeginArrangementRecording (Song *song, int newPos)
 
void endArrangementPlayback (Song *song, int32_t actualEndPos, uint32_t timeRemainder)
 

Public Attributes

ClipInstanceVector clipInstances
 
ClipactiveClip
 
String name
 
Outputnext
 
const uint8_t type
 
bool mutedInArrangementMode
 
bool soloingInArrangementMode
 
bool inValidState
 
bool wasCreatedForAutoOverdub
 
bool armedForRecording
 
uint8_t modKnobMode
 
bool alreadyGotItsNewClip
 
bool isGettingSoloingClip
 
bool nextClipFoundShouldGetArmed
 
bool recordingInArrangement
 

Protected Member Functions

virtual ClipcreateNewClipForArrangementRecording (ModelStack *modelStack)=0
 

Constructor & Destructor Documentation

◆ Output()

Output::Output ( int  newType)

◆ ~Output()

Output::~Output ( )
virtual

Member Function Documentation

◆ clipHasInstance()

bool Output::clipHasInstance ( Clip clip)

◆ clipLengthChanged()

void Output::clipLengthChanged ( Clip clip,
int32_t  oldLength 
)

◆ createNewClipForArrangementRecording()

virtual Clip * Output::createNewClipForArrangementRecording ( ModelStack modelStack)
protectedpure virtual

Implemented in AudioOutput, and Instrument.

◆ cutAllSound()

virtual void Output::cutAllSound ( )
inlinevirtual

Reimplemented in AudioOutput, Kit, and SoundInstrument.

◆ deleteBackedUpParamManagers()

virtual void Output::deleteBackedUpParamManagers ( Song song)
inlinevirtual

Reimplemented in AudioOutput, Kit, and SoundInstrument.

◆ detachActiveClip()

void Output::detachActiveClip ( Song currentSong)

◆ doTickForwardForArp()

virtual int32_t Output::doTickForwardForArp ( ModelStack modelStack,
int32_t  currentPos 
)
inlinevirtual

Reimplemented in Kit, SoundInstrument, and NonAudioInstrument.

◆ endAnyArrangementRecording()

void Output::endAnyArrangementRecording ( Song song,
int32_t  actualEndPos,
uint32_t  timeRemainder 
)

◆ endArrangementPlayback()

void Output::endArrangementPlayback ( Song song,
int32_t  actualEndPos,
uint32_t  timeRemainder 
)

◆ getNameXMLTag()

virtual char const * Output::getNameXMLTag ( )
inlinevirtual

Reimplemented in Instrument.

◆ getParamManager()

ParamManager * Output::getParamManager ( Song song)
virtual

Reimplemented in NonAudioInstrument.

◆ getThingWithMostReverb()

virtual void Output::getThingWithMostReverb ( Sound **  soundWithMostReverb,
ParamManager **  paramManagerWithMostReverb,
GlobalEffectableForClip **  globalEffectableWithMostReverb,
int32_t *  highestReverbAmountFound 
)
inlinevirtual

Reimplemented in AudioOutput, Kit, and SoundInstrument.

◆ getXMLTag()

virtual char const * Output::getXMLTag ( )
pure virtual

◆ isSkippingRendering()

virtual bool Output::isSkippingRendering ( )
inlinevirtual

Reimplemented in AudioOutput, and SoundInstrument.

◆ loadAllAudioFiles()

virtual int Output::loadAllAudioFiles ( bool  mayActuallyReadFiles)
inlinevirtual

Reimplemented in Kit, and SoundInstrument.

◆ loadCrucialAudioFilesOnly()

virtual void Output::loadCrucialAudioFilesOnly ( )
inlinevirtual

Reimplemented in Kit, and SoundInstrument.

◆ offerBendRangeUpdate()

virtual void Output::offerBendRangeUpdate ( ModelStack modelStack,
MIDIDevice device,
int  channelOrZone,
int  whichBendRange,
int  bendSemitones 
)
inlinevirtual

Reimplemented in Kit, and MelodicInstrument.

◆ offerReceivedAftertouch()

virtual void Output::offerReceivedAftertouch ( ModelStackWithTimelineCounter modelStackWithTimelineCounter,
MIDIDevice fromDevice,
int  channel,
int  value,
int  noteCode,
bool *  doingMidiThru 
)
inlinevirtual

Reimplemented in Kit, and MelodicInstrument.

◆ offerReceivedCC()

virtual void Output::offerReceivedCC ( ModelStackWithTimelineCounter modelStackWithTimelineCounter,
MIDIDevice fromDevice,
uint8_t  channel,
uint8_t  ccNumber,
uint8_t  value,
bool *  doingMidiThru 
)
inlinevirtual

Reimplemented in Kit, and MelodicInstrument.

◆ offerReceivedCCToLearnedParams()

virtual void Output::offerReceivedCCToLearnedParams ( MIDIDevice fromDevice,
uint8_t  channel,
uint8_t  ccNumber,
uint8_t  value,
ModelStackWithTimelineCounter modelStack 
)
inlinevirtual

Reimplemented in AudioOutput, Kit, and SoundInstrument.

◆ offerReceivedNote()

virtual void Output::offerReceivedNote ( ModelStackWithTimelineCounter modelStackWithTimelineCounter,
MIDIDevice fromDevice,
bool  on,
int  channel,
int  note,
int  velocity,
bool  shouldRecordNotes,
bool *  doingMidiThru 
)
inlinevirtual

Reimplemented in Kit, MelodicInstrument, and MIDIInstrument.

◆ offerReceivedPitchBend()

virtual void Output::offerReceivedPitchBend ( ModelStackWithTimelineCounter modelStackWithTimelineCounter,
MIDIDevice fromDevice,
uint8_t  channel,
uint8_t  data1,
uint8_t  data2,
bool *  doingMidiThru 
)
inlinevirtual

Reimplemented in Kit, and MelodicInstrument.

◆ offerReceivedPitchBendToLearnedParams()

virtual bool Output::offerReceivedPitchBendToLearnedParams ( MIDIDevice fromDevice,
uint8_t  channel,
uint8_t  data1,
uint8_t  data2,
ModelStackWithTimelineCounter modelStack 
)
inlinevirtual

Reimplemented in AudioOutput, Kit, and SoundInstrument.

◆ pickAnActiveClipForArrangementPos()

void Output::pickAnActiveClipForArrangementPos ( ModelStack modelStack,
int  arrangementPos,
int  maySendMIDIPGMs 
)

◆ pickAnActiveClipIfPossible()

void Output::pickAnActiveClipIfPossible ( ModelStack modelStack,
bool  searchSessionClipsIfNeeded = true,
int  maySendMIDIPGMs = PGM_CHANGE_SEND_ONCE,
bool  setupWithoutActiveClipIfNeeded = true 
)

◆ possiblyBeginArrangementRecording()

int Output::possiblyBeginArrangementRecording ( Song song,
int  newPos 
)

◆ prepareForHibernationOrDeletion()

virtual void Output::prepareForHibernationOrDeletion ( )
inlinevirtual

Reimplemented in Kit, and SoundInstrument.

◆ readFromFile()

int Output::readFromFile ( Song song,
Clip clip,
int32_t  readAutomationUpToPos 
)
virtual

Reimplemented in AudioOutput, Kit, and SoundInstrument.

◆ readTagFromFile()

bool Output::readTagFromFile ( char const *  tagName)
virtual

◆ renderOutput()

virtual void Output::renderOutput ( ModelStack modelStack,
StereoSample startPos,
StereoSample endPos,
int  numSamples,
int32_t *  reverbBuffer,
int32_t  reverbAmountAdjust,
int32_t  sideChainHitPending,
bool  shouldLimitDelayFeedback,
bool  isClipActive 
)
pure virtual

◆ resyncLFOs()

virtual void Output::resyncLFOs ( )
inlinevirtual

Reimplemented in Kit, and SoundInstrument.

◆ sendMIDIPGM()

virtual void Output::sendMIDIPGM ( )
inlinevirtual

Reimplemented in MIDIInstrument.

◆ setActiveClip()

bool Output::setActiveClip ( ModelStackWithTimelineCounter modelStack,
int  maySendMIDIPGMs = PGM_CHANGE_SEND_ONCE 
)
virtual

◆ setupWithoutActiveClip()

void Output::setupWithoutActiveClip ( ModelStack modelStack)
virtual

Reimplemented in CVInstrument, Kit, and SoundInstrument.

◆ stopAnyAuditioning()

virtual void Output::stopAnyAuditioning ( ModelStack modelStack)
inlinevirtual

Reimplemented in Kit, and MelodicInstrument.

◆ toModControllable()

virtual ModControllable * Output::toModControllable ( )
inlinevirtual

◆ wantsToBeginArrangementRecording()

virtual bool Output::wantsToBeginArrangementRecording ( )
inlinevirtual

Reimplemented in AudioOutput.

◆ writeDataToFile()

bool Output::writeDataToFile ( Clip clipForSavingOutputOnly,
Song song 
)
virtual

◆ writeToFile()

void Output::writeToFile ( Clip clipForSavingOutputOnly,
Song song 
)

Member Data Documentation

◆ activeClip

Clip* Output::activeClip

◆ alreadyGotItsNewClip

bool Output::alreadyGotItsNewClip

◆ armedForRecording

bool Output::armedForRecording

◆ clipInstances

ClipInstanceVector Output::clipInstances

◆ inValidState

bool Output::inValidState

◆ isGettingSoloingClip

bool Output::isGettingSoloingClip

◆ modKnobMode

uint8_t Output::modKnobMode

◆ mutedInArrangementMode

bool Output::mutedInArrangementMode

◆ name

String Output::name

◆ next

Output* Output::next

◆ nextClipFoundShouldGetArmed

bool Output::nextClipFoundShouldGetArmed

◆ recordingInArrangement

bool Output::recordingInArrangement

◆ soloingInArrangementMode

bool Output::soloingInArrangementMode

◆ type

const uint8_t Output::type

◆ wasCreatedForAutoOverdub

bool Output::wasCreatedForAutoOverdub

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