Package mgui.interfaces.graphics.video
Class Video
java.lang.Object
mgui.interfaces.AbstractInterfaceObject
mgui.interfaces.graphics.video.Video
- All Implemented Interfaces:
InterfaceObject,NamedObject,TreeObject,CleanableObject,XMLObject
- Direct Known Subclasses:
Video3D
public abstract class Video extends AbstractInterfaceObject implements XMLObject
Represents a video schedule, using a list of
VideoTask objects which are activated at
specific time points. A VideoTask typically effects some visible change to an
InterfaceGraphic window, which occurs at run-time, and can optionally be written as
a movie file.- Since:
- 1.0
- Version:
- 1.0
- Author:
- Andrew Reid
- See Also:
VideoTask
-
Nested Class Summary
Nested classes/interfaces inherited from interface mgui.interfaces.xml.XMLObject
XMLObject.XMLEncoding, XMLObject.XMLType -
Field Summary
Fields Modifier and Type Field Description longclocklongdurationlongrefreshjava.util.ArrayList<VideoTask>tasksInterfaceGraphic<?>windowFields inherited from class mgui.interfaces.AbstractInterfaceObject
isDestroyed, tree_nodes -
Constructor Summary
Constructors Constructor Description Video() -
Method Summary
Modifier and Type Method Description voidaddListener(VideoListener l)voidaddTask(VideoTask task)voidfireClockChanged(VideoEvent e)voidfireClockLagged(VideoEvent e, long lag)voidfireClockStarted(VideoEvent e)voidfireClockStopped(VideoEvent e)longgetClock()Gets the current state of the clock.java.lang.StringgetDTD()Returns the Data Type Declaration (DTD) for this object's XML representationjava.lang.StringgetLocalName()Returns the local name associated with this XML object.java.lang.StringgetName()Gets the name for this object.java.lang.StringgetShortXML(int tab)Returns a short XML representation of this object.java.util.ArrayList<VideoTask>getTasks()Returns all tasks in this video.abstract java.lang.StringgetType()java.lang.StringgetXML()Returns this object's XML representation as a single string.java.lang.StringgetXML(int tab)Returns this object's XML representation as a single string.java.lang.StringgetXMLSchema()Returns the XML schema for this object's XML representationvoidhandleXMLElementEnd(java.lang.String localName)Handles the end of an XML element.voidhandleXMLElementStart(java.lang.String localName, org.xml.sax.Attributes attributes, XMLObject.XMLType type)Handles the start of an XML element.voidhandleXMLString(java.lang.String s)Handles a string within an XML element.protected voidinit()booleanisStopped()Determines whether this video is currently running or not.voidremoveListener(VideoListener l)voidremoveTask(VideoTask task)voidreset()Resets the clock and all tasks in this video.voidrestart()Restarts this video by resetting the clock and resuming playback.voidresume()Resumes playback of this video.voidsetClock(long c)Sets the clock to a specific value and alerts all listeners of this.voidsetName(java.lang.String name)Sets the name for this object.voidsetRefreshRate(long rate)Sets the refresh rate of this video.voidsetTasks(java.util.ArrayList<VideoTask> tasks)voidsortTasks()voidstart()Initiates the running of this video.voidstop()Stops the video and alerts all video listeners of this.voidupdateTasks(InterfaceDisplayPanel panel)voidwriteXML(int tab, java.io.Writer writer)Writes the XML representation of this object to file.voidwriteXML(int tab, java.io.Writer writer, ProgressUpdater progress_bar)Writes the XML representation of this object to file, asXMLType.Normal.voidwriteXML(int tab, java.io.Writer writer, XMLOutputOptions options, ProgressUpdater progress_bar)Writes the XML representation of this object to file.Methods inherited from class mgui.interfaces.AbstractInterfaceObject
clean, destroy, getTreeLabel, isDestroyed, issueTreeNode, setTreeNode, updateTreeNodesMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
tasks
-
refresh
public long refresh -
clock
public long clock -
duration
public long duration -
window
-
-
Constructor Details
-
Video
public Video()
-
-
Method Details
-
init
protected void init() -
getTasks
Returns all tasks in this video.- Returns:
-
getClock
public long getClock()Gets the current state of the clock.- Returns:
-
isStopped
public boolean isStopped()Determines whether this video is currently running or not.- Returns:
-
start
public void start()Initiates the running of this video. Alerts all video listeners of this. -
reset
public void reset()Resets the clock and all tasks in this video. Alerts all video listeners of this. -
restart
Restarts this video by resetting the clock and resuming playback. Alerts all video listeners of this.- Throws:
VideoException
-
stop
public void stop()Stops the video and alerts all video listeners of this. -
setClock
public void setClock(long c)Sets the clock to a specific value and alerts all listeners of this.- Parameters:
c-
-
setRefreshRate
public void setRefreshRate(long rate)Sets the refresh rate of this video.- Parameters:
rate-
-
getName
public java.lang.String getName()Description copied from interface:NamedObjectGets the name for this object.- Specified by:
getNamein interfaceNamedObject- Overrides:
getNamein classAbstractInterfaceObject- Returns:
-
setName
public void setName(java.lang.String name)Description copied from interface:NamedObjectSets the name for this object.- Specified by:
setNamein interfaceNamedObject- Overrides:
setNamein classAbstractInterfaceObject
-
setTasks
-
sortTasks
public void sortTasks() -
addTask
-
removeTask
-
addListener
-
removeListener
-
fireClockChanged
-
fireClockStopped
-
fireClockStarted
-
fireClockLagged
-
resume
Resumes playback of this video. Playback will be handled in a separate Foxtrot thread, so this method returns after initiating it. Video loops at a rate determined by its refresh rate, unless this is smaller than the time lag required for processing task procedures. Playback can be stopped by calling thestopmethod.- Throws:
VideoException- if no source window is set
-
getType
public abstract java.lang.String getType() -
getDTD
public java.lang.String getDTD()Description copied from interface:XMLObjectReturns the Data Type Declaration (DTD) for this object's XML representationSee http://en.wikipedia.org/wiki/Document_Type_Definition for a description.
-
getXMLSchema
public java.lang.String getXMLSchema()Description copied from interface:XMLObjectReturns the XML schema for this object's XML representation- Specified by:
getXMLSchemain interfaceXMLObject- Returns:
-
getXML
public java.lang.String getXML(int tab)Description copied from interface:XMLObjectReturns this object's XML representation as a single string. NOTE: this is not feasible for larger objects and containers, thus may not be implemented for these objects. Use theXMLObject.writeXML(int,java.io.Writer,mgui.io.standard.xml.XMLOutputOptions,mgui.interfaces.ProgressUpdater)functions to write larger objects to file. -
updateTasks
-
getXML
public java.lang.String getXML()Description copied from interface:XMLObjectReturns this object's XML representation as a single string. NOTE: this is not feasible for larger objects and containers, thus may not be implemented for these objects. Use theXMLObject.writeXML(int,java.io.Writer,mgui.io.standard.xml.XMLOutputOptions,mgui.interfaces.ProgressUpdater)functions to write larger objects to file. -
getShortXML
public java.lang.String getShortXML(int tab)Description copied from interface:XMLObjectReturns a short XML representation of this object.- Specified by:
getShortXMLin interfaceXMLObject- Returns:
-
handleXMLString
public void handleXMLString(java.lang.String s)Description copied from interface:XMLObjectHandles a string within an XML element.- Specified by:
handleXMLStringin interfaceXMLObject- Parameters:
s- String to handle
-
handleXMLElementStart
public void handleXMLElementStart(java.lang.String localName, org.xml.sax.Attributes attributes, XMLObject.XMLType type)Description copied from interface:XMLObjectHandles the start of an XML element.- Specified by:
handleXMLElementStartin interfaceXMLObject- Parameters:
localName- Local name of the elementattributes- Set of element attributestype- TheXMLTypeof this element
-
handleXMLElementEnd
public void handleXMLElementEnd(java.lang.String localName)Description copied from interface:XMLObjectHandles the end of an XML element.- Specified by:
handleXMLElementEndin interfaceXMLObject- Parameters:
localName- Local name of the element
-
writeXML
public void writeXML(int tab, java.io.Writer writer) throws java.io.IOExceptionDescription copied from interface:XMLObjectWrites the XML representation of this object to file. The basic contract for this method is that it should not write a newline character at its start or end. The default format ofXMLFormat.Asciiwill be used. -
writeXML
public void writeXML(int tab, java.io.Writer writer, ProgressUpdater progress_bar) throws java.io.IOExceptionDescription copied from interface:XMLObjectWrites the XML representation of this object to file, asXMLType.Normal. The default format ofXMLFormat.Asciiwill be used. The basic contract for this method is that it should not write a newline character at its start or end. -
writeXML
public void writeXML(int tab, java.io.Writer writer, XMLOutputOptions options, ProgressUpdater progress_bar) throws java.io.IOExceptionDescription copied from interface:XMLObjectWrites the XML representation of this object to file. The basic contract for this method is that it should not write a newline character at its start or end. The default format ofXMLFormat.Asciiwill be used. -
getLocalName
public java.lang.String getLocalName()Description copied from interface:XMLObjectReturns the local name associated with this XML object.- Specified by:
getLocalNamein interfaceXMLObject- Returns:
-