Package net.paulhertz.pixelaudio.curves

# Interface PAGesture

All Known Implementing Classes:
  `GestureSchedule`, `PACurveMaker`

public interface PAGesture
PAGesture provides a definitional interface for "gestures": 1) a list of points and 2) a list of time offsets where 3) both lists have the same cardinality and 4) time offsets are monotonically non-dereasing. In addition, 5) the time list is expected (but not required) to start with a first element 0. Absolute time of gesture creation can be returned from in getStartTimeMs(), possibly as millis from application start. Gestures are often captured from GUI interaction, is is the case with PACurveMaker. PAGesture opens the way to use many different sources for generating gestures. "Gesture" is a core concept in the PixelAudio library, implemented by PACurveMaker, in particular.

See Also:
  - `GestureSchedule`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `List<processing.core.PVector>`
  `getAllPoints()`
  Dense gesture points.
  `default GestureSchedule`
  `getAllPointsSchedule()`
  Convenience: a schedule over the dense gesture.
  `long`
  `getStartTimeMs()`
  Absolute start time (e.g.
  `float[]`
  `getTimeOffsetsMs()`
  Time offsets in ms, same length as getAllPoints(), first element typically 0.
  `default boolean`
  `isEmpty()`
  `default int`
  `size()`

- ## Method Details

  - ### getAllPoints

    List<processing.core.PVector> getAllPoints()
    Dense gesture points.

  - ### getTimeOffsetsMs

    float[] getTimeOffsetsMs()
    Time offsets in ms, same length as getAllPoints(), first element typically 0.

  - ### getStartTimeMs

    long getStartTimeMs()
    Absolute start time (e.g. millis() when gesture began)

  - ### getAllPointsSchedule

    default GestureSchedule getAllPointsSchedule()
    Convenience: a schedule over the dense gesture.

  - ### size

    default int size()

  - ### isEmpty

    default boolean isEmpty()