Lumiera  0.pre.03
»edit your freedom«
Media Class Reference

#include "steam/asset/media.hpp"

Description

key abstraction: media-like assets

Definition at line 63 of file media.hpp.

Public Types

using PClip = mobject::Placement< mobject::session::Clip >
 
using PClipAsset = lib::P< steam::asset::Clip >
 
using PMedia = lib::P< Media >
 
using PProcPatt = lib::P< steam::asset::ProcPatt >
 

Public Member Functions

PClip createClip ()
 Service Access Point for creating a Clip entity usable within the Session from a given Media or Clip Asset. More...
 
const string & getFilename () const
 
virtual const ID< Media > & getID () const
 < More...
 
virtual Duration getLength () const
 
PProcPatt howtoProc () const
 Service Access Point for getting a processing template describing how to build the render nodes network necessary for this Media or Clip. More...
 
- Public Member Functions inherited from Asset
bool enable (bool on=true)
 change the enabled status of this asset. More...
 
const vector< PAsset > & getDependant () const
 All the other assets requiring this asset to be functional. More...
 
const vector< PAsset > & getParents () const
 List of entities this asset depends on or requires to be functional. More...
 
bool isActive () const
 weather this asset is switched on and consequently included in the fixture and participates in rendering More...
 
virtual operator string () const
 
bool operator< (Asset const &oa) const
 
bool operator== (Asset const &oa) const
 

Static Public Attributes

static MediaFactory create
 storage for the static MediaFactory instance
 

Friends

class MediaFactory
 
class steam::asset::Clip
 

Protected Member Functions

 Media (const Asset::Ident &idi, const string &file, Duration length)
 
virtual PMedia checkCompound () const
 predicate to decide if this asset::Media is part of a compound (multichannel) media. More...
 
virtual PClipAsset getClipAsset ()
 get or create the correct asset::Clip corresponding to this media More...
 
- Protected Member Functions inherited from Asset
 Asset (const Ident &idi)
 Asset is a Interface class; usually, objects of concrete subclasses are created via specialised Factories. More...
 
virtual ~Asset ()=0
 
void defineDependency (PAsset parent)
 establish a connection between this and the given parent asset, denoting we are in some way dependent on the parent. More...
 
void defineDependency (Asset &parent)
 
virtual void unlink ()
 release all links to other Asset objects held internally. More...
 
virtual void unlink (IDA target)
 variant of unlink() dropping only the links to the given specific Asset, leaving all other links intact. More...
 

Private Attributes

string filename_
 
const Duration len_
 

Additional Inherited Members

- Public Attributes inherited from Asset
const Ident ident
 Asset identification tuple.
 
- Protected Attributes inherited from Asset
vector< PAssetdependants
 
bool enabled
 
set< string > groups
 additional classification, selections or departments this asset belongs to. More...
 
const ID< Assetid
 Asset primary key.
 
const string longDesc
 user visible qualification of the thing, unit or concept represented by this asset. More...
 
vector< PAssetparents
 
const string shortDesc
 user visible Name-ID. More...
 

Member Function Documentation

◆ getID()

virtual const ID<Media>& getID ( ) const
inlinevirtual

<

Returns
ID of kind Media

Reimplemented from Asset.

Definition at line 78 of file media.hpp.

References Media::getID(), and Asset::id.

Referenced by Media::getID().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ howtoProc()

Media::PProcPatt howtoProc ( ) const

Service Access Point for getting a processing template describing how to build the render nodes network necessary for this Media or Clip.

This includes Codecs and postprocessing (stretching, deinterlacing...)

Definition at line 111 of file media.cpp.

◆ createClip()

Media::PClip createClip ( )

Service Access Point for creating a Clip entity usable within the Session from a given Media or Clip Asset.

As a sideeffect, a corresponding asset::Clip is created as well if necessary. It is OK to use and throw away the returned Clip-MO, because it can be regenerated from the corresponding asset::Clip

Returns
a Placement smart ptr owning the new Clip MObject

Definition at line 75 of file media.cpp.

References Media::getClipAsset().

+ Here is the call graph for this function:

◆ getLength()

Duration getLength ( ) const
virtual
Returns
the overall length of the media represented by this asset

Definition at line 122 of file media.cpp.

References Media::create.

◆ getClipAsset()

Media::PClipAsset getClipAsset ( )
protectedvirtual

get or create the correct asset::Clip corresponding to this media

used to either create an asset::Clip denoting the whole media, or to get the right reference to some already existing asset::Clip, especially when this media is part of a compound (multichannel) media.

Reimplemented in Clip.

Definition at line 90 of file media.cpp.

References Media::checkCompound(), and Media::create.

Referenced by Media::createClip().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ checkCompound()

Media::PMedia checkCompound ( ) const
protectedvirtual

predicate to decide if this asset::Media is part of a compound (multichannel) media.

Returns
pointer to parent, or null

Reimplemented in Clip.

Definition at line 100 of file media.cpp.

References Asset::getParents().

Referenced by Clip::checkCompound(), Media::getClipAsset(), and MediaFactory::operator()().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:
+ Inheritance diagram for Media:
+ Collaboration diagram for Media:

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