mobject::session::Clip Class Reference

A user visible/editable Clip is a reference to a contiguous sequence of media data loaded as Asset into the current Session. More...

#include <clip.hpp>

Inheritance diagram for mobject::session::Clip:

Inheritance graph
[legend]
Collaboration diagram for mobject::session::Clip:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 DEFINE_PROCESSABLE_BY (builder::BuilderTool)
PClipAsset findClipAsset () const
 locate the corresponding asset representing this clip or the whole compound in case of a multichannel clip
PMedia getMedia () const
 access the underlying media asset
virtual bool isValid () const
 implementing the common MObject self test.

Protected Member Functions

 Clip (const asset::Clip &, const Media &)
 new clip-MO linked with the given asset::Clip.
virtual void setupLength ()

Protected Attributes

const asset::ClipclipDef_
const Media & mediaDef_
Time start_
 startpos in source

Friends

class MObjectFactory


Detailed Description

As such, it is a virtual (non destructive) cut or edit of the source material and can be placed into the EDL to be rendered into the ouput. The actual media type of a clip will be derived at runtime by resolving this reference to the underlying Asset.

Todo:
define how to denote Time positions /lengths. This is tricky, because it depends on the actual media type, and we want to encapsulate all these details as much as possible.

Definition at line 57 of file clip.hpp.


Constructor & Destructor Documentation

mobject::session::Clip::Clip ( const asset::Clip clipDef,
const Media &  mediaDef 
) [protected]

Initially, this clip will cover the whole source media length.

Definition at line 37 of file clip.cpp.

00038       : start_(0),
00039         mediaDef_(mediaDef),
00040         clipDef_(clipDef)
00041     {
00042       setupLength();
00043     }


Member Function Documentation

bool mobject::session::Clip::isValid (  )  const [virtual]

Length definition is consitent, underlying media def is accessible etc.

Implements mobject::MObject.

Definition at line 51 of file clip.cpp.

00052     {
00053       TODO ("check consistency of clip length def, implies accessing the underlying media def");
00054       return length > 0;
00055     }


Member Data Documentation

const Media& mobject::session::Clip::mediaDef_ [protected]

Todo:
using a mere ref here is against the scheme and only done as temporal solution, until we work out how to handle multichannel clips. It should be a smart pointer of some kind and the unlink() function of the asset should take it into account when breaking circular references.

Definition at line 70 of file clip.hpp.

Referenced by getMedia().


The documentation for this class was generated from the following files:

Generated on Sat Aug 16 18:10:46 2008 for Lumiera by  doxygen 1.5.5