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

#include <AudioClip.h>

Inheritance diagram for AudioClip:
Inheritance graph
Collaboration diagram for AudioClip:
Collaboration graph

Public Member Functions

 AudioClip ()
 
 ~AudioClip ()
 
void processCurrentPos (ModelStackWithTimelineCounter *modelStack, uint32_t ticksSinceLast)
 
void expectNoFurtherTicks (Song *song, bool actuallySoundChange=true)
 
int clone (ModelStackWithTimelineCounter *modelStack, bool shouldFlattenReversing=false)
 
void render (ModelStackWithTimelineCounter *modelStack, int32_t *outputBuffer, int numSamples, 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)
 
bool renderAsSingleRow (ModelStackWithTimelineCounter *modelStack, TimelineView *editorScreen, int32_t xScroll, uint32_t xZoom, uint8_t *image, uint8_t occupancyMask[], bool addUndefinedArea, int noteRowIndexStart=0, int noteRowIndexEnd=2147483647, int xStart=0, int xEnd=displayWidth, bool allowBlur=true, bool drawRepeats=false)
 
int claimOutput (ModelStackWithTimelineCounter *modelStack)
 
void loadSample (bool mayActuallyReadFile)
 
bool wantsToBeginLinearRecording (Song *song)
 
bool isAbandonedOverdub ()
 
void finishLinearRecording (ModelStackWithTimelineCounter *modelStack, Clip *nextPendingLoop, int buttonLatencyForTempolessRecord)
 
int beginLinearRecording (ModelStackWithTimelineCounter *modelStack, int buttonPressLatency)
 
void quantizeLengthForArrangementRecording (ModelStackWithTimelineCounter *modelStack, int32_t lengthSoFar, uint32_t timeRemainder, int32_t suggestedLength, int32_t alternativeLongerLength)
 
ClipcloneAsNewOverdub (ModelStackWithTimelineCounter *modelStack, int newOverdubNature)
 
int64_t getSamplesFromTicks (int32_t ticks)
 
void unassignVoiceSample ()
 
void resumePlayback (ModelStackWithTimelineCounter *modelStack, bool mayMakeSound=true)
 
int changeOutput (ModelStackWithTimelineCounter *modelStack, Output *newOutput)
 
int setOutput (ModelStackWithTimelineCounter *modelStack, Output *newOutput, AudioClip *favourClipForCloningParamManager=NULL)
 
void getColour (uint8_t rgb[])
 
bool currentlyScrollableAndZoomable ()
 
void getScrollAndZoomInSamples (int32_t xScroll, int32_t xZoom, int64_t *xScrollSamples, int64_t *xZoomSamples)
 
void clear (Action *action, ModelStackWithTimelineCounter *modelStack)
 
bool getCurrentlyRecordingLinearly ()
 
void abortRecording ()
 
void setupPlaybackBounds ()
 
uint64_t getCullImmunity ()
 
void posReachedEnd (ModelStackWithTimelineCounter *modelStack)
 
void copyBasicsFrom (Clip *otherClip)
 
bool willCloneOutputForOverdub ()
 
void sampleZoneChanged (ModelStackWithTimelineCounter const *modelStack)
 
int64_t getNumSamplesTilLoop (ModelStackWithTimelineCounter *modelStack)
 
void setPos (ModelStackWithTimelineCounter *modelStack, int32_t newPos, bool useActualPosForParamManagers)
 
int readFromFile (Song *song)
 
void writeDataToFile (Song *song)
 
char const * getXMLTag ()
 
- Public Member Functions inherited from Clip
 Clip (int newType)
 
virtual ~Clip ()
 
bool cancelAnyArming ()
 
int getMaxZoom ()
 
virtual int32_t getMaxLength ()
 
virtual int clone (ModelStackWithTimelineCounter *modelStack, bool shouldFlattenReversing=false)=0
 
void cloneFrom (Clip *other)
 
void beginInstance (Song *song, int32_t arrangementRecordPos)
 
void endInstance (int32_t arrangementRecordPos, bool evenIfOtherClip=false)
 
virtual void setPos (ModelStackWithTimelineCounter *modelStack, int32_t newPos, bool useActualPosForParamManagers=true)
 
virtual void setPosForParamManagers (ModelStackWithTimelineCounter *modelStack, bool useActualPos=true)
 
virtual void expectNoFurtherTicks (Song *song, bool actuallySoundChange=true)=0
 
virtual void resumePlayback (ModelStackWithTimelineCounter *modelStack, bool mayMakeSound=true)=0
 
virtual void reGetParameterAutomation (ModelStackWithTimelineCounter *modelStack)
 
virtual void processCurrentPos (ModelStackWithTimelineCounter *modelStack, uint32_t ticksSinceLast)
 
