Deluge Firmware
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
SampleLowLevelReader Class Reference

#include <SampleLowLevelReader.h>

Inheritance diagram for SampleLowLevelReader:
Inheritance graph
Collaboration diagram for SampleLowLevelReader:
Collaboration graph

Public Member Functions

 SampleLowLevelReader ()
 
 ~SampleLowLevelReader ()
 
void unassignAllReasons ()
 
void jumpForwardLinear (int numChannels, int byteDepth, uint32_t bitMask, int jumpAmount, int32_t phaseIncrement)
 
void jumpForwardZeroes (int bufferSize, int numChannels, int32_t phaseIncrement)
 
void interpolate (int32_t *sampleRead, int numChannels, int whichKernel)
 
void interpolateLinear (int32_t *sampleRead, int numChannels, int whichKernel)
 
void fillInterpolationBufferRetrospectively (Sample *sample, int bufferSize, int startI, int playDirection)
 
void jumpBackSamples (Sample *sample, int numToJumpBack, int playDirection)
 
void setupForPlayPosMovedIntoNewCluster (SamplePlaybackGuide *guide, Sample *sample, int bytePosWithinNewCluster, int byteDepth)
 
bool setupClusersForInitialPlay (SamplePlaybackGuide *guide, Sample *sample, int byteOvershoot=0, bool justLooped=false, int priorityRating=1)
 
bool moveOnToNextCluster (SamplePlaybackGuide *guide, Sample *sample, int priorityRating=1)
 
bool changeClusterIfNecessary (SamplePlaybackGuide *guide, Sample *sample, bool loopingAtLowLevel, int priorityRating=1)
 
bool considerUpcomingWindow (SamplePlaybackGuide *guide, Sample *sample, int *numSamples, int32_t phaseIncrement, bool loopingAtLowLevel, int bufferSize, bool allowEndlessSilenceAtEnd=false, int priorityRating=1)
 
void setupReassessmentLocation (SamplePlaybackGuide *guide, Sample *sample)
 
void misalignPlaybackParameters (Sample *sample)
 
void realignPlaybackParameters (Sample *sample)
 
bool reassessReassessmentLocation (SamplePlaybackGuide *guide, Sample *sample, int priorityRating)
 
int32_t getPlayByteLowLevel (Sample *sample, SamplePlaybackGuide *guide, bool compensateForInterpolationBuffer=false)
 
void cloneFrom (SampleLowLevelReader *other, bool stealReasons=false)
 
bool setupClustersForPlayFromByte (SamplePlaybackGuide *guide, Sample *sample, int32_t startPlaybackAtByte, int priorityRating)
 
virtual bool shouldObeyMarkers ()
 
void readSamplesNative (int32_t **__restrict__ oscBufferPos, int numSamplesTotal, Sample *sample, int jumpAmount, int numChannels, int numChannelsAfterCondensing, int32_t *amplitude, int32_t amplitudeIncrement, TimeStretcher *timeStretcher=NULL, bool bufferingToTimeStretcher=false)
 
void readSamplesResampled (int32_t **__restrict__ oscBufferPos, int numSamples, Sample *sample, int jumpAmount, int numChannels, int numChannelsAfterCondensing, int32_t phaseIncrement, int32_t *amplitude, int32_t amplitudeIncrement, int bufferSize, bool writingCache, char **__restrict__ cacheWritePos, bool *doneAnySamplesYet, TimeStretcher *timeStretcher, bool bufferingToTimeStretcher, int whichKernel)
 
bool readSamplesForTimeStretching (int32_t *oscBufferPos, SamplePlaybackGuide *guide, Sample *sample, int numSamples, int numChannels, int numChannelsAfterCondensing, int32_t phaseIncrement, int32_t amplitude, int32_t amplitudeIncrement, bool loopingAtLowLevel, int jumpAmount, int bufferSize, TimeStretcher *timeStretcher, bool bufferingToTimeStretcher, int whichPlayHead, int whichKernel, int priorityRating)
 
