Package edu.wpi.grip.core.sources
Class VideoFileSource
- java.lang.Object
-
- edu.wpi.grip.core.Source
-
- edu.wpi.grip.core.sources.VideoFileSource
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceVideoFileSource.Factory-
Nested classes/interfaces inherited from class edu.wpi.grip.core.Source
Source.SourceFactory, Source.SourceFactoryImpl
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.util.List<OutputSocket>createOutputSockets()Observable<java.lang.Integer>currentFrameProperty()Gets an observable value for the current frame number of the video file this source is providing.intgetFrameCount()Gets the number of frames in the video file.intgetFramePosition()Gets the current frame number.java.lang.StringgetName()This is used by the GUI to distinguish different sources.java.util.PropertiesgetProperties()This is used for serialization/deserialization.voidinitialize()Initializes the source.voidonSourceRemoved(SourceRemovedEvent sourceRemovedEvent)Observable<java.lang.Boolean>pausedProperty()Gets a property describing the current state of the pausable.voidsetFrame(int frameNumber)Sets the frame grabber to the given frame number.protected booleanupdateOutputSockets()This method will check if there are any pending updates to output sockets.-
Methods inherited from class edu.wpi.grip.core.Source
getExceptionWitness, getOutputSockets, initializeSafely, toString
-
-
-
-
Method Detail
-
getName
public java.lang.String getName()
Description copied from class:SourceThis is used by the GUI to distinguish different sources. For example,ImageFileSourcereturns the filename of the image.
-
createOutputSockets
protected java.util.List<OutputSocket> createOutputSockets()
- Specified by:
createOutputSocketsin classSource
-
updateOutputSockets
protected boolean updateOutputSockets()
Description copied from class:SourceThis method will check if there are any pending updates to output sockets. If there are any, update the sockets and then return true. If there are no updates this function should return false.- Specified by:
updateOutputSocketsin classSource- Returns:
- true if there are updates ready to be moved into the socket.
-
getProperties
public java.util.Properties getProperties()
Description copied from class:SourceThis is used for serialization/deserialization.- Specified by:
getPropertiesin classSource- Returns:
- A
Propertiescontaining data that can be used to re-create this source.
-
initialize
public void initialize() throws java.io.IOExceptionDescription copied from class:SourceInitializes the source. This should not try to handle initialization exceptions. Instead, theSource.initializeSafely()should report the problem with initializing to the exception witness.- Specified by:
initializein classSource- Throws:
java.io.IOException- if the source could not be initialized
-
currentFrameProperty
public Observable<java.lang.Integer> currentFrameProperty()
Gets an observable value for the current frame number of the video file this source is providing.
-
getFrameCount
public int getFrameCount()
Gets the number of frames in the video file. This is a best guess and may not always be accurate.
-
setFrame
public void setFrame(int frameNumber)
Sets the frame grabber to the given frame number. This will pause frame grabber from reading successive frames; it can be resumed withPausable.resume(). This runs asynchronously and will complete at some point in the future after this method is called.- Parameters:
frameNumber- the number of the frame to grab- Throws:
java.lang.IllegalArgumentException- ifframeNumberis negative or exceeds the number of frames in the video file
-
getFramePosition
public int getFramePosition()
Gets the current frame number.- Returns:
- the current frame number
-
pausedProperty
public Observable<java.lang.Boolean> pausedProperty()
Description copied from interface:PausableGets a property describing the current state of the pausable.- Specified by:
pausedPropertyin interfacePausable
-
onSourceRemoved
public void onSourceRemoved(SourceRemovedEvent sourceRemovedEvent)
-
-