Lumiera  0.pre.03
»edit your freedom«
mobject.cpp
Go to the documentation of this file.
1 /*
2  MObject - Key Abstraction: A Media Object in the Session
3 
4  Copyright (C)
5  2008, Hermann Vosseler <Ichthyostega@web.de>
6 
7   **Lumiera** is free software; you can redistribute it and/or modify it
8   under the terms of the GNU General Public License as published by the
9   Free Software Foundation; either version 2 of the License, or (at your
10   option) any later version. See the file COPYING for further details.
11 
12 * *****************************************************************/
13 
14 
22 #include "lib/time/timevalue.hpp"
23 #include "lib/util.hpp"
24 
25 using lib::time::Time;
26 using util::isnil;
27 
28 namespace steam {
29 namespace mobject {
30 
31 
32 
36 
37 
38  MObject::MObject()
39  : length_(Time::ZERO)
40  , shortID_()
41  { }
42 
43 
44  MObject::~MObject() { };
45 
46 
47 
48  string const&
50  {
51  if (isnil (shortID_))
52  shortID_ = initShortID();
53  return shortID_;
54  }
55 
56 
57 
58 }} // namespace mobject
Core abstraction of the Session model: a media object.
Steam-Layer implementation namespace root.
Lumiera&#39;s internal time value datatype.
Definition: timevalue.hpp:299
string const & shortID() const
a short readable ID as a single name-token, denoting both the kind of MObject and some sort of instan...
Definition: mobject.cpp:49
Tiny helper functions and shortcuts to be used everywhere Consider this header to be effectively incl...
Core factory to generate media objects for use in the Session model.
static session::MObjectFactory create
Storage for the (single, static) MObject factory object.
Definition: mobject.hpp:89
a family of time value like entities and their relationships.