void bufferIndividualSampleForInterpolation (uint32_t bitMask, int numChannels, int byteDepth, char *playPosNow)
 
void bufferZeroForInterpolation (int numChannels)
 

Public Attributes

uint32_t oscPos
 
char * currentPlayPos
 
char * reassessmentLocation
 
char * clusterStartLocation
 
uint8_t reassessmentAction
 
int8_t interpolationBufferSizeLastTime
 
int16x4_t interpolationBuffer [2][INTERPOLATION_MAX_NUM_SAMPLES > > 2]
 
Clusterclusters [NUM_CLUSTERS_LOADED_AHEAD]
 

Constructor & Destructor Documentation

◆ SampleLowLevelReader()

SampleLowLevelReader::SampleLowLevelReader ( )

◆ ~SampleLowLevelReader()

SampleLowLevelReader::~SampleLowLevelReader ( )

Member Function Documentation

◆ bufferIndividualSampleForInterpolation()

void SampleLowLevelReader::bufferIndividualSampleForInterpolation ( uint32_t  bitMask,
int  numChannels,
int  byteDepth,
char *  playPosNow 
)

◆ bufferZeroForInterpolation()

void SampleLowLevelReader::bufferZeroForInterpolation ( int  numChannels)

◆ changeClusterIfNecessary()

bool SampleLowLevelReader::changeClusterIfNecessary ( SamplePlaybackGuide guide,
Sample sample,
bool  loopingAtLowLevel,
int  priorityRating = 1 
)

◆ cloneFrom()

void SampleLowLevelReader::cloneFrom ( SampleLowLevelReader other,
bool  stealReasons = false 
)

◆ considerUpcomingWindow()

bool SampleLowLevelReader::considerUpcomingWindow ( SamplePlaybackGuide guide,
Sample sample,
int *  numSamples,
int32_t  phaseIncrement,
bool  loopingAtLowLevel,
int  bufferSize,
bool  allowEndlessSilenceAtEnd = false,
int  priorityRating = 1 
)

◆ fillInterpolationBufferRetrospectively()

void SampleLowLevelReader::fillInterpolationBufferRetrospectively ( Sample sample,
int  bufferSize,
int  startI,
int  playDirection 
)

◆ getPlayByteLowLevel()

int32_t SampleLowLevelReader::getPlayByteLowLevel ( Sample sample,
SamplePlaybackGuide guide,
bool  compensateForInterpolationBuffer = false 
)

◆ interpolate()

void SampleLowLevelReader::interpolate ( int32_t *  sampleRead,
int  numChannels,
int  whichKernel 
)

◆ interpolateLinear()

void SampleLowLevelReader::interpolateLinear ( int32_t *  sampleRead,
int  numChannels,
int  whichKernel 
)

◆ jumpBackSamples()

void SampleLowLevelReader::jumpBackSamples ( Sample sample,
int  numToJumpBack,
int  playDirection 
)

◆ jumpForwardLinear()

void SampleLowLevelReader::jumpForwardLinear ( int  numChannels,
int  byteDepth,
uint32_t  bitMask,
int  jumpAmount,
int32_t  phaseIncrement 
)

◆ jumpForwardZeroes()

void SampleLowLevelReader::jumpForwardZeroes ( int  bufferSize,
int  numChannels,
int32_t  phaseIncrement 
)

◆ misalignPlaybackParameters()

void SampleLowLevelReader::misalignPlaybackParameters ( Sample sample)

◆ moveOnToNextCluster()

bool SampleLowLevelReader::moveOnToNextCluster ( SamplePlaybackGuide guide,
Sample sample,
int  priorityRating = 1 
)

◆ readSamplesForTimeStretching()

