Deluge Firmware 1.3.0
Build date: 2025.07.09
Loading...
Searching...
No Matches
SampleRecorder Class Reference
Collaboration diagram for SampleRecorder:

Public Member Functions

Error setup (int32_t newNumChannels, AudioInputChannel newMode, bool newKeepingReasons, bool shouldRecordExtraMargins, AudioRecordingFolder newFolderID, int32_t buttonPressLatency, Output *outputRecordingFrom)
void setRecordingThreshold ()
void feedAudio (std::span< StereoSample > input, bool applyGain=false, uint8_t gainToApply=5)
Error cardRoutine ()
void endSyncedRecording (int32_t buttonLatencyForTempolessRecording)
bool inputLooksDifferential ()
bool inputHasNoRightChannel ()
void removeFromOutput ()
void abort ()

Public Attributes

SampleRecordernext
gsl::owner< Sample * > sample
int32_t numSamplesToRunBeforeBeginningCapturing
uint32_t numSamplesBeenRunning
uint32_t numSamplesCaptured
uint32_t numSamplesExtraToCaptureAtEndSyncingWise
size_t firstUnwrittenClusterIndex = 0
int32_t currentRecordClusterIndex = -1
ClustercurrentRecordCluster = nullptr
uint32_t audioFileNumber
AudioRecordingFolder folderID
char * writePos
char * clusterEndPos
String filePathCreated
RecorderStatus status = RecorderStatus::CAPTURING_DATA
AudioInputChannel mode
OutputoutputRecordingFrom
bool haveAddedSampleToArray = false
bool allowFileAlterationAfter = false
bool allowNormalization = true
bool autoDeleteWhenDone = false
bool keepingReasonsForFirstClusters
uint8_t recordingNumChannels
bool hadCardError = false
bool reachedMaxFileSize = false
bool recordingExtraMargins = false
bool pointerHeldElsewhere = false
bool capturedTooMuch = false
bool thresholdRecording = false
bool recordingClippedRecently
int32_t recordPeakL
int32_t recordPeakR
int32_t recordPeakLMinusR
uint64_t recordSumL
uint64_t recordSumR
uint64_t recordSumLPlusR
uint64_t recordSumLMinusR
int32_t recordMax
int32_t recordMin
uint32_t audioDataLengthBytesAsWrittenToFile
uint32_t loopEndSampleAsWrittenToFile
float startValueThreshold
int32_t * sourcePos
std::optional< FatFS::File > file

Private Member Functions

void setExtraBytesOnPreviousCluster (Cluster *currentCluster, int32_t currentClusterIndex)
Error writeCluster (int32_t clusterIndex, size_t numBytes)
Error alterFile (MonitoringAction action, int32_t lshiftAmount, uint32_t idealFileSizeBeforeAction, uint64_t dataLengthAfterAction)
Error finalizeRecordedFile ()
Error createNextCluster ()
Error writeAnyCompletedClusters ()
void finishCapturing ()
void updateDataLengthInFirstCluster (Cluster *cluster)
void totalSampleLengthNowKnown (uint32_t totalLength, uint32_t loopEndPointSamples=0)
void detachSample ()
Error truncateFileDownToSize (uint32_t newFileSize)
Error writeOneCompletedCluster ()

Private Attributes

AbsValueFollower envelopeFollower {}

The documentation for this class was generated from the following files:
  • src/deluge/model/sample/sample_recorder.h
  • src/deluge/model/sample/sample_recorder.cpp