void prepareForDestruction (ModelStackWithTimelineCounter *modelStack, int instrumentRemovalInstruction)
 
uint32_t getLivePos ()
 
uint32_t getActualCurrentPosAsIfPlayingInForwardDirection ()
 
int32_t getLastProcessedPos ()
 
int32_t getCurrentPosAsIfPlayingInForwardDirection ()
 
ClipgetClipBeingRecordedFrom ()
 
ClipgetClipToRecordTo ()
 
bool isArrangementOnlyClip ()
 
bool isActiveOnOutput ()
 
virtual bool deleteSoundsWhichWontSound (Song *song)
 
virtual int appendClip (ModelStackWithTimelineCounter *thisModelStack, ModelStackWithTimelineCounter *otherModelStack)
 
int resumeOriginalClipFromThisClone (ModelStackWithTimelineCounter *modelStackOriginal, ModelStackWithTimelineCounter *modelStackClone)
 
virtual int transferVoicesToOriginalClipFromThisClone (ModelStackWithTimelineCounter *modelStackOriginal, ModelStackWithTimelineCounter *modelStackClone)
 
virtual void increaseLengthWithRepeats (ModelStackWithTimelineCounter *modelStack, int32_t newLength, int independentNoteRowInstruction, bool completelyRenderOutIterationDependence=false, Action *action=NULL)
 
virtual void lengthChanged (ModelStackWithTimelineCounter *modelStack, int32_t oldLength, Action *action=NULL)
 
virtual void getSuggestedParamManager (Clip *newClip, ParamManagerForTimeline **suggestedParamManager, Sound *sound)
 
virtual void detachFromOutput (ModelStackWithTimelineCounter *modelStack, bool shouldRememberDrumName, bool shouldDeleteEmptyNoteRowsAtEndOfList=false, bool shouldRetainLinksToSounds=false, bool keepNoteRowsWithMIDIInput=true, bool shouldGrabMidiCommands=false, bool shouldBackUpExpressionParamsToo=true)=0
 
virtual int undoDetachmentFromOutput (ModelStackWithTimelineCounter *modelStack)
 
virtual bool renderAsSingleRow (ModelStackWithTimelineCounter *modelStack, TimelineView *editorScreen, int32_t xScroll, uint32_t xZoom, uint8_t *image, uint8_t occupancyMask[], bool addUndefinedArea=true, int noteRowIndexStart=0, int noteRowIndexEnd=2147483647, int xStart=0, int xEnd=displayWidth, bool allowBlur=true, bool drawRepeats=false)
 
virtual int claimOutput (ModelStackWithTimelineCounter *modelStack)=0
 
virtual void finishLinearRecording (ModelStackWithTimelineCounter *modelStack, Clip *nextPendingLoop=NULL, int buttonLatencyForTempolessRecord=0)=0
 
virtual int beginLinearRecording (ModelStackWithTimelineCounter *modelStack, int buttonPressLatency)=0
 
void drawUndefinedArea (int32_t localScroll, uint32_t, int32_t lengthToDisplay, uint8_t *image, uint8_t[], int imageWidth, TimelineView *editorScreen, bool tripletsOnHere)
 
bool opportunityToBeginSessionLinearRecording (ModelStackWithTimelineCounter *modelStack, bool *newOutputCreated, int buttonPressLatency)
 
virtual ClipcloneAsNewOverdub (ModelStackWithTimelineCounter *modelStack, int newOverdubNature)=0
 
virtual bool getCurrentlyRecordingLinearly ()=0
 
virtual bool currentlyScrollableAndZoomable ()=0
 
virtual void clear (Action *action, ModelStackWithTimelineCounter *modelStack)
 
void writeToFile (Song *song)
 
virtual void writeDataToFile (Song *song)
 
virtual char const * getXMLTag ()=0
 
virtual int readFromFile (Song *song)=0
 
void readTagFromFile (char const *tagName, Song *song, int32_t *readAutomationUpToPos)
 
virtual void copyBasicsFrom (Clip *otherClip)
 
void setupForRecordingAsAutoOverdub (Clip *existingClip, Song *song, int newOverdubNature)
 
void outputChanged (ModelStackWithTimelineCounter *modelStack, Output *newOutput)
 
virtual bool isAbandonedOverdub ()=0
 
virtual bool wantsToBeginLinearRecording (Song *song)
 
virtual void quantizeLengthForArrangementRecording (ModelStackWithTimelineCounter *modelStack, int32_t lengthSoFar, uint32_t timeRemainder, int32_t suggestedLength, int32_t alternativeLongerLength)=0
 
virtual void abortRecording ()=0
 
virtual void stopAllNotesPlaying (Song *song, bool actuallySoundChange=true)
 
virtual bool willCloneOutputForOverdub ()
 