bool SampleLowLevelReader::readSamplesForTimeStretching ( int32_t *  oscBufferPos,
SamplePlaybackGuide guide,
Sample sample,
int  numSamples,
int  numChannels,
int  numChannelsAfterCondensing,
int32_t  phaseIncrement,
int32_t  amplitude,
int32_t  amplitudeIncrement,
bool  loopingAtLowLevel,
int  jumpAmount,
int  bufferSize,
TimeStretcher timeStretcher,
bool  bufferingToTimeStretcher,
int  whichPlayHead,
int  whichKernel,
int  priorityRating 
)

◆ readSamplesNative()

void SampleLowLevelReader::readSamplesNative ( int32_t **__restrict__  oscBufferPos,
int  numSamplesTotal,
Sample sample,
int  jumpAmount,
int  numChannels,
int  numChannelsAfterCondensing,
int32_t *  amplitude,
int32_t  amplitudeIncrement,
TimeStretcher timeStretcher = NULL,
bool  bufferingToTimeStretcher = false 
)

◆ readSamplesResampled()

void SampleLowLevelReader::readSamplesResampled ( int32_t **__restrict__  oscBufferPos,
int  numSamples,
Sample sample,
int  jumpAmount,
int  numChannels,
int  numChannelsAfterCondensing,
int32_t  phaseIncrement,
int32_t *  amplitude,
int32_t  amplitudeIncrement,
int  bufferSize,
bool  writingCache,
char **__restrict__  cacheWritePos,
bool *  doneAnySamplesYet,
TimeStretcher timeStretcher,
bool  bufferingToTimeStretcher,
int  whichKernel 
)

◆ realignPlaybackParameters()

void SampleLowLevelReader::realignPlaybackParameters ( Sample sample)

◆ reassessReassessmentLocation()

bool SampleLowLevelReader::reassessReassessmentLocation ( SamplePlaybackGuide guide,
Sample sample,
int  priorityRating 
)

◆ setupClusersForInitialPlay()

bool SampleLowLevelReader::setupClusersForInitialPlay ( SamplePlaybackGuide guide,
Sample sample,
int  byteOvershoot = 0,
bool  justLooped = false,
int  priorityRating = 1 
)

◆ setupClustersForPlayFromByte()

bool SampleLowLevelReader::setupClustersForPlayFromByte ( SamplePlaybackGuide guide,
Sample sample,
int32_t  startPlaybackAtByte,
int  priorityRating 
)

◆ setupForPlayPosMovedIntoNewCluster()

void SampleLowLevelReader::setupForPlayPosMovedIntoNewCluster ( SamplePlaybackGuide guide,
Sample sample,
int  bytePosWithinNewCluster,
int  byteDepth 
)

◆ setupReassessmentLocation()

void SampleLowLevelReader::setupReassessmentLocation ( SamplePlaybackGuide guide,
Sample sample 
)

◆ shouldObeyMarkers()

virtual bool SampleLowLevelReader::shouldObeyMarkers ( )
inlinevirtual

Reimplemented in VoiceSample.

◆ unassignAllReasons()

void SampleLowLevelReader::unassignAllReasons ( )

Member Data Documentation

◆ clusters

Cluster* SampleLowLevelReader::clusters[NUM_CLUSTERS_LOADED_AHEAD]

◆ clusterStartLocation

char* SampleLowLevelReader::clusterStartLocation

◆ currentPlayPos

char* SampleLowLevelReader::currentPlayPos

◆ interpolationBuffer

int16x4_t SampleLowLevelReader::interpolationBuffer[2][INTERPOLATION_MAX_NUM_SAMPLES > > 2]

◆ interpolationBufferSizeLastTime

int8_t SampleLowLevelReader::interpolationBufferSizeLastTime

◆ oscPos

uint32_t SampleLowLevelReader::oscPos

◆ reassessmentAction

uint8_t SampleLowLevelReader::reassessmentAction

◆ reassessmentLocation

char* SampleLowLevelReader::reassessmentLocation

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