Class thl::dsp::granular::HeadPolicy#

class HeadPolicy#

Inheritance diagram for thl::dsp::granular::HeadPolicy:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "1" [label="thl::dsp::granular::HeadPolicy" tooltip="thl::dsp::granular::HeadPolicy" fillcolor="#BFBFBF"] "2" [label="thl::dsp::granular::LoopScanHead" tooltip="thl::dsp::granular::LoopScanHead"] "3" [label="thl::dsp::granular::PositionSprayHead" tooltip="thl::dsp::granular::PositionSprayHead"] "2" -> "1" [dir=forward tooltip="public-inheritance"] "3" -> "1" [dir=forward tooltip="public-inheritance"] }

Subclassed by thl::dsp::granular::LoopScanHead, thl::dsp::granular::PositionSprayHead

Public Functions

virtual ~HeadPolicy() = default#
virtual SampleRegion region(size_t total_frames, const VoiceParams &params) const = 0#
virtual FramePos pick_start(const SampleRegion &region, float temperature, size_t interval, const VoiceParams &params, std::mt19937 &rng) = 0#
virtual void reset() = 0#

Protected Static Functions

static inline FramePos jitter_and_wrap(FramePos start, float temperature, const SampleRegion &region, std::mt19937 &rng)#