void setSequenceDirectionMode (ModelStackWithTimelineCounter *modelStack, int newSequenceDirection)
 
bool possiblyCloneForArrangementRecording (ModelStackWithTimelineCounter *modelStack)
 
virtual void incrementPos (ModelStackWithTimelineCounter *modelStack, int32_t numTicks)
 
int32_t getLoopLength ()
 
bool isPlayingAutomationNow ()
 
bool backtrackingCouldLoopBackToEnd ()
 
int32_t getPosAtWhichPlaybackWillCut (ModelStackWithTimelineCounter const *modelStack)
 
TimelineCountergetTimelineCounterToRecordTo ()
 
void getActiveModControllable (ModelStackWithTimelineCounter *modelStack)
 
void expectEvent ()
 
- Public Member Functions inherited from TimelineCounter
 TimelineCounter ()
 
virtual ~TimelineCounter ()
 
virtual int32_t getLastProcessedPos ()=0
 
virtual uint32_t getLivePos ()=0
 
virtual int32_t getLoopLength ()=0
 
virtual bool isPlayingAutomationNow ()=0
 
virtual bool backtrackingCouldLoopBackToEnd ()=0
 
virtual int32_t getPosAtWhichPlaybackWillCut (ModelStackWithTimelineCounter const *modelStack)=0
 
virtual bool possiblyCloneForArrangementRecording (ModelStackWithTimelineCounter *modelStack)
 
virtual void getActiveModControllable (ModelStackWithTimelineCounter *modelStack)=0
 
virtual void expectEvent ()=0
 
virtual TimelineCountergetTimelineCounterToRecordTo ()=0
 
virtual void instrumentBeenEdited ()
 

Public Attributes

SampleControls sampleControls
 
SampleHolderForClip sampleHolder
 
VoiceSamplevoiceSample
 
SamplePlaybackGuide guide
 
String outputNameWhileLoading
 
WaveformRenderData renderData
 
SampleRecorderrecorder
 
int32_t attack
 
uint8_t voicePriority
 
bool doingLateStart
 
bool maySetupCache
 
bool overdubsShouldCloneOutput
 
- Public Attributes inherited from Clip
Outputoutput
 
int16_t colourOffset
 
const uint8_t type
 
uint8_t section
 
bool soloingInSessionMode
 
uint8_t armState
 
bool activeIfNoSolo
 
bool wasActiveBefore
 
bool gotInstanceYet
 
bool isPendingOverdub
 
bool isUnfinishedAutoOverdub
 
bool armedForRecording
 
bool wasWantingToDoLinearRecordingBeforeCountIn
 
uint8_t overdubNature
 
LearnedMIDI muteMIDICommand
 
bool currentlyPlayingReversed
 
uint8_t sequenceDirectionMode
 
int32_t loopLength
 
int32_t originalLength
 
int32_t lastProcessedPos
 
ClipbeingRecordedFromClip
 
int32_t repeatCount
 
uint32_t indexForSaving
 
- Public Attributes inherited from TimelineCounter
ParamManagerForTimeline paramManager
 

Protected Member Functions

bool cloneOutput (ModelStackWithTimelineCounter *modelStack)
 
- Protected Member Functions inherited from Clip
virtual void posReachedEnd (ModelStackWithTimelineCounter *modelStack)
 
virtual bool cloneOutput (ModelStackWithTimelineCounter *modelStack)=0
 
int solicitParamManager (Song *song, ParamManager *newParamManager=NULL, Clip *favourClipForCloningParamManager=NULL)
 
virtual void pingpongOccurred (ModelStackWithTimelineCounter *modelStack)
 

Constructor & Destructor Documentation

◆ AudioClip()

AudioClip::AudioClip ( )

◆ ~AudioClip()

AudioClip::~AudioClip ( )

Member Function Documentation

◆ abortRecording()

void AudioClip::abortRecording ( )
virtual

Implements Clip.

◆ beginLinearRecording()

int AudioClip::beginLinearRecording ( ModelStackWithTimelineCounter modelStack,
int  buttonPressLatency 
)
virtual

Implements Clip.

◆ changeOutput()

int AudioClip::changeOutput ( ModelStackWithTimelineCounter modelStack,
Output newOutput 
)

◆ claimOutput()

int AudioClip::claimOutput ( ModelStackWithTimelineCounter modelStack)
virtual

Implements Clip.

◆ clear()

void AudioClip::clear ( Action action,
ModelStackWithTimelineCounter modelStack 
)
virtual

Reimplemented from Clip.

◆ clone()

int AudioClip::clone ( ModelStackWithTimelineCounter modelStack,
bool  shouldFlattenReversing = false 
)
virtual

Implements Clip.

◆ cloneAsNewOverdub()

Clip * AudioClip::cloneAsNewOverdub ( ModelStackWithTimelineCounter modelStack,
int  newOverdubNature 
)
virtual

