Class PAGranularInstrumentDirector

java.lang.Object
net.paulhertz.pixelaudio.granular.PAGranularInstrumentDirector

public final class PAGranularInstrumentDirector extends Object
The top-level entry point for Granular Synthesis in the PixelAudio library, PAGranularInstrumentDirector acts as a facade to PAGranularInstrument, calling PAGranularInstrument.play(...) with a PABurstGranularSource instance as a PASource and all necessary gesture and timing data. Calling chain: PAGranularInstrumentDirector -> PAGranularInstrument -> PAGranularSampler -> PAGranularVoice, with PABurstGranularSource handling the complexities of the granular synthesis sample by sample. See the scheduleEvents method, below, for details.
  • Field Details

    • instrument

      private final PAGranularInstrument instrument
    • sampleRate

      private final float sampleRate
    • lastScheduleSize

      private int lastScheduleSize
    • lastScheduleEndMs

      private float lastScheduleEndMs
    • cachedEventOffsetsSamples

      private long[] cachedEventOffsetsSamples
    • lastRawScheduleRef

      private GestureSchedule lastRawScheduleRef
    • lastOffsetsParamsRef

      private GestureGranularParams lastOffsetsParamsRef
    • lastTransformedScheduleRef

      private GestureSchedule lastTransformedScheduleRef
    • lastOffsetsScheduleRef

      private GestureSchedule lastOffsetsScheduleRef
    • DEFAULT_GRAIN_WINDOW

      private static final ddf.minim.analysis.WindowFunction DEFAULT_GRAIN_WINDOW
  • Constructor Details

    • PAGranularInstrumentDirector

      public PAGranularInstrumentDirector(PAGranularInstrument instrument)
  • Method Details