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

Public Member Functions

void processCurrentPos (ModelStackWithTimelineCounter *modelStack, uint32_t ticksSinceLast) override
 
void expectNoFurtherTicks (Song *song, bool actuallySoundChange=true) override
 
Error clone (ModelStackWithTimelineCounter *modelStack, bool shouldFlattenReversing=false) const override
 
void render (ModelStackWithTimelineCounter *modelStack, std::span< q31_t > output, int32_t amplitude, int32_t amplitudeIncrement, int32_t pitchAdjust)
 
void detachFromOutput (ModelStackWithTimelineCounter *modelStack, bool shouldRememberDrumName, bool shouldDeleteEmptyNoteRowsAtEndOfList=false, bool shouldRetainLinksToSounds=false, bool keepNoteRowsWithMIDIInput=true, bool shouldGrabMidiCommands=false, bool shouldBackUpExpressionParamsToo=true) override
 
bool renderAsSingleRow (ModelStackWithTimelineCounter *modelStack, TimelineView *editorScreen, int32_t xScroll, uint32_t xZoom, RGB *image, uint8_t occupancyMask[], bool addUndefinedArea, int32_t noteRowIndexStart=0, int32_t noteRowIndexEnd=2147483647, int32_t xStart=0, int32_t xEnd=kDisplayWidth, bool allowBlur=true, bool drawRepeats=false) override
 
Error claimOutput (ModelStackWithTimelineCounter *modelStack) override
 
void loadSample (bool mayActuallyReadFile)
 
bool wantsToBeginLinearRecording (Song *song) override
 
bool isAbandonedOverdub () override
 
void finishLinearRecording (ModelStackWithTimelineCounter *modelStack, Clip *nextPendingLoop, int32_t buttonLatencyForTempolessRecord) override
 
Error beginLinearRecording (ModelStackWithTimelineCounter *modelStack, int32_t buttonPressLatency) override
 
void quantizeLengthForArrangementRecording (ModelStackWithTimelineCounter *modelStack, int32_t lengthSoFar, uint32_t timeRemainder, int32_t suggestedLength, int32_t alternativeLongerLength) override
 
bool shouldCloneForOverdubs () override
 
ClipcloneAsNewOverdub (ModelStackWithTimelineCounter *modelStack, OverDubType newOverdubNature) override
 
int64_t getSamplesFromTicks (int32_t ticks)
 
void unassignVoiceSample (bool wontBeUsedAgain)
 
void resumePlayback (ModelStackWithTimelineCounter *modelStack, bool mayMakeSound=true) override
 
Error changeOutput (ModelStackWithTimelineCounter *modelStack, Output *newOutput)
 
Error setOutput (ModelStackWithTimelineCounter *modelStack, Output *newOutput, AudioClip *favourClipForCloningParamManager=nullptr)
 
RGB getColour ()
 
bool currentlyScrollableAndZoomable () override
 
void getScrollAndZoomInSamples (int32_t xScroll, int32_t xZoom, int64_t *xScrollSamples, int64_t *xZoomSamples)
 
void clear (Action *action, ModelStackWithTimelineCounter *modelStack, bool clearAutomation, bool clearSequenceAndMPE) override
 
bool getCurrentlyRecordingLinearly () override
 
void abortRecording () override
 
void setupPlaybackBounds ()
 
uint64_t getCullImmunity ()
 
void posReachedEnd (ModelStackWithTimelineCounter *modelStack) override
 
void copyBasicsFrom (Clip const *otherClip) override
 
bool willCloneOutputForOverdub () override
 
void sampleZoneChanged (ModelStackWithTimelineCounter const *modelStack)
 
int64_t getNumSamplesTilLoop (ModelStackWithTimelineCounter *modelStack)
 
void setPos (ModelStackWithTimelineCounter *modelStack, int32_t newPos, bool useActualPosForParamManagers) override
 
bool shiftHorizontally (ModelStackWithTimelineCounter *modelStack, int32_t amount, bool shiftAutomation, bool shiftSequenceAndMPE) override
 Return true if successfully shifted, as clip cannot be shifted past beginning.
 
Error readFromFile (Deserializer &reader, Song *song) override
 
void writeDataToFile (Serializer &writer, Song *song) override
 
char const * getXMLTag () override
 
bool renderSidebar (uint32_t whichRows=0, RGB image[][kDisplayWidth+kSideBarWidth]=nullptr, uint8_t occupancyMask[][kDisplayWidth+kSideBarWidth]=nullptr) override
 
ParamManagerForTimelinegetCurrentParamManager () override
 
