#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.