#include <metadata.h>
Inheritance diagram for Track:

Public Types | |
| enum | TrackType { TypeUndetermined = -1, TypeUnknown = 0, TypeTimecode, TypeDM, TypePicture, TypeSound, TypeData, TypeAux, TypePText } |
| Type of a track. More... | |
Public Member Functions | |
| Track (std::string BaseType) | |
| Track (MDOTypePtr BaseType) | |
| Track (const UL &BaseUL) | |
| Track (ULPtr &BaseUL) | |
| SourceClipPtr | AddSourceClip (Int64 Duration=-1) |
| Add a SourceClip to a track. | |
| TimecodeComponentPtr | AddTimecodeComponent (Int64 Start=0, Int64 Duration=-1) |
| Add a Timecode Component to a track, taking the FPS and Dropframe settings from the track. | |
| TimecodeComponentPtr | AddTimecodeComponent (UInt16 FPS, bool DropFrame, Int64 Start=0, Int64 Duration=-1) |
| Add a Timecode Component to a track. | |
| DMSegmentPtr | AddDMSegment (Int64 EventStart=-1, Int64 Duration=-1) |
| Add a DMSegment to a track. | |
| DMSourceClipPtr | AddDMSourceClip (Int64 Duration=-1) |
| Add a DMSourceClip to a track. | |
| Int64 | UpdateDuration (void) |
| Update the duration field in the sequence for this track based on component durations. | |
| PackageParent | GetParent (void) |
| Get the package containing this track. | |
| void | SetParent (PackagePtr &NewParent) |
| Set the package containing this track. | |
| void | SetParent (IRefCount< Package > *NewParent) |
| Set the track containing this component. | |
| TrackType | GetType (void) |
| Determine the type of this track. | |
| bool | IsEssenceTrack (void) |
| Determine if this is an essence track. | |
| bool | IsTimecodeTrack (void) |
| Determine if this is a timecode track. | |
| bool | IsDMTrack (void) |
| Determine if this is a descriptive metadata track. | |
Static Public Member Functions | |
| static TrackPtr | GetTrack (MDObjectPtr Object) |
| Return the containing "Track" object for this MDObject. | |
| static TrackPtr | Parse (MDObjectPtr BaseObject) |
| Parse an existing MDObject into a Track object. | |
| static void | AddTrackType (TrackType Type, const UInt8 *Label, int CompareLength=16) |
| Add a new track type definition label. | |
Public Attributes | |
| ComponentList | Components |
| Each component on this track. | |
Protected Types | |
| typedef std::list< TrackTypeListItem > | TrackTypeList |
| List of track type definitions. | |
Protected Member Functions | |
| Track (MDObjectPtr BaseObject) | |
| Protected constructor used to create from an existing MDObject. | |
Static Protected Member Functions | |
| static void | InitTrackTypes (void) |
| Initialise the TrackTypes list with known track types. | |
Protected Attributes | |
| PackageParent | Parent |
| Package containing this track. | |
| TrackType | ThisTrackType |
| The type of this track. | |
Static Protected Attributes | |
| static TrackTypeList | TrackTypes |
| List of known track type definitions. | |
| static bool | TrackTypesInited |
| Set true once TrackTypeList has been initialized. | |
Classes | |
| struct | TrackTypeListItem |
| Structure for a single item in the track type list (for comparing data definitions). More... | |
typedef std::list<TrackTypeListItem> TrackTypeList [protected] |
List of track type definitions.
| enum TrackType |
Type of a track.
| TypeUndetermined | Not yet checked. |
| TypeUnknown | Not a known type. |
| TypeTimecode | Timecode track (of any type). |
| TypeDM | Descriptive Metadata track. |
| TypePicture | Picture track. |
| TypeSound | Sound track. |
| TypeData | Data track. |
| TypeAux | Auxiliary track. |
| TypePText | Parsed Text track. |
| Track | ( | MDObjectPtr | BaseObject | ) | [inline, protected] |
Protected constructor used to create from an existing MDObject.
| Track | ( | std::string | BaseType | ) | [inline] |
| Track | ( | MDOTypePtr | BaseType | ) | [inline] |
| SourceClipPtr AddSourceClip | ( | Int64 | Duration = -1 |
) |
Add a SourceClip to a track.
| Duration | The duration of this SourceClip, -1 or omitted for unknown |
| TimecodeComponentPtr AddTimecodeComponent | ( | Int64 | Start = 0, |
|
| Int64 | Duration = -1 | |||
| ) | [inline] |
Add a Timecode Component to a track, taking the FPS and Dropframe settings from the track.
| TimecodeComponentPtr AddTimecodeComponent | ( | UInt16 | FPS, | |
| bool | DropFrame, | |||
| Int64 | Start = 0, |
|||
| Int64 | Duration = -1 | |||
| ) |
Add a Timecode Component to a track.
| FPS | The rounded integer timebase of the track in frames per second | |
| DropFrame | = true if dropframe is to be use with this timecode | |
| Start | The starting timecode converted to an integer frame count since 00:00:00:00 | |
| Duration | The duration of this SourceClip, -1 or omitted for unknown |
Set the framerate
Set the initial timecode
| DMSegmentPtr AddDMSegment | ( | Int64 | EventStart = -1, |
|
| Int64 | Duration = -1 | |||
| ) |
Add a DMSegment to a track.
| EventStart | The start position of this Segemnt, -1 or omitted for static or timeline | |
| Duration | The duration of this SourceClip, -1 or omitted for static |
| DMSourceClipPtr AddDMSourceClip | ( | Int64 | Duration = -1 |
) |
Add a DMSourceClip to a track.
| Int64 UpdateDuration | ( | void | ) |
Update the duration field in the sequence for this track based on component durations.
| PackageParent GetParent | ( | void | ) | [inline] |
Get the package containing this track.
| void SetParent | ( | PackagePtr & | NewParent | ) | [inline] |
Set the package containing this track.
Set the track containing this component.
| Track::TrackType GetType | ( | void | ) |
Determine the type of this track.
| bool IsEssenceTrack | ( | void | ) | [inline] |
Determine if this is an essence track.
< Picture track
< Sound track
< Data track
| bool IsTimecodeTrack | ( | void | ) | [inline] |
Determine if this is a timecode track.
| bool IsDMTrack | ( | void | ) | [inline] |
Determine if this is a descriptive metadata track.
| TrackPtr GetTrack | ( | MDObjectPtr | Object | ) | [static] |
| TrackPtr Parse | ( | MDObjectPtr | BaseObject | ) | [static] |
Add a new track type definition label.
| Type | The type of track that this new definition identifies | |
| Label | The label to compare with the data definition | |
| CompareLength | The number of bytes to compare in the label, this allows generic labels |
| void InitTrackTypes | ( | void | ) | [static, protected] |
Initialise the TrackTypes list with known track types.
Each component on this track.
PackageParent Parent [protected] |
Package containing this track.
TrackType ThisTrackType [protected] |
The type of this track.
Track::TrackTypeList TrackTypes [static, protected] |
List of known track type definitions.
bool TrackTypesInited [static, protected] |
Set true once TrackTypeList has been initialized.
1.5.1-p1