Package net.paulhertz.pixelaudio.sampler
Class PlaybackInfo
java.lang.Object
net.paulhertz.pixelaudio.sampler.PlaybackInfo
Holds information about a triggered playback event.
Returned by
PASharedBufferSampler.play(), where it can be used for debugging.-
Field Summary
FieldsModifier and TypeFieldDescriptionfinal floatActual number of buffer samples traversed (pitch-dependent).final floatDuration in milliseconds.final intDuration in output samples (pitch-independent).final booleanWhether this event loops indefinitely.final floatAbsolute start time in milliseconds (optional).final longAbsolute start time of the event, in samples (optional).final floatAbsolute stop time in milliseconds (optional).final longAbsolute stop time of the event, in samples (optional).final longUnique sampler voice identifier. -
Constructor Summary
ConstructorsConstructorDescriptionPlaybackInfo(long voiceId, int eventSamples, float bufferReadSamples, float durationMS, boolean looping, long startSample, float sampleRate) Creates playback information for a triggered voice. -
Method Summary
Modifier and TypeMethodDescriptionstatic intcomputeVoiceDuration(int samplePos, int sampleLen, int bufferLen, float pitch, ADSRParams env, boolean looping, float sampleRate) Computes total playback duration (in output samples, pitch-independent).toString()
-
Field Details
-
voiceId
public final long voiceIdUnique sampler voice identifier. -
eventSamples
public final int eventSamplesDuration in output samples (pitch-independent). -
durationMS
public final float durationMSDuration in milliseconds. -
bufferReadSamples
public final float bufferReadSamplesActual number of buffer samples traversed (pitch-dependent). -
looping
public final boolean loopingWhether this event loops indefinitely. -
startSample
public final long startSampleAbsolute start time of the event, in samples (optional). -
stopSample
public final long stopSampleAbsolute stop time of the event, in samples (optional). -
startMS
public final float startMSAbsolute start time in milliseconds (optional). -
stopMS
public final float stopMSAbsolute stop time in milliseconds (optional).
-
-
Constructor Details
-
PlaybackInfo
public PlaybackInfo(long voiceId, int eventSamples, float bufferReadSamples, float durationMS, boolean looping, long startSample, float sampleRate) Creates playback information for a triggered voice.- Parameters:
voiceId- unique sampler voice identifiereventSamples- duration in output samplesbufferReadSamples- number of source buffer samples traverseddurationMS- duration in millisecondslooping- true when the voice loops indefinitelystartSample- absolute start time in samplessampleRate- output sample rate in Hz
-
-
Method Details
-
computeVoiceDuration
public static int computeVoiceDuration(int samplePos, int sampleLen, int bufferLen, float pitch, ADSRParams env, boolean looping, float sampleRate) Computes total playback duration (in output samples, pitch-independent). Envelope stage times are assumed to be in seconds.- Parameters:
samplePos- buffer index to start playbacksampleLen- requested duration in samplesbufferLen- source buffer length in samplespitch- pitch or playback-rate multiplierenv- optional ADSR envelopelooping- true when playback loops indefinitelysampleRate- output sample rate in Hz- Returns:
- duration in output samples (int), or Integer.MAX_VALUE if looping.
-
toString
-