Implements Clip.

◆ cloneOutput()

bool AudioClip::cloneOutput ( ModelStackWithTimelineCounter modelStack)
protectedvirtual

Implements Clip.

◆ copyBasicsFrom()

void AudioClip::copyBasicsFrom ( Clip otherClip)
virtual

Reimplemented from Clip.

◆ currentlyScrollableAndZoomable()

bool AudioClip::currentlyScrollableAndZoomable ( )
virtual

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 
)
virtual

Implements Clip.

◆ expectNoFurtherTicks()

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

Implements Clip.

◆ finishLinearRecording()

void AudioClip::finishLinearRecording ( ModelStackWithTimelineCounter modelStack,
Clip nextPendingLoop,
int  buttonLatencyForTempolessRecord 
)
virtual

Implements Clip.

◆ getColour()

void AudioClip::getColour ( uint8_t  rgb[])

◆ getCullImmunity()

uint64_t AudioClip::getCullImmunity ( )

◆ getCurrentlyRecordingLinearly()

bool AudioClip::getCurrentlyRecordingLinearly ( )
virtual

Implements Clip.

◆ getNumSamplesTilLoop()

int64_t AudioClip::getNumSamplesTilLoop ( ModelStackWithTimelineCounter modelStack)

◆ getSamplesFromTicks()

int64_t AudioClip::getSamplesFromTicks ( int32_t  ticks)

◆ getScrollAndZoomInSamples()

void AudioClip::getScrollAndZoomInSamples ( int32_t  xScroll,
int32_t  xZoom,
int64_t *  xScrollSamples,
int64_t *  xZoomSamples 
)

◆ getXMLTag()

char const * AudioClip::getXMLTag ( )
inlinevirtual

Implements Clip.

◆ isAbandonedOverdub()

bool AudioClip::isAbandonedOverdub ( )
virtual

Implements Clip.

◆ loadSample()

void AudioClip::loadSample ( bool  mayActuallyReadFile)

◆ posReachedEnd()

void AudioClip::posReachedEnd ( ModelStackWithTimelineCounter modelStack)
virtual

Reimplemented from Clip.

◆ processCurrentPos()

void AudioClip::processCurrentPos ( ModelStackWithTimelineCounter modelStack,
uint32_t  ticksSinceLast 
)
virtual

Reimplemented from Clip.

◆ quantizeLengthForArrangementRecording()

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

Implements Clip.

◆ readFromFile()

int AudioClip::readFromFile ( Song song)
virtual

Implements Clip.

◆ render()

void AudioClip::render ( ModelStackWithTimelineCounter modelStack,
int32_t *  outputBuffer,
int  numSamples,
int32_t  amplitude,
int32_t  amplitudeIncrement,
int32_t  pitchAdjust 
)

◆ renderAsSingleRow()

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

Reimplemented from Clip.

◆ resumePlayback()

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

Implements Clip.

◆ sampleZoneChanged()

void AudioClip::sampleZoneChanged ( ModelStackWithTimelineCounter const *  modelStack)

◆ setOutput()

int AudioClip::setOutput ( ModelStackWithTimelineCounter modelStack,
Output newOutput,
AudioClip favourClipForCloningParamManager = NULL 
)

◆ setPos()

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

Reimplemented from Clip.

◆ setupPlaybackBounds()

void AudioClip::setupPlaybackBounds ( )

◆ unassignVoiceSample()

void AudioClip::unassignVoiceSample ( )

◆ wantsToBeginLinearRecording()

bool AudioClip::wantsToBeginLinearRecording ( Song song)
virtual

Reimplemented from Clip.

◆ willCloneOutputForOverdub()

bool AudioClip::willCloneOutputForOverdub ( )
inlinevirtual

Reimplemented from Clip.

◆ writeDataToFile()

void AudioClip::writeDataToFile ( Song song)
virtual

Reimplemented from Clip.

Member Data Documentation

◆ attack

int32_t AudioClip::attack

◆ doingLateStart

bool AudioClip::doingLateStart

◆ guide

SamplePlaybackGuide AudioClip::guide

◆ maySetupCache

bool AudioClip::maySetupCache

◆ outputNameWhileLoading

String AudioClip::outputNameWhileLoading

◆ overdubsShouldCloneOutput

bool AudioClip::overdubsShouldCloneOutput

◆ recorder

SampleRecorder* AudioClip::recorder

◆ renderData

WaveformRenderData AudioClip::renderData

◆ sampleControls

SampleControls AudioClip::sampleControls

◆ sampleHolder

SampleHolderForClip AudioClip::sampleHolder

◆ voicePriority

uint8_t AudioClip::voicePriority

◆ voiceSample

VoiceSample* AudioClip::voiceSample

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