28class SamplePlaybackGuide {
30 SamplePlaybackGuide();
31 int32_t getFinalClusterIndex(
Sample* sample,
bool obeyMarkers, int32_t* getEndPlaybackAtByte =
nullptr);
32 virtual int32_t getBytePosToStartPlayback(
bool justLooped) {
return startPlaybackAtByte; }
33 virtual int32_t getBytePosToEndOrLoopPlayback() {
34 return endPlaybackAtByte;
36 virtual void setupPlaybackBounds(
bool reversed);
37 virtual uint32_t getLoopStartPlaybackAtByte() {
return startPlaybackAtByte; }
38 virtual uint32_t getLoopEndPlaybackAtByte() {
return endPlaybackAtByte; }
39 uint64_t getSyncedNumSamplesIn();
40 int32_t getNumSamplesLaggingBehindSync(
VoiceSample* voiceSample);
41 int32_t adjustPitchToCorrectDriftFromSync(
VoiceSample* voiceSample, int32_t phaseIncrement);
52 uint32_t startPlaybackAtByte;
53 uint32_t endPlaybackAtByte;
55 int32_t sequenceSyncStartedAtTick;
56 uint32_t sequenceSyncLengthTicks;