Deluge Firmware
|
#include <SampleLowLevelReader.h>
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] |
Cluster * | clusters [NUM_CLUSTERS_LOADED_AHEAD] |
SampleLowLevelReader::SampleLowLevelReader | ( | ) |
SampleLowLevelReader::~SampleLowLevelReader | ( | ) |
void SampleLowLevelReader::bufferIndividualSampleForInterpolation | ( | uint32_t | bitMask, |
int | numChannels, | ||
int | byteDepth, | ||
char * | playPosNow | ||
) |
void SampleLowLevelReader::bufferZeroForInterpolation | ( | int | numChannels | ) |
bool SampleLowLevelReader::changeClusterIfNecessary | ( | SamplePlaybackGuide * | guide, |
Sample * | sample, | ||
bool | loopingAtLowLevel, | ||
int | priorityRating = 1 |
||
) |
void SampleLowLevelReader::cloneFrom | ( | SampleLowLevelReader * | other, |
bool | stealReasons = false |
||
) |
bool SampleLowLevelReader::considerUpcomingWindow | ( | SamplePlaybackGuide * | guide, |
Sample * | sample, | ||
int * | numSamples, | ||
int32_t | phaseIncrement, | ||
bool | loopingAtLowLevel, | ||
int | bufferSize, | ||
bool | allowEndlessSilenceAtEnd = false , |
||
int | priorityRating = 1 |
||
) |
void SampleLowLevelReader::fillInterpolationBufferRetrospectively | ( | Sample * | sample, |
int | bufferSize, | ||
int | startI, | ||
int | playDirection | ||
) |
int32_t SampleLowLevelReader::getPlayByteLowLevel | ( | Sample * | sample, |
SamplePlaybackGuide * | guide, | ||
bool | compensateForInterpolationBuffer = false |
||
) |
void SampleLowLevelReader::interpolate | ( | int32_t * | sampleRead, |
int | numChannels, | ||
int | whichKernel | ||
) |
void SampleLowLevelReader::interpolateLinear | ( | int32_t * | sampleRead, |
int | numChannels, | ||
int | whichKernel | ||
) |
void SampleLowLevelReader::jumpBackSamples | ( | Sample * | sample, |
int | numToJumpBack, | ||
int | playDirection | ||
) |
void SampleLowLevelReader::jumpForwardLinear | ( | int | numChannels, |
int | byteDepth, | ||
uint32_t | bitMask, | ||
int | jumpAmount, | ||
int32_t | phaseIncrement | ||
) |
void SampleLowLevelReader::jumpForwardZeroes | ( | int | bufferSize, |
int | numChannels, | ||
int32_t | phaseIncrement | ||
) |
void SampleLowLevelReader::misalignPlaybackParameters | ( | Sample * | sample | ) |
bool SampleLowLevelReader::moveOnToNextCluster | ( | SamplePlaybackGuide * | guide, |
Sample * | sample, | ||
int | priorityRating = 1 |
||
) |
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 | ||
) |
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 |
||
) |
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 | ||
) |
void SampleLowLevelReader::realignPlaybackParameters | ( | Sample * | sample | ) |
bool SampleLowLevelReader::reassessReassessmentLocation | ( | SamplePlaybackGuide * | guide, |
Sample * | sample, | ||
int | priorityRating | ||
) |
bool SampleLowLevelReader::setupClusersForInitialPlay | ( | SamplePlaybackGuide * | guide, |
Sample * | sample, | ||
int | byteOvershoot = 0 , |
||
bool | justLooped = false , |
||
int | priorityRating = 1 |
||
) |
bool SampleLowLevelReader::setupClustersForPlayFromByte | ( | SamplePlaybackGuide * | guide, |
Sample * | sample, | ||
int32_t | startPlaybackAtByte, | ||
int | priorityRating | ||
) |
void SampleLowLevelReader::setupForPlayPosMovedIntoNewCluster | ( | SamplePlaybackGuide * | guide, |
Sample * | sample, | ||
int | bytePosWithinNewCluster, | ||
int | byteDepth | ||
) |
void SampleLowLevelReader::setupReassessmentLocation | ( | SamplePlaybackGuide * | guide, |
Sample * | sample | ||
) |
|
inlinevirtual |
Reimplemented in VoiceSample.
void SampleLowLevelReader::unassignAllReasons | ( | ) |
Cluster* SampleLowLevelReader::clusters[NUM_CLUSTERS_LOADED_AHEAD] |
char* SampleLowLevelReader::clusterStartLocation |
char* SampleLowLevelReader::currentPlayPos |
int16x4_t SampleLowLevelReader::interpolationBuffer[2][INTERPOLATION_MAX_NUM_SAMPLES > > 2] |
int8_t SampleLowLevelReader::interpolationBufferSizeLastTime |
uint32_t SampleLowLevelReader::oscPos |
uint8_t SampleLowLevelReader::reassessmentAction |
char* SampleLowLevelReader::reassessmentLocation |