Class VideoClipControl

All Implemented Interfaces:
PropertyChangeListener, EventListener

public class VideoClipControl extends ClipControl
This is a ClipControl that uses the video itself for timing.
Version:
1.0
Author:
Douglas Brown
  • Constructor Details

    • VideoClipControl

      protected VideoClipControl(VideoClip videoClip)
      Constructs a VideoClipControl.
      Parameters:
      videoClip - the video clip
  • Method Details

    • play

      public void play()
      Plays the clip.
      Overrides:
      play in class ClipControl
    • stop

      public void stop()
      Stops at the next step.
      Overrides:
      stop in class ClipControl
    • step

      public void step()
      Steps forward one step.
      Overrides:
      step in class ClipControl
    • back

      public void back()
      Steps back one step.
      Overrides:
      back in class ClipControl
    • setStepNumber

      public void setStepNumber(int n)
      Sets the step number.
      Overrides:
      setStepNumber in class ClipControl
      Parameters:
      n - the desired step number
    • getStepNumber

      public int getStepNumber()
      Gets the step number.
      Overrides:
      getStepNumber in class ClipControl
      Returns:
      the current step number
    • setRate

      public void setRate(double newRate)
      Sets the play rate.
      Overrides:
      setRate in class ClipControl
      Parameters:
      newRate - the desired rate
    • getRate

      public double getRate()
      Gets the play rate.
      Overrides:
      getRate in class ClipControl
      Returns:
      the current rate
    • setLooping

      public void setLooping(boolean loops)
      Turns on/off looping.
      Overrides:
      setLooping in class ClipControl
      Parameters:
      loops - true to turn looping on
    • isLooping

      public boolean isLooping()
      Gets the looping status.
      Overrides:
      isLooping in class ClipControl
      Returns:
      true if looping is on
    • getFrameNumber

      public int getFrameNumber()
      Gets the current frame number.
      Overrides:
      getFrameNumber in class ClipControl
      Returns:
      the frame number
    • isPlaying

      public boolean isPlaying()
      Gets the playing status.
      Specified by:
      isPlaying in class ClipControl
      Returns:
      true if playing
    • getTime

      public double getTime()
      Gets the current time in milliseconds measured from step 0.
      Specified by:
      getTime in class ClipControl
      Returns:
      the current time
    • getStepTime

      public double getStepTime(int stepNumber)
      Gets the start time of the specified step measured from step 0.
      Specified by:
      getStepTime in class ClipControl
      Parameters:
      stepNumber - the step number
      Returns:
      the step time
    • setFrameDuration

      public void setFrameDuration(double duration)
      Sets the frame duration.
      Specified by:
      setFrameDuration in class ClipControl
      Parameters:
      duration - the desired frame duration in milliseconds
    • getMeanFrameDuration

      public double getMeanFrameDuration()
      Gets the mean frame duration in milliseconds.
      Specified by:
      getMeanFrameDuration in class ClipControl
      Returns:
      the frame duration in milliseconds
    • propertyChange

      public void propertyChange(PropertyChangeEvent e)
      Responds to property change events. VideoClipControl listens for the following events: "playing", "looping", "rate" and "framenumber" from Video.
      Specified by:
      propertyChange in interface PropertyChangeListener
      Overrides:
      propertyChange in class ClipControl
      Parameters:
      e - the property change event
    • dispose

      public void dispose()
      Removes this listener from the video so it can be garbage collected.
      Overrides:
      dispose in class ClipControl
    • getLoader

      public static XML.ObjectLoader getLoader()
      Returns an XML.ObjectLoader to save and load data for this class.
      Returns:
      the object loader