Class WaveData

java.lang.Object
net.paulhertz.pixelaudio.WaveData

public class WaveData extends Object
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    float
    amplitude
    int
    animation steps
    float
    DC offset/bias to add to generated amplitude values, a new setting, default 0
    static int
    convenience variable, 30 seconds of animation at 24 frames per second
    float
    frequency
    boolean
    runtime variable for muting
    float
    fraction of TWO_PI in the range 0..1,
    float
    number of times to cycle through TWO_PI over the duration of the animation
    float
    increment to the phase for each step of animation = (cycles * TWO_PI)/(animation steps) Should be set when animation begins, otherwise is set to 0, unchanging.
    static final boolean
    support for old JSON format where phase was already scaled by TWO_PI
    float
    TWO_PI * phase
    int
    color associated with the wave
    net.paulhertz.pixelaudio.WaveData.WaveState
    tracking variable for mute, solo, etc.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
    WaveData(float f, float a, float p, float dc, float cycles, int c)
    Constructor for WaveData when animation steps are not known
    WaveData(float f, float a, float p, float dc, float cycles, int c, int steps)
    Preferred constructor for WaveData
    WaveData(float f, float a, float p, float dc, float cycles, int c, int animSteps, boolean phaseScalesTwoPi)
     
  • Method Summary

    Modifier and Type
    Method
    Description
     
    void
    setAmp(float a)
     
    void
    setAnimationSteps(int newSteps)
     
    void
    setCycles(float cycles, int steps)
     
    void
    setDc(float newDc)
     
    void
    setFreq(float f)
     
    void
    setPhase(float p)
     
    void
    setPhase(float p, boolean phaseScalesTwoPi)
     
    void
    setWaveColor(int c)
     
    void
    setWaveState(net.paulhertz.pixelaudio.WaveData.WaveState newWaveState)
     
     
    void
    updateWaveData(float f, float a, float p, float cycles, int c, int steps)
     
     
    float
    waveValue(int frame, int pos, float mapInc)
     
    float
    waveValue(int frame, int pos, float freqShift, float mapInc)
     

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • freq

      public float freq
      frequency
    • amp

      public float amp
      amplitude
    • phase

      public float phase
      fraction of TWO_PI in the range 0..1,
    • phaseTwoPi

      public float phaseTwoPi
      TWO_PI * phase
    • phaseCycles

      public float phaseCycles
      number of times to cycle through TWO_PI over the duration of the animation
    • phaseInc

      public float phaseInc
      increment to the phase for each step of animation = (cycles * TWO_PI)/(animation steps) Should be set when animation begins, otherwise is set to 0, unchanging.
    • dc

      public float dc
      DC offset/bias to add to generated amplitude values, a new setting, default 0
    • waveColor

      public int waveColor
      color associated with the wave
    • isMuted

      public boolean isMuted
      runtime variable for muting
    • waveState

      public net.paulhertz.pixelaudio.WaveData.WaveState waveState
      tracking variable for mute, solo, etc.
    • animSteps

      public int animSteps
      animation steps
    • defaultAnimSteps

      public static int defaultAnimSteps
      convenience variable, 30 seconds of animation at 24 frames per second
    • phaseScalesTwoPI

      public static final boolean phaseScalesTwoPI
      support for old JSON format where phase was already scaled by TWO_PI
      See Also:
  • Constructor Details

    • WaveData

      public WaveData(float f, float a, float p, float dc, float cycles, int c, int animSteps, boolean phaseScalesTwoPi)
    • WaveData

      public WaveData(float f, float a, float p, float dc, float cycles, int c, int steps)
      Preferred constructor for WaveData
      Parameters:
      f - frequency
      a - amplitude
      p - phase, decimal fraction of TWO_PI, typically in the range [0..1]
      dc - DC component added to wave values
      cycles - number of cyles over one animation period
      c - color associated with this WaveData object
      steps - number of frames for animation
    • WaveData

      public WaveData(float f, float a, float p, float dc, float cycles, int c)
      Constructor for WaveData when animation steps are not known
      Parameters:
      f - frequency
      a - amplitude
      p - phase, decimal fraction of TWO_PI, typically in the range [0..1]
      dc - DC component added to wave values
      cycles - number of cyles over one animation period
      c - color associated with this WaveData object
      steps - number of frames for animation
    • WaveData

      public WaveData()
  • Method Details

    • updateWaveData

      public void updateWaveData(float f, float a, float p, float cycles, int c, int steps)
    • setFreq

      public void setFreq(float f)
    • setAmp

      public void setAmp(float a)
    • setPhase

      public void setPhase(float p, boolean phaseScalesTwoPi)
    • setPhase

      public void setPhase(float p)
    • setCycles

      public void setCycles(float cycles, int steps)
    • setAnimationSteps

      public void setAnimationSteps(int newSteps)
    • setDc

      public void setDc(float newDc)
    • setWaveColor

      public void setWaveColor(int c)
    • setWaveState

      public void setWaveState(net.paulhertz.pixelaudio.WaveData.WaveState newWaveState)
    • waveValue

      public float waveValue(int frame, int pos, float freqShift, float mapInc)
    • waveValue

      public float waveValue(int frame, int pos, float mapInc)
    • waveDataListCopy

      public static ArrayList<WaveData> waveDataListCopy(ArrayList<WaveData> wdList)
    • clone

      public WaveData clone()
    • toString

      public String toString()
      Overrides:
      toString in class Object