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