32class SampleHolder :
public AudioFileHolder {
35 ~SampleHolder()
override;
36 void unassignAllClusterReasons(
bool beingDestructed =
false)
override;
37 int64_t getEndPos(
bool forTimeStretching =
false);
38 int64_t getDurationInSamples(
bool forTimeStretching =
false);
39 void beenClonedFrom(SampleHolder
const* other,
bool reversed);
40 virtual void claimClusterReasons(
bool reversed, int32_t clusterLoadInstruction = CLUSTER_ENQUEUE);
41 int32_t getLengthInSamplesAtSystemSampleRate(
bool forTimeStretching =
false);
42 int32_t getLoopLengthAtSystemSampleRate(
bool forTimeStretching =
false);
43 void setAudioFile(
AudioFile* newAudioFile,
bool reversed =
false,
bool manuallySelected =
false,
44 int32_t clusterLoadInstruction = CLUSTER_ENQUEUE)
override;
50 int32_t waveformViewScroll;
51 int32_t waveformViewZoom;
53 int32_t neutralPhaseIncrement;
55 Cluster* clustersForStart[kNumClustersLoadedAhead];
58 void claimClusterReasonsForMarker(
Cluster** clusters, uint32_t startPlaybackAtByte, int32_t playDirection,
59 int32_t clusterLoadInstruction);
60 virtual void sampleBeenSet(
bool reversed,
bool manuallySelected) {}