Package net.paulhertz.pixelaudio.voices
Class PlaybackInfo
java.lang.Object
net.paulhertz.pixelaudio.voices.PlaybackInfo
Holds information about a triggered playback event.
Returned by PASharedBufferSampler.play().
-
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 long -
Constructor Summary
ConstructorsConstructorDescriptionPlaybackInfo(long voiceId, int eventSamples, float bufferReadSamples, float durationMS, boolean looping, long startSample, float sampleRate) -
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 voiceId -
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)
-
-
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.- Returns:
- duration in output samples (int), or Integer.MAX_VALUE if looping.
-
toString
-