|
Media Authoring with Java API |
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objecttv.amwa.maj.entity.InterchangeObject
tv.amwa.maj.entity.Component
tv.amwa.maj.entity.Segment
tv.amwa.maj.entity.Pulldown
@AAFClass(uuid1=218169601, uuid2=257, uuid3=3072, uuid4={6,14,43,52,2,6,1,1}, definedName="Pulldown", description="The Pulldown class converts between film frame rates and videotape frame rates.") public class Pulldown
Implements the representation of a conversion between film frame rates and videotape frame rates. This class provides a mechanism to convert essence to and from video and film rates and describe the mechanism that was used to convert the essence.
THE COMMENTS FOR THIS CLASS ARE INCOMPLETE.
Nested Class Summary | |
---|---|
static class |
Pulldown.InputSegmentXMLHandler
|
static class |
Pulldown.XMLHandler
|
Nested classes/interfaces inherited from class tv.amwa.maj.entity.Segment |
---|
Segment.SegmentXMLHandler |
Nested classes/interfaces inherited from class tv.amwa.maj.entity.Component |
---|
Component.ComponentAttributesXMLHandler, Component.ComponentUserCommentsXMLHandler, Component.ComponentXMLHandler, Component.KLVDataXMLHandler |
Nested classes/interfaces inherited from class tv.amwa.maj.entity.InterchangeObject |
---|
InterchangeObject.InterchangeObjectXMLHandler |
Field Summary | |
---|---|
static String |
PULLDOWN_TAG
|
Fields inherited from class tv.amwa.maj.entity.Component |
---|
COMPONENT_ITEM |
Constructor Summary | |
---|---|
Pulldown(DataDefinition dataDefinition,
Segment inputSegment,
PulldownKindType pulldownKind,
PulldownDirectionType pulldownDirection,
int phaseFrame)
Creates and initializes a new pulldown object, which converts between film frame rates and videotape frame rates |
Method Summary | |
---|---|
void |
appendXMLChildren(Node parent)
Append child elements to the given parent node to serialize the value of an object to an XML fragment. |
Pulldown |
clone()
Creates a cloned copy of this entity. |
boolean |
equals(Object o)
Tests to see if the given object is equal to this interchange object. |
Segment |
getInputSegment()
Returns the input segment of this pulldown, which is either a source clip or timecode. |
int |
getPhaseFrame()
Returns the phase frame property of this pulldown, which specifies the phase within the repeating pulldown pattern of the first frame after the pulldown conversion. |
PulldownDirectionType |
getPulldownDirection()
Returns the pulldown direction of this pulldown, which specifies whether the pulldown is converting from tape to film speed or from film to tape speed. |
PulldownKindType |
getPulldownKind()
Returns the pulldown kind of this pulldown, which specifies whether the pulldown is converting from nominally 30 Hz or 25 Hz video frame rate and whether frames are dropped or the video is played at another speed. |
int |
hashCode()
Returns a hash code value for this interchange object. |
TimecodeValue |
segmentOffsetToTC(long offset)
Converts the given segment offset to a timecode value. |
long |
segmentTCToOffset(TimecodeValue timecode,
Rational editrate)
Converts the given timecode and edit rate to a segment offset value. |
void |
setInputSegment(Segment inputSegment)
Sets the input segment for this pulldown, which is either a source clip or timecode. |
void |
setPhaseFrame(int phaseFrame)
Sets the phase frame property of the pulldown, which specifies the phase within the repeating pulldown pattern of the first frame after the pulldown conversion. |
void |
setPropertiesFromInterface(Pulldown castFrom)
|
void |
setPulldownDirection(PulldownDirectionType pulldownDirection)
Sets the pulldown direction of the pulldown, which specifies whether the pulldown is converting from tape to film speed or from film to tape speed. |
void |
setPulldownKind(PulldownKindType pulldownKind)
Sets the pulldown kind of this pulldown, which specifies whether the pulldown is converting from nominally 30 Hz or 25 Hz video frame rate and whether frames are dropped or the video is played at another speed. |
Methods inherited from class tv.amwa.maj.entity.Segment |
---|
setPropertiesFromInterface |
Methods inherited from class tv.amwa.maj.entity.Component |
---|
appendAttribute, appendAttribute, appendComment, appendComment, appendKLVData, countAttributes, countComments, countKLVData, getAttributes, getComments, getDataDefinition, getKLVData, getLength, getLengthPresent, removeAttribute, removeComment, removeKLVData, setDataDefinition, setLength, setLengthPresent, setPropertiesFromInterface |
Methods inherited from class tv.amwa.maj.entity.InterchangeObject |
---|
castFromInterface, countProperties, createOptionalPropertyValue, disableGenerationTracking, enableGenerationTracking, getDefinition, getGeneration, getGenerationAUID, getProperties, getPropertyValue, isGenerationTracked, isPropertyPresent, omitOpionalProperty, registerImplementation, setPropertiesFromInterface, setPropertyValue, toString |
Methods inherited from class java.lang.Object |
---|
getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface tv.amwa.maj.iface.Component |
---|
appendAttribute, appendAttribute, appendComment, appendComment, appendKLVData, countAttributes, countComments, countKLVData, getAttributes, getComments, getDataDefinition, getKLVData, getLength, removeAttribute, removeComment, removeKLVData, setDataDefinition, setLength |
Methods inherited from interface tv.amwa.maj.iface.InterchangeObject |
---|
countProperties, createOptionalPropertyValue, disableGenerationTracking, enableGenerationTracking, getDefinition, getGeneration, getGenerationAUID, getProperties, getPropertyValue, isGenerationTracked, isPropertyPresent, omitOpionalProperty, setPropertyValue |
Methods inherited from interface tv.amwa.maj.entity.MAJCommon |
---|
toString |
Field Detail |
---|
public static final String PULLDOWN_TAG
Constructor Detail |
---|
public Pulldown(DataDefinition dataDefinition, Segment inputSegment, PulldownKindType pulldownKind, PulldownDirectionType pulldownDirection, @PhaseFrameType int phaseFrame) throws NullPointerException
Creates and initializes a new pulldown object, which converts between film frame rates and videotape frame rates
dataDefinition
- Kind of data represented by this new component.inputSegment
- A segment that is either a source clip
or
timecode segment
. The length of input segment object is in the edit
units determined by the pulldown kind and pulldown direction.pulldownKind
- Specifies whether the new pulldown object is converting from nominally 30 Hz
or 25 Hz videoframe rate and whether frames are dropped or the video is played at another speed.pulldownDirection
- Specifies whether the pulldown object is converting from tape to film
speed or from film to tape speed.phaseFrame
- The phase within the repeating pulldown pattern of the first frame after the
pulldown conversion. A value of 0
specifies that the pulldown object starts
at the beginning of the pulldown pattern.
NullPointerException
- One or more of the arguments is null
and all arguments
are required.Method Detail |
---|
public final void setPropertiesFromInterface(Pulldown castFrom)
InterchangeObject.setPropertiesFromInterface(tv.amwa.maj.iface.InterchangeObject)
@AAFProperty(uuid1=100729092, uuid2=519, uuid3=0, uuid4={6,14,43,52,1,1,1,2}, definedName="InputSegment", typeName="StrongReference to Segment", optional=false, uniqueIdentifier=false, pid=3329) public Segment getInputSegment()
Pulldown
Returns the input segment of this pulldown, which is either a source clip or timecode. The length of the source clip or timecode is in the edit units determined by the properties pulldown kind and pulldown direction.
getInputSegment
in interface Pulldown
public void setInputSegment(Segment inputSegment) throws NullPointerException, IllegalArgumentException
Pulldown
Sets the input segment for this pulldown, which is either a source clip or timecode.
The length of the source clip or timecode is in the edit units determined by the properties pulldown kind and pulldown direction.
setInputSegment
in interface Pulldown
inputSegment
- Input segment for the pulldown.
NullPointerException
- The given input segment is null
.
IllegalArgumentException
- The given input segment must be either a source clip
or a timecode.@AAFProperty(uuid1=88084481, uuid2=768, uuid3=0, uuid4={6,14,43,52,1,1,1,2}, definedName="PhaseFrame", typeName="PhaseFrameType", optional=false, uniqueIdentifier=false, pid=3332) public int getPhaseFrame()
Pulldown
Returns the phase frame property of this pulldown, which specifies the phase within the repeating pulldown pattern of the first frame after the pulldown conversion. A value of zero specifies that the pulldown object starts at the beginning of the pattern.
getPhaseFrame
in interface Pulldown
public void setPhaseFrame(int phaseFrame)
Pulldown
Sets the phase frame property of the pulldown, which specifies the phase within the repeating pulldown pattern of the first frame after the pulldown conversion. A value of zero specifies that the pulldown object starts at the beginning of the pattern.
setPhaseFrame
in interface Pulldown
phaseFrame
- Phase frame property for this pulldown.@AAFProperty(uuid1=88084481, uuid2=256, uuid3=0, uuid4={6,14,43,52,1,1,1,2}, definedName="PulldownDirection", typeName="PulldownDirectionType", optional=false, uniqueIdentifier=false, pid=3331) public PulldownDirectionType getPulldownDirection()
Pulldown
Returns the pulldown direction of this pulldown, which specifies whether the pulldown is converting from tape to film speed or from film to tape speed.
getPulldownDirection
in interface Pulldown
PulldownDirectionType
,
TapeDescriptor
,
FilmDescriptor
public void setPulldownDirection(PulldownDirectionType pulldownDirection) throws NullPointerException
Pulldown
Sets the pulldown direction of the pulldown, which specifies whether the pulldown is converting from tape to film speed or from film to tape speed.
setPulldownDirection
in interface Pulldown
pulldownDirection
- Pulldown direction of this pulldown.
NullPointerException
- The given pulldown direction is null
.PulldownDirectionType
,
TapeDescriptor
,
FilmDescriptor
@AAFProperty(uuid1=88084481, uuid2=512, uuid3=0, uuid4={6,14,43,52,1,1,1,2}, definedName="PulldownKind", typeName="PulldownKindType", optional=false, uniqueIdentifier=false, pid=3330) public PulldownKindType getPulldownKind()
Pulldown
Returns the pulldown kind of this pulldown, which specifies whether the pulldown is converting from nominally 30 Hz or 25 Hz video frame rate and whether frames are dropped or the video is played at another speed.
getPulldownKind
in interface Pulldown
PulldownKindType
public void setPulldownKind(PulldownKindType pulldownKind) throws NullPointerException
Pulldown
Sets the pulldown kind of this pulldown, which specifies whether the pulldown is converting from nominally 30 Hz or 25 Hz video frame rate and whether frames are dropped or the video is played at another speed.
setPulldownKind
in interface Pulldown
pulldownKind
- Pulldown kind of this pulldown.
NullPointerException
- The given pulldown kind is null
.PulldownKindType
public boolean equals(Object o)
MAJCommon
Tests to see if the given object is equal to this interchange object. To be equal, the given value must be not null, share the same interface to its value and each of the properties of the value must each be equal.
equals
in interface MAJCommon
equals
in class Component
o
- Object to test for equality with.
Object.equals(Object)
public int hashCode()
MAJCommon
Returns a hash code value for this interchange object.
hashCode
in interface MAJCommon
hashCode
in class Component
Object.hashCode()
public Pulldown clone()
MAJCommon
Creates a cloned copy of this entity. The clone will be initialized to have the same value as this value but exists independently from then on. Changes to this value will not effect the clone and changes to the clone will not effect this. MAJ API clones are true deep clones with no shared references to areas of memory within the original.
This method does not throw a CloneNotSupportedException
as all
entity values must implement the Cloneable
interface. If a cloning
error does occur, a null
value will be returned but this is very unlikely
to happen.
clone
in interface MAJCommon
clone
in class Segment
Object.clone()
public void appendXMLChildren(Node parent)
XMLSerializable
Append child elements to the given parent node to serialize the value of an object
to an XML fragment. Methods of the XMLBuilder
class are provided to help with this
process.
appendXMLChildren
in interface XMLSerializable
appendXMLChildren
in class Component
parent
- XML parent element to append child nodes to.public TimecodeValue segmentOffsetToTC(long offset) throws TimecodeNotFoundException
Segment
Converts the given segment offset to a timecode value.
segmentOffsetToTC
in interface Segment
segmentOffsetToTC
in class Segment
offset
- Segment offset to be converted to a timecode.
TimecodeNotFoundException
- The given offset is not available as
a timecode value in this segment.Segment.segmentTCToOffset(TimecodeValue, Rational)
public long segmentTCToOffset(TimecodeValue timecode, Rational editrate) throws NullPointerException, TimecodeNotFoundException
Segment
Converts the given timecode and edit rate to a segment offset value.
segmentTCToOffset
in interface Segment
segmentTCToOffset
in class Segment
timecode
- Timecode to be converted to an offset.editrate
- Edit rate of the given timecode.
NullPointerException
- One or both of the given timecode and/or edit rate is/are
null
.
TimecodeNotFoundException
- The given timecode is not available
in this segment.Segment.segmentOffsetToTC(long)
|
Media Authoring with Java API |
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |