Lumiera 0.pre.04~rc.1
»edit your freedom«
Loading...
Searching...
No Matches
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 PMedia = lib::P< Media >
 
using PClipAsset = lib::P< steam::asset::Clip >
 
using PProcPatt = lib::P< steam::asset::ProcPatt >
 
using PClip = mobject::Placement< mobject::session::Clip >
 

Static Public Attributes

static MediaFactory create
 storage for the static MediaFactory instance
 

Public Member Functions

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

Friends

class MediaFactory
 
class steam::asset::Clip
 

Protected Member Functions

 Media (const Asset::Ident &idi, const string &file, Duration length)
 
virtual PClipAsset getClipAsset ()
 get or create the correct asset::Clip corresponding to this media
 
virtual PMedia checkCompound () const
 predicate to decide if this asset::Media is part of a compound (multichannel) media.
 
- 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.
 
virtual ~Asset ()=0
 
virtual void unlink ()
 release all links to other Asset objects held internally.
 
virtual void unlink (IDA target)
 variant of unlink() dropping only the links to the given specific Asset, leaving all other links intact.
 
void defineDependency (PAsset parent)
 establish a connection between this and the given parent asset, denoting we are in some way dependent on the parent.
 
void defineDependency (Asset &parent)
 

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
const ID< Assetid
 Asset primary key.
 
set< string > groups
 additional classification, selections or departments this asset belongs to.
 
const string shortDesc
 user visible Name-ID.
 
const string longDesc
 user visible qualification of the thing, unit or concept represented by this asset.
 
vector< PAssetparents
 
vector< PAssetdependants
 
bool enabled
 

Constructor & Destructor Documentation

◆ Media()

Media ( const Asset::Ident idi,
const string &  file,
Duration  length 
)
inlineprotected

Definition at line 104 of file media.hpp.

Member Typedef Documentation

◆ PMedia

using PMedia = lib::P<Media>

Definition at line 69 of file media.hpp.

◆ PClipAsset

Definition at line 70 of file media.hpp.

◆ PProcPatt

Definition at line 71 of file media.hpp.

◆ PClip

Definition at line 72 of file media.hpp.

Member Function Documentation

◆ getFilename()

const string & getFilename ( ) const
inline

Definition at line 76 of file media.hpp.

References Media::filename_.

Referenced by Unknown::getOrg().

+ Here is the caller graph for this function:

◆ 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 Asset::getID().

Referenced by MediaFactory::operator()().

+ 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::len_.

Referenced by Clip::setupLength().

+ Here is the caller graph for this function:

◆ 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(), and Asset::parents.

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:

Member Data Documentation

◆ filename_

string filename_
private

Definition at line 65 of file media.hpp.

Referenced by Media::getFilename().

◆ len_

const Duration len_
private

Definition at line 66 of file media.hpp.

Referenced by Media::getLength().

◆ create

Friends And Related Symbol Documentation

◆ MediaFactory

friend class MediaFactory
friend

Definition at line 106 of file media.hpp.

◆ steam::asset::Clip

friend class steam::asset::Clip
friend

Definition at line 117 of file media.hpp.

+ Inheritance diagram for Media:
+ Collaboration diagram for Media:

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