bool isEmpty (bool displayPopup=true) override
 
- Public Member Functions inherited from Clip
 Clip (ClipType newType)
 
bool cancelAnyArming ()
 
int32_t getMaxZoom ()
 
virtual int32_t getMaxLength ()
 
void cloneFrom (Clip const *other)
 
void beginInstance (Song *song, int32_t arrangementRecordPos)
 
void endInstance (int32_t arrangementRecordPos, bool evenIfOtherClip=false)
 
virtual void setPosForParamManagers (ModelStackWithTimelineCounter *modelStack, bool useActualPos=true)
 
virtual void reGetParameterAutomation (ModelStackWithTimelineCounter *modelStack)
 
void prepareForDestruction (ModelStackWithTimelineCounter *modelStack, InstrumentRemoval instrumentRemovalInstruction)
 
uint32_t getActualCurrentPosAsIfPlayingInForwardDirection ()
 
int32_t getCurrentPosAsIfPlayingInForwardDirection ()
 
ClipgetClipBeingRecordedFrom ()
 
ClipgetClipToRecordTo ()
 
bool isArrangementOnlyClip () const
 
bool isActiveOnOutput ()
 
virtual bool deleteSoundsWhichWontSound (Song *song)
 
virtual Error appendClip (ModelStackWithTimelineCounter *thisModelStack, ModelStackWithTimelineCounter *otherModelStack)
 
Error resumeOriginalClipFromThisClone (ModelStackWithTimelineCounter *modelStackOriginal, ModelStackWithTimelineCounter *modelStackClone)
 
virtual Error transferVoicesToOriginalClipFromThisClone (ModelStackWithTimelineCounter *modelStackOriginal, ModelStackWithTimelineCounter *modelStackClone)
 
virtual void increaseLengthWithRepeats (ModelStackWithTimelineCounter *modelStack, int32_t newLength, IndependentNoteRowLengthIncrease independentNoteRowInstruction, bool completelyRenderOutIterationDependence=false, Action *action=nullptr)
 
virtual void lengthChanged (ModelStackWithTimelineCounter *modelStack, int32_t oldLength, Action *action=nullptr)
 
virtual void getSuggestedParamManager (Clip *newClip, ParamManagerForTimeline **suggestedParamManager, Sound *sound)
 
virtual Error undoDetachmentFromOutput (ModelStackWithTimelineCounter *modelStack)
 
void drawUndefinedArea (int32_t localScroll, uint32_t, int32_t lengthToDisplay, RGB *image, uint8_t[], int32_t imageWidth, TimelineView *editorScreen, bool tripletsOnHere)
 
bool opportunityToBeginSessionLinearRecording (ModelStackWithTimelineCounter *modelStack, bool *newOutputCreated, int32_t buttonPressLatency)
 
void setupOverdubInPlace (OverDubType type)
 
void writeToFile (Serializer &writer, Song *song)
 
void writeMidiCommandsToFile (Serializer &writer, Song *song)
 
void readTagFromFile (Deserializer &reader, char const *tagName, Song *song, int32_t *readAutomationUpToPos)
 
void setupForRecordingAsAutoOverdub (Clip *existingClip, Song *song, OverDubType newOverdubNature)
 
void outputChanged (ModelStackWithTimelineCounter *modelStack, Output *newOutput)
 
virtual void stopAllNotesPlaying (Song *song, bool actuallySoundChange=true)
 
void setSequenceDirectionMode (ModelStackWithTimelineCounter *modelStack, SequenceDirection newSequenceDirection)
 
virtual void incrementPos (ModelStackWithTimelineCounter *modelStack, int32_t numTicks)
 
uint32_t getLivePos () const override
 Get the current tick of this timeline counter relative to the playback handler.
 
int32_t getLoopLength () const override
 
bool isPlayingAutomationNow () const override
 
bool backtrackingCouldLoopBackToEnd () const override
 
int32_t getPosAtWhichPlaybackWillCut (ModelStackWithTimelineCounter const *modelStack) const override
 
int32_t getLastProcessedPos () const override
 Get the tick at which this timeline counter last did anything.
 
bool possiblyCloneForArrangementRecording (ModelStackWithTimelineCounter *modelStack) override
 
TimelineCountergetTimelineCounterToRecordTo () override
 
void getActiveModControllable (ModelStackWithTimelineCounter *modelStack) override
 
void expectEvent () override
 
- Public Member Functions inherited from TimelineCounter
virtual void instrumentBeenEdited ()
 

Public Attributes

int32_t nextSampleRestartPos
 
