# Uses of Interface
net.paulhertz.pixelaudio.granular.PASource

Packages that use PASource
Package
Description
net.paulhertz.pixelaudio.granular
Granular synthesis classes for PixelAudio.

- ## Uses of PASource in net.paulhertz.pixelaudio.granular

  Classes in net.paulhertz.pixelaudio.granular that implement PASource
  Modifier and Type
  Class
  Description
  `final class`
  `PABurstGranularSource`
  Core class in the PAGranularInstrumentDirector granular synthesis processing chain, provides windowed granular synthesis with normalization.
  Calling chain: PAGranularInstrumentDirector -> PAGranularInstrument -> PAGranularSampler -> PAGranularVoice,
  with PABurstGranularSource handling the complexities of the granular synthesis sample by sample.
  Fields in net.paulhertz.pixelaudio.granular declared as PASource
  Modifier and Type
  Field
  Description
  `private PASource`
  PAGranularVoice.`source`
  `(package private) final PASource`
  PAGranularSampler.ScheduledPlay.`src`
  Methods in net.paulhertz.pixelaudio.granular with parameters of type PASource
  Modifier and Type
  Method
  Description
  `void`
  PAGranularVoice.`activate(PASource source, ADSRParams envParams, float gain, float pan, boolean looping)`
  `void`
  PAGranularVoice.`activate(PASource source, ADSRParams envParams, float gain, float pan, boolean looping, ddf.minim.analysis.WindowFunction grainWindow, int grainLenSamples)`
  `private PAGranularVoice`
  PAGranularSampler.`getAvailableVoice(PASource src, ADSRParams env, float gain, float pan, boolean looping)`
  `private PAGranularVoice`
  PAGranularSampler.`getAvailableVoice(PASource src, ADSRParams env, float gain, float pan, boolean looping, ddf.minim.analysis.WindowFunction grainWindow, int grainLenSamples)`
  Allocate a PAGranularVoice instance.
  `long`
  PAGranularInstrument.`play(PASource src)`
  Convenience: default env and global pan.
  `long`
  PAGranularInstrument.`play(PASource src, float amp)`
  Convenience: default pan, default envelope.
  `long`
  PAGranularInstrument.`play(PASource src, float amp, float pan)`
  Convenience: uses default envelope, no looping.
  `long`
  PAGranularInstrument.`play(PASource src, float amp, float pan, ADSRParams env, boolean looping)`
  Main granular play() method.
  `long`
  PAGranularSampler.`play(PASource src, float gain, float pan, ADSRParams defaultEnv, boolean looping)`
  `long`
  PAGranularSampler.`play(PASource src, ADSRParams env, float gain, float pan)`
  `long`
  PAGranularSampler.`play(PASource src, ADSRParams env, float gain, float pan, boolean looping)`
  Play a granular source as a voice.
  `long`
  PAGranularInstrument.`playLooping(PASource src, float amp, float pan)`
  Convenience: looping version.
  `void`
  PAGranularVoice.`setSource(PASource source)`
  `void`
  PAGranularInstrument.`startAfterDelaySamples(PASource src, float amp, float pan, ADSRParams env, boolean looping, long delaySamples)`
  Schedule playback after a delay in samples relative to "now".
  `void`
  PAGranularSampler.`startAfterDelaySamples(PASource src, ADSRParams env, float gain, float pan, boolean looping, long delaySamples)`
  Schedule a new voice to start after a given delay in samples.
  `void`
  PAGranularInstrument.`startAtSampleTime(PASource src, float amp, float pan, ADSRParams env, boolean looping, long startSample)`
  Schedule playback of a PASource at an absolute sample time.
  `void`
  PAGranularInstrument.`startAtSampleTime(PASource src, float amp, float pan, ADSRParams env, boolean looping, long startSample, ddf.minim.analysis.WindowFunction grainWindow, int grainLenSamples)`
  Schedule playback of a PASource at an absolute sample time.
  `void`
  PAGranularSampler.`startAtSampleTime(PASource src, ADSRParams env, float gain, float pan, boolean looping, long startSample)`
  Schedule a new voice to start at an absolute sample time.
  `void`
  PAGranularSampler.`startAtSampleTime(PASource src, ADSRParams env, float gain, float pan, boolean looping, long startSample, ddf.minim.analysis.WindowFunction grainWindow, int grainLenSamples)`
  Called by PAGranularInstrument.startAtSampleTime(...), creates a ScheduledPlay instance with PASource src and other arguments, then passes it to AudioScheduler scheduler, which will be handled through Minim's uGenerate call to this instance of PAGranularSampler.
  `void`
  PAGranularInstrument.`startNow(PASource src, float amp, float pan, ADSRParams env, boolean looping)`
  Convenience: schedule using current instrument cursor as "now".
  Constructors in net.paulhertz.pixelaudio.granular with parameters of type PASource
  Modifier
  Constructor
  Description
  ``
  `PAGranularVoice(PASource source, int blockSize, float playbackSampleRate)`
  `(package private)`
  `ScheduledPlay(PASource src, ADSRParams env, float gain, float pan, boolean looping)`
  `(package private)`
  `ScheduledPlay(PASource src, ADSRParams env, float gain, float pan, boolean looping, ddf.minim.analysis.WindowFunction grainWindow, int grainLenSamples)`