Package Class Reference

Holds data relating to a package. More...

#include <metadata.h>

Inheritance diagram for Package:

ObjectInterface RefCount IRefCount List of all members.

Public Member Functions

 Package (std::string BaseType)
 Package (MDOTypePtr BaseType)
 Package (const UL &BaseUL)
 Package (ULPtr &BaseUL)
TrackPtr AddTrack (ULPtr DataDef, UInt32 TrackNumber, Rational EditRate, std::string TrackName="", UInt32 TrackID=0)
 Add a timeline track to the package.
TrackPtr AddTrack (ULPtr DataDef, UInt32 TrackNumber, Rational EditRate, Length DefaultDuration, std::string TrackName="", UInt32 TrackID=0)
 Add an event track to the package.
TrackPtr AddTrack (ULPtr DataDef, UInt32 TrackNumber, std::string TrackName="", UInt32 TrackID=0)
 Add a static track to the package.
TrackPtr AddPictureTrack (Rational EditRate, std::string TrackName="Picture Track", UInt32 TrackID=0)
TrackPtr AddPictureTrack (UInt32 TrackNumber, Rational EditRate, std::string TrackName="Picture Track", UInt32 TrackID=0)
TrackPtr AddSoundTrack (Rational EditRate, std::string TrackName="Sound Track", UInt32 TrackID=0)
TrackPtr AddSoundTrack (UInt32 TrackNumber, Rational EditRate, std::string TrackName="Sound Track", UInt32 TrackID=0)
TrackPtr AddDataTrack (Rational EditRate, std::string TrackName="Data Track", UInt32 TrackID=0)
TrackPtr AddDataTrack (UInt32 TrackNumber, Rational EditRate, std::string TrackName="Data Track", UInt32 TrackID=0)
TrackPtr AddTimecodeTrack (Rational EditRate, std::string TrackName="Timecode Track", UInt32 TrackID=0)
TrackPtr AddTimecodeTrack (UInt32 TrackNumber, Rational EditRate, std::string TrackName="Timecode Track", UInt32 TrackID=0)
TrackPtr AddDMTrack (Rational EditRate, Length DefaultDuration, std::string TrackName="Descriptive Track", UInt32 TrackID=0)
 Add an EVENT DM Track.
TrackPtr AddDMTrack (UInt32 TrackNumber, Rational EditRate, Length DefaultDuration, std::string TrackName="Descriptive Track", UInt32 TrackID=0)
TrackPtr AddDMTrack (Rational EditRate, std::string TrackName="Descriptive Track", UInt32 TrackID=0)
 Add a TIMELINE DM Track.
TrackPtr AddDMTrack (UInt32 TrackNumber, Rational EditRate, std::string TrackName="Descriptive Track", UInt32 TrackID=0)
TrackPtr AddDMTrack (std::string TrackName="Descriptive Track", UInt32 TrackID=0)
 Add a STATIC DM Track.
TrackPtr AddDMTrack (UInt32 TrackNumber, std::string TrackName="Descriptive Track", UInt32 TrackID=0)
void RemoveTrack (TrackPtr &Track)
 Remove a track from this package.
void UpdateDurations (void)
 Update the duration field in each sequence in each track for this package.

Static Public Member Functions

static PackagePtr GetPackage (MDObjectPtr Object)
 Return the containing "Package" object for this MDObject.
static PackagePtr Parse (MDObjectPtr BaseObject)
 Parse an existing MDObject into a Package object.

Public Attributes

TrackList Tracks
 Each track in this package.

Protected Member Functions

 Package (MDObjectPtr BaseObject)
 Protected constructor used to create from an existing MDObject.

Protected Attributes

UInt32 LastTrackID
 Last auto-allocated track ID.

Private Member Functions

 Package ()

Detailed Description

Holds data relating to a package.

FIXME: There is currently no way to remove a track from a package


Constructor & Destructor Documentation

Package ( MDObjectPtr  BaseObject  )  [inline, protected]

Protected constructor used to create from an existing MDObject.

Package (  )  [private]

Package ( std::string  BaseType  )  [inline]

Package ( MDOTypePtr  BaseType  )  [inline]

Package ( const UL BaseUL  )  [inline]

Package ( ULPtr BaseUL  )  [inline]


Member Function Documentation