SampleControls sampleControls
 
SampleHolderForClip sampleHolder
 
VoiceSamplevoiceSample
 
SamplePlaybackGuide guide
 
String outputNameWhileLoading
 
WaveformRenderData renderData
 
SampleRecorderrecorder
 
int32_t attack
 
VoicePriority voicePriority
 
bool doingLateStart
 
bool maySetupCache
 
- Public Attributes inherited from Clip
Outputoutput
 
int16_t colourOffset
 
const ClipType type
 
uint8_t section
 
bool soloingInSessionMode
 
ArmState armState
 
bool activeIfNoSolo
 
bool activeIfNoSoloBeforeStemExport
 
bool exportStem
 
bool wasActiveBefore
 
bool gotInstanceYet
 
bool isPendingOverdub
 
bool isUnfinishedAutoOverdub
 
bool wasWantingToDoLinearRecordingBeforeCountIn
 
OverDubType overdubNature
 
LearnedMIDI muteMIDICommand
 
int32_t loopLength
 
int32_t originalLength
 
int32_t lastProcessedPos
 
ClipbeingRecordedFromClip
 
int32_t repeatCount
 
uint32_t indexForSaving
 
LaunchStyle launchStyle
 
int64_t fillEventAtTickCount
 
bool overdubsShouldCloneOutput
 
bool onAutomationClipView
 
int32_t lastSelectedParamID
 last selected Parameter to be edited in Automation Instrument Clip View
 
deluge::modulation::params::Kind lastSelectedParamKind
 
int32_t lastSelectedParamShortcutX
 
int32_t lastSelectedParamShortcutY
 
int32_t lastSelectedParamArrayPosition
 
OutputType lastSelectedOutputType
 
PatchSource lastSelectedPatchSource
 
String name
 
- Public Attributes inherited from TimelineCounter
ParamManagerForTimeline paramManager
 
bool armedForRecording {true}
 

Protected Member Functions

bool cloneOutput (ModelStackWithTimelineCounter *modelStack) override
 
- Protected Member Functions inherited from Clip
Error solicitParamManager (Song *song, ParamManager *newParamManager=nullptr, Clip *favourClipForCloningParamManager=nullptr)
 
virtual void pingpongOccurred (ModelStackWithTimelineCounter *modelStack)
 

Private Member Functions

void removeClipFromSection (AudioClip *clip)
 
void detachAudioClipFromOutput (Song *song, bool shouldRetainLinksToOutput, bool shouldTakeParamManagerWith=false)
 
LoopType getLoopingType (ModelStackWithTimelineCounter const *modelStack)
 

Private Attributes

AudioClipnextClipInSection
 

Member Function Documentation

◆ abortRecording()

void AudioClip::abortRecording ( )
overridevirtual

Implements Clip.

◆ beginLinearRecording()

Error AudioClip::beginLinearRecording ( ModelStackWithTimelineCounter * modelStack,
int32_t buttonPressLatency )
overridevirtual

Implements Clip.

◆ claimOutput()

Error AudioClip::claimOutput ( ModelStackWithTimelineCounter * modelStack)
overridevirtual

Implements Clip.

◆ clear()

void AudioClip::clear ( Action * action,
ModelStackWithTimelineCounter * modelStack,
bool clearAutomation,
bool clearSequenceAndMPE )
overridevirtual

Reimplemented from Clip.

◆ clone()

Error AudioClip::clone ( ModelStackWithTimelineCounter * modelStack,
bool shouldFlattenReversing = false ) const
overridevirtual

Implements Clip.

◆ cloneAsNewOverdub()

Clip * AudioClip::cloneAsNewOverdub ( ModelStackWithTimelineCounter * modelStack,
OverDubType newOverdubNature )
overridevirtual

Implements Clip.

◆ cloneOutput()

bool AudioClip::cloneOutput ( ModelStackWithTimelineCounter * modelStack)
overrideprotectedvirtual

Implements Clip.

◆ copyBasicsFrom()

void AudioClip::copyBasicsFrom ( Clip const * otherClip)
overridevirtual

Reimplemented from Clip.

◆ currentlyScrollableAndZoomable()

bool AudioClip::currentlyScrollableAndZoomable ( )
overridevirtual

Implements Clip.

◆ detachFromOutput()

void AudioClip::detachFromOutput ( ModelStackWithTimelineCounter * modelStack,
bool shouldRememberDrumName,
bool shouldDeleteEmptyNoteRowsAtEndOfList = false,
bool shouldRetainLinksToSounds = false,
bool keepNoteRowsWithMIDIInput = true,
bool shouldGrabMidiCommands = false,
bool shouldBackUpExpressionParamsToo = true )
overridevirtual

Implements Clip.

◆ expectNoFurtherTicks()

void AudioClip::expectNoFurtherTicks ( Song * song,
bool actuallySoundChange = true )
overridevirtual

Implements Clip.

◆ finishLinearRecording()

void AudioClip::finishLinearRecording ( ModelStackWithTimelineCounter * modelStack,
Clip * nextPendingLoop,
int32_t buttonLatencyForTempolessRecord )
overridevirtual

Implements Clip.

◆ getCurrentlyRecordingLinearly()

bool AudioClip::getCurrentlyRecordingLinearly ( )
overridevirtual

Implements Clip.

◆ getCurrentParamManager()

ParamManagerForTimeline * AudioClip::getCurrentParamManager ( )
overridevirtual

Reimplemented from Clip.

◆ getXMLTag()

char const * AudioClip::getXMLTag ( )
inlineoverridevirtual

Implements Clip.

◆ isAbandonedOverdub()

bool AudioClip::isAbandonedOverdub ( )
overridevirtual

Implements Clip.

◆ isEmpty()

bool AudioClip::isEmpty ( bool displayPopup = true)
overridevirtual

Implements Clip.

◆ posReachedEnd()

void AudioClip::posReachedEnd ( ModelStackWithTimelineCounter * modelStack)
overridevirtual

Reimplemented from Clip.

◆ processCurrentPos()

void AudioClip::processCurrentPos ( ModelStackWithTimelineCounter * modelStack,
uint32_t ticksSinceLast )
overridevirtual

Reimplemented from Clip.

◆ quantizeLengthForArrangementRecording()

void AudioClip::quantizeLengthForArrangementRecording ( ModelStackWithTimelineCounter * modelStack,
int32_t lengthSoFar,
uint32_t timeRemainder,
int32_t suggestedLength,
int32_t alternativeLongerLength )
overridevirtual

Implements Clip.

◆ readFromFile()

Error AudioClip::readFromFile ( Deserializer & reader,
Song * song )
overridevirtual

Implements Clip.

◆ renderAsSingleRow()

bool AudioClip::renderAsSingleRow ( ModelStackWithTimelineCounter * modelStack,
TimelineView * editorScreen,
int32_t xScroll,
uint32_t xZoom,
RGB * image,
uint8_t occupancyMask[],
bool addUndefinedArea,
int32_t noteRowIndexStart = 0,
int32_t noteRowIndexEnd = 2147483647,
int32_t xStart = 0,
int32_t xEnd = kDisplayWidth,
bool allowBlur = true,
bool drawRepeats = false )
overridevirtual

Reimplemented from Clip.

◆ renderSidebar()

bool AudioClip::renderSidebar ( uint32_t whichRows = 0,
RGB image[][kDisplayWidth+kSideBarWidth] = nullptr,
uint8_t occupancyMask[][kDisplayWidth+kSideBarWidth] = nullptr )
inlineoverridevirtual

Implements Clip.

◆ resumePlayback()

void AudioClip::resumePlayback ( ModelStackWithTimelineCounter * modelStack,
bool mayMakeSound = true )
overridevirtual

Implements Clip.

◆ setPos()

void AudioClip::setPos ( ModelStackWithTimelineCounter * modelStack,
int32_t newPos,
bool useActualPosForParamManagers )
overridevirtual

Reimplemented from Clip.

◆ shiftHorizontally()

bool AudioClip::shiftHorizontally ( ModelStackWithTimelineCounter * modelStack,
int32_t amount,
bool shiftAutomation,
bool shiftSequenceAndMPE )
overridevirtual

Return true if successfully shifted, as clip cannot be shifted past beginning.

Implements Clip.

◆ shouldCloneForOverdubs()

bool AudioClip::shouldCloneForOverdubs ( )
inlineoverridevirtual

returns whether the clip needs to be cloned for overdubs (old style) or will actually overdub its audio like a normal looper

Reimplemented from Clip.

◆ wantsToBeginLinearRecording()

bool AudioClip::wantsToBeginLinearRecording ( Song * song)
overridevirtual

Reimplemented from Clip.

◆ willCloneOutputForOverdub()

bool AudioClip::willCloneOutputForOverdub ( )
inlineoverridevirtual

Reimplemented from Clip.

◆ writeDataToFile()

void AudioClip::writeDataToFile ( Serializer & writer,
Song * song )
overridevirtual

Reimplemented from Clip.


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