This interface provides access to the list of Segment and Transition objects maintained by a Sequence object. More...
Public Member Functions | |
HRESULT | Initialize ([in] IAAFDataDef *pDataDef) |
This function sets the properties on a newly created sequence object with the given property values. | |
HRESULT | AppendComponent ([in] IAAFComponent *pComponent) |
This function appends the input component to the given sequence, enforcing bottom up creation of mobs. | |
HRESULT | PrependComponent ([in] IAAFComponent *pComponent) |
This function prepends the input component to the given sequence, enforcing bottom up creation of mobs. | |
HRESULT | InsertComponentAt ([in] aafUInt32 index,[in] IAAFComponent *pComponent) |
This function inserts the input component into the given sequence at the given index, enforcing bottom up creation of mobs. | |
HRESULT | GetComponentAt ([in] aafUInt32 index,[out, retval] IAAFComponent **ppComponent) |
This function retrieves the input component at the given index in the given sequence. | |
HRESULT | RemoveComponentAt ([in] aafUInt32 index) |
This function removes the input component at the given index in the given sequence. | |
HRESULT | CountComponents ([out] aafUInt32 *pResult) |
This function returns the number of components in the sequence. | |
HRESULT | GetComponents ([out, retval] IEnumAAFComponents **ppEnum) |
Places an IEnumAAFComponents enumerator for the components contained in the sequence into the *ppEnum argument. |
This interface provides access to the list of Segment and Transition objects maintained by a Sequence object.
In addition to the specific error results listed for each method, all methods in this interface may also return one of the following values:
AAFRESULT_NOMEMORY
Objects that implement IAAFSequence also implement the following interfaces:
HRESULT IAAFSequence::AppendComponent | ( | [in] IAAFComponent * | pComponent | ) |
This function appends the input component to the given sequence, enforcing bottom up creation of mobs.
The length of the sequence is incremented by the size of the component, unless the component is a transition. If the component is a transition, it verifies that it is not the first object in a transition, and that it is not neighboring another transition. It also verifies that there is enough source material on either side of the transition. The function also verifies that the datadefs are compatible.
This method will AddRef() the component if it succeeds.
If the component is successfully appended to the sequence, the reference count of the component is incremented.
Succeeds if all of the following are true:
If this method fails no state is changed.
This method will return the following codes. If more than one of the listed errors is in effect, it will return the first one encountered in the order given below:
AAFRESULT_SUCCESS
AAFRESULT_NOT_INITIALIZED
AAFRESULT_NULL_PARAM
AAFRESULT_INVALID_DATADEF
AAFRESULT_LEADING_TRAN
AAFRESULT_ADJACENT_TRAN
AAFRESULT_INSUFF_TRAN_MATERIAL
pComponent | [in] Component to append to the sequence |
HRESULT IAAFSequence::CountComponents | ( | [out] aafUInt32 * | pResult | ) |
This function returns the number of components in the sequence.
Succeeds if all of the following are true:
If this method fails no state is changed.
This method will return the following codes. If more than one of the listed errors is in effect, it will return the first one encountered in the order given below:
AAFRESULT_SUCCESS
AAFRESULT_NOT_INITIALIZED
AAFRESULT_NULL_PARAM
pResult | [out] Number of components |
HRESULT IAAFSequence::GetComponentAt | ( | [in] aafUInt32 | index, |
[out, retval] IAAFComponent ** | ppComponent | ||
) |
This function retrieves the input component at the given index in the given sequence.
Succeeds if all of the following are true:
If this method fails nothing will be written to *ppComponent.
This method will return the following codes. If more than one of the listed errors is in effect, it will return the first one encountered in the order given below:
AAFRESULT_SUCCESS
AAFRESULT_NOT_INITIALIZED
AAFRESULT_NULL_PARAM
AAFRESULT_BADINDEX
index | [in] index of component to retrieve |
ppComponent | [out, retval] Retrieved component |
HRESULT IAAFSequence::GetComponents | ( | [out, retval] IEnumAAFComponents ** | ppEnum | ) |
Places an IEnumAAFComponents enumerator for the components contained in the sequence into the *ppEnum argument.
The returned enumerator is AddRef()ed before it is returned.
Succeeds if all of the following are true:
If this method fails nothing will be written to *ppEnum.
This method will return the following codes. If more than one of the listed errors is in effect, it will return the first one encountered in the order given below:
AAFRESULT_SUCCESS
AAFRESULT_NOT_INITIALIZED
AAFRESULT_NULL_PARAM
E_FAIL
ppEnum | [out, retval] Component Enumeration |
HRESULT IAAFSequence::Initialize | ( | [in] IAAFDataDef * | pDataDef | ) |
This function sets the properties on a newly created sequence object with the given property values.
The length of the sequence is initially set to 0. When components are appended to the sequence with the AppendComponent() call, the length of the appended component is added to the length of the sequence. The given DataDef specifies the kind of data which all components to be contained in this sequence must share.
Succeeds if all of the following are true:
If this method fails no state is changed.
This method will return the following codes. If more than one of the listed errors is in effect, it will return the first one encountered in the order given below:
AAFRESULT_SUCCESS
AAFRESULT_NULL_PARAM
AAFRESULT_ALREADY_INITIALIZED
pDataDef | [in] DataDef of this object |
HRESULT IAAFSequence::InsertComponentAt | ( | [in] aafUInt32 | index, |
[in] IAAFComponent * | pComponent | ||
) |
This function inserts the input component into the given sequence at the given index, enforcing bottom up creation of mobs.
The length of the sequence is incremented by the size of the component, unless the component is a transition. If the component is a transition, it verifies that it is not the first object in a transition, and that it is not neighboring another transition. It also verifies that there is enough source material on either side of the transition. The function also verifies that the datadefs are compatible.
This method will AddRef() the component if it succeeds.
If the component is successfully appended to the sequence, the reference count of the component is incremented.
Succeeds if all of the following are true:
If this method fails no state is changed.
This method will return the following codes. If more than one of the listed errors is in effect, it will return the first one encountered in the order given below:
AAFRESULT_SUCCESS
AAFRESULT_NOT_INITIALIZED
AAFRESULT_NULL_PARAM
AAFRESULT_BADINDEX
AAFRESULT_INVALID_DATADEF
AAFRESULT_LEADING_TRAN
AAFRESULT_ADJACENT_TRAN
AAFRESULT_INSUFF_TRAN_MATERIAL
index | [in] index to insert component |
pComponent | [in] Component to insert into the sequence |
HRESULT IAAFSequence::PrependComponent | ( | [in] IAAFComponent * | pComponent | ) |
This function prepends the input component to the given sequence, enforcing bottom up creation of mobs.
The length of the sequence is incremented by the size of the component, unless the component is a transition. If the component is a transition, it verifies that it is not the first object in a transition, and that it is not neighboring another transition. It also verifies that there is enough source material on either side of the transition. The function also verifies that the datadefs are compatible.
This method will AddRef() the component if it succeeds.
If the component is successfully appended to the sequence, the reference count of the component is incremented.
Succeeds if all of the following are true:
If this method fails no state is changed.
This method will return the following codes. If more than one of the listed errors is in effect, it will return the first one encountered in the order given below:
AAFRESULT_SUCCESS
AAFRESULT_NOT_INITIALIZED
AAFRESULT_NULL_PARAM
AAFRESULT_INVALID_DATADEF
AAFRESULT_LEADING_TRAN
AAFRESULT_ADJACENT_TRAN
AAFRESULT_INSUFF_TRAN_MATERIAL
pComponent | [in] Component to prepend to the sequence |
HRESULT IAAFSequence::RemoveComponentAt | ( | [in] aafUInt32 | index | ) |
This function removes the input component at the given index in the given sequence.
Components already existing at indices higher than the given index will be moved to the next lower index to accommodate.
Succeeds if all of the following are true:
If this method fails no state will be changed.
This method will return the following codes. If more than one of the listed errors is in effect, it will return the first one encountered in the order given below:
AAFRESULT_SUCCESS
AAFRESULT_NOT_INITIALIZED
AAFRESULT_BADINDEX
index | [in] index of component to remove |