TrackPtr AddTrack ( ULPtr  DataDef,
UInt32  TrackNumber,
Rational  EditRate,
std::string  TrackName = "",
UInt32  TrackID = 0 
)

Add a timeline track to the package.

Note:
If the TrackID is set manually it is the responsibility of the caller to prevent clashes

TrackPtr AddTrack ( ULPtr  DataDef,
UInt32  TrackNumber,
Rational  EditRate,
Length  DefaultDuration,
std::string  TrackName = "",
UInt32  TrackID = 0 
)

Add an event track to the package.

Note:
If the TrackID is set manually it is the responsibility of the caller to prevent clashes

TrackPtr AddTrack ( ULPtr  DataDef,
UInt32  TrackNumber,
std::string  TrackName = "",
UInt32  TrackID = 0 
)

Add a static track to the package.

Note:
If the TrackID is set manually it is the responsibility of the caller to prevent clashes

TrackPtr AddPictureTrack ( Rational  EditRate,
std::string  TrackName = "Picture Track",
UInt32  TrackID = 0 
) [inline]

TrackPtr AddPictureTrack ( UInt32  TrackNumber,
Rational  EditRate,
std::string  TrackName = "Picture Track",
UInt32  TrackID = 0 
) [inline]

TrackPtr AddSoundTrack ( Rational  EditRate,
std::string  TrackName = "Sound Track",
UInt32  TrackID = 0 
) [inline]

TrackPtr AddSoundTrack ( UInt32  TrackNumber,
Rational  EditRate,
std::string  TrackName = "Sound Track",
UInt32  TrackID = 0 
) [inline]

TrackPtr AddDataTrack ( Rational  EditRate,
std::string  TrackName = "Data Track",
UInt32  TrackID = 0 
) [inline]

TrackPtr AddDataTrack ( UInt32  TrackNumber,
Rational  EditRate,
std::string  TrackName = "Data Track",
UInt32  TrackID = 0 
) [inline]

TrackPtr AddTimecodeTrack ( Rational  EditRate,
std::string  TrackName = "Timecode Track",
UInt32  TrackID = 0 
) [inline]

TrackPtr AddTimecodeTrack ( UInt32  TrackNumber,
Rational  EditRate,
std::string  TrackName = "Timecode Track",
UInt32  TrackID = 0 
) [inline]

TrackPtr AddDMTrack ( Rational  EditRate,
Length  DefaultDuration,
std::string  TrackName = "Descriptive Track",
UInt32  TrackID = 0 
) [inline]

Add an EVENT DM Track.

TrackPtr AddDMTrack ( UInt32  TrackNumber,
Rational  EditRate,
Length  DefaultDuration,
std::string  TrackName = "Descriptive Track",
UInt32  TrackID = 0 
) [inline]

TrackPtr AddDMTrack ( Rational  EditRate,
std::string  TrackName = "Descriptive Track",
UInt32  TrackID = 0 
) [inline]

Add a TIMELINE DM Track.

TrackPtr AddDMTrack ( UInt32  TrackNumber,
Rational  EditRate,
std::string  TrackName = "Descriptive Track",
UInt32  TrackID = 0 
) [inline]

TrackPtr AddDMTrack ( std::string  TrackName = "Descriptive Track",
UInt32  TrackID = 0 
) [inline]

Add a STATIC DM Track.

TrackPtr AddDMTrack ( UInt32  TrackNumber,
std::string  TrackName = "Descriptive Track",
UInt32  TrackID = 0 
) [inline]

void RemoveTrack ( TrackPtr Track  ) 

Remove a track from this package.

void UpdateDurations ( void   ) 

Update the duration field in each sequence in each track for this package.

PackagePtr GetPackage ( MDObjectPtr  Object  )  [static]

Return the containing "Package" object for this MDObject.

Returns:
NULL if MDObject is not contained in a Package object

PackagePtr Parse ( MDObjectPtr  BaseObject  )  [static]

Parse an existing MDObject into a Package object.


Member Data Documentation

TrackList Tracks

Each track in this package.

UInt32 LastTrackID [protected]

Last auto-allocated track ID.


The documentation for this class was generated from the following files:
Generated on Mon Apr 2 15:21:01 2007 for MXFLib by  doxygen 1.5.1-p1