Lumiera
0.pre.03
»edit your freedom«
fork.hpp
Go to the documentation of this file.
1
/*
2
FORK.hpp - A grouping device within the Session.
3
4
Copyright (C) Lumiera.org
5
2008, Hermann Vosseler <Ichthyostega@web.de>
6
7
This program is free software; you can redistribute it and/or
8
modify it under the terms of the GNU General Public License as
9
published by the Free Software Foundation; either version 2 of
10
the License, or (at your option) any later version.
11
12
This program is distributed in the hope that it will be useful,
13
but WITHOUT ANY WARRANTY; without even the implied warranty of
14
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
GNU General Public License for more details.
16
17
You should have received a copy of the GNU General Public License
18
along with this program; if not, write to the Free Software
19
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20
21
*/
22
23
54
#ifndef MOBJECT_SESSION_FORK_H
55
#define MOBJECT_SESSION_FORK_H
56
57
#include "
steam/mobject/session/meta.hpp
"
58
#include "
lib/idi/entry-id.hpp
"
59
#include "
lib/time/timevalue.hpp
"
60
61
62
63
namespace
steam
{
64
namespace
mobject {
65
namespace
session
{
66
67
using
lib::time::Time
;
68
69
class
Fork;
70
71
using
ForkID =
lib::idi::EntryID<Fork>
;
72
73
74
75
78
103
class
Fork
:
public
Meta
104
{
105
Time
start_;
106
ForkID
id_;
107
108
109
string
110
initShortID()
const
111
{
112
return
buildShortID(
"Fork"
);
113
}
114
115
bool
isValid
()
const
;
116
117
protected
:
118
Fork
(
ForkID
const
&);
119
friend
class
MObjectFactory
;
120
121
public
:
123
// vector<Placement<Track>> subTracks; ///////////TODO: it should really work with PlacementRefs! this here is just a decoy!!!!!!!
125
126
bool
isSameID
(
string
const
&);
127
128
};
129
130
131
inline
bool
132
Fork::isSameID
(
string
const
& refID)
133
{
134
return
refID == id_.getSym();
135
}
136
137
138
}
// namespace mobject::session
139
141
template
class
Placement<session::Fork, session::Meta>
;
142
typedef
Placement<session::Fork, session::Meta>
PFork
;
143
144
}}
// namespace steam::mobject
145
#endif
/*MOBJECT_SESSION_FORK_H*/
steam::mobject::Placement
A refcounting Handle to an MObject of type MO, used to constrain or explicitly specify the location w...
Definition:
trait.hpp:91
steam::mobject::session::MObjectFactory
Definition:
mobjectfactory.hpp:69
steam::mobject::session::Fork::isSameID
bool isSameID(string const &)
Child tracks in a tree structure.
Definition:
fork.hpp:132
steam::mobject::session::Fork::Fork
Fork(ForkID const &)
create a new fork-MObject based on the given unique ID.
Definition:
fork.cpp:45
lib::idi::EntryID< Fork >
steam
Steam-Layer implementation namespace root.
Definition:
dummy-player-facade.h:46
steam::mobject::session
Namespace of Session and user visible high-level objects.
Definition:
sequence.hpp:74
lib::time::Time
Lumiera's internal time value datatype.
Definition:
timevalue.hpp:308
meta.hpp
Intermediate Asset interface: metadata and processing instructions.
steam::mobject::session::Meta
Meta-MObject doesn't represent real Media Content, but rather all sorts of Processing Instructions an...
Definition:
mobject/session/meta.hpp:49
steam::mobject::session::Fork
A Fork serves as grouping device within the Session.
Definition:
fork.hpp:103
steam::mobject::session::Fork::isValid
bool isValid() const
MObject self-test (usable for asserting)
Definition:
fork.cpp:54
entry-id.hpp
Bare symbolic and hash ID used for accounting of asset like entries.
timevalue.hpp
a family of time value like entities and their relationships.
steam
mobject
session
fork.hpp
Generated on Sat Apr 20 2024 02:03:39 for Lumiera by
1.8.13