Deluge Firmware 1.3.0
Build date: 2025.08.14
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:
  • src/deluge/model/clip/audio_clip.h
  • src/deluge/model/clip/audio_clip.cpp