org.opensourcephysics.media.core
Class StepperClipControl

java.lang.Object
  extended by org.opensourcephysics.media.core.ClipControl
      extended by org.opensourcephysics.media.core.StepperClipControl
All Implemented Interfaces:
java.beans.PropertyChangeListener, java.util.EventListener

public class StepperClipControl
extends ClipControl
implements java.beans.PropertyChangeListener

This is a ClipControl that displays every step in a video clip.

Version:
1.0
Author:
Douglas Brown

Field Summary
 
Fields inherited from class org.opensourcephysics.media.core.ClipControl
clip, looping, rate, stepNumber, support, timeStretch, video
 
Constructor Summary
protected StepperClipControl(VideoClip videoClip)
          Constructs a TimerClipControl object.
 
Method Summary
 void back()
          Steps back one step.
static XML.ObjectLoader getLoader()
          Returns an XML.ObjectLoader to save and load data for this class.
 double getMeanFrameDuration()
          Gets the average frame duration in milliseconds.
 double getStepTime(int stepNumber)
          Gets the start time of the specified step measured from step 0.
 double getTime()
          Gets the current time in milliseconds measured from step 0.
 boolean isPlaying()
          Gets the playing status.
 void play()
          Plays the clip.
 void propertyChange(java.beans.PropertyChangeEvent e)
          Responds to property change events.
 void setFrameDuration(double duration)
          Sets the frame duration.
 void setLooping(boolean loops)
          Turns on/off looping.
 void setRate(double newRate)
          Sets the play rate.
 void setStepNumber(int n)
          Sets the step number.
 void step()
          Steps forward one step.
 void stop()
          Stops at the next step.
 
Methods inherited from class org.opensourcephysics.media.core.ClipControl
addPropertyChangeListener, addPropertyChangeListener, dispose, getControl, getFrameNumber, getRate, getStepNumber, getVideoClip, isLooping, removePropertyChangeListener, removePropertyChangeListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StepperClipControl

protected StepperClipControl(VideoClip videoClip)
Constructs a TimerClipControl object.

Parameters:
videoClip - the video clip
Method Detail

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

setRate

public void setRate(double newRate)
Sets the play rate.

Overrides:
setRate in class ClipControl
Parameters:
newRate - the desired rate

getMeanFrameDuration

public double getMeanFrameDuration()
Gets the average frame duration in milliseconds.

Specified by:
getMeanFrameDuration in class ClipControl
Returns:
the frame duration in milliseconds

setFrameDuration

public void setFrameDuration(double duration)
Sets the frame duration.

Specified by:
setFrameDuration in class ClipControl
Parameters:
duration - the desired frame duration in milliseconds

setLooping

public void setLooping(boolean loops)
Turns on/off looping.

Overrides:
setLooping in class ClipControl
Parameters:
loops - true to turn looping on

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

propertyChange

public void propertyChange(java.beans.PropertyChangeEvent e)
Responds to property change events.

Specified by:
propertyChange in interface java.beans.PropertyChangeListener
Parameters:
e - the property change event

getLoader

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

Returns:
the object loader