WIP start stubbing and defining time quantisation and timecode entities
This commit is contained in:
parent
f832e817b8
commit
15214cc069
15 changed files with 546 additions and 65 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -20,4 +20,5 @@ autom4te.cache
|
|||
semantic.cache
|
||||
tests/,*
|
||||
wiki/backups/*
|
||||
doc/devel/uml/fig128309.png
|
||||
m4/*
|
||||
|
|
|
|||
Binary file not shown.
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 18 KiB |
|
|
@ -62,6 +62,7 @@ liblumiera_la_SOURCES = \
|
|||
$(liblumiera_la_srcdir)/time.c \
|
||||
$(liblumiera_la_srcdir)/time/lumitime.cpp \
|
||||
$(liblumiera_la_srcdir)/time/quantiser.cpp \
|
||||
$(liblumiera_la_srcdir)/time/timecode.cpp \
|
||||
$(liblumiera_la_srcdir)/tmpbuf.c \
|
||||
$(liblumiera_la_srcdir)/util.cpp
|
||||
|
||||
|
|
|
|||
124
src/lib/time/formats.hpp
Normal file
124
src/lib/time/formats.hpp
Normal file
|
|
@ -0,0 +1,124 @@
|
|||
/*
|
||||
FORMATS.hpp - formats for displaying and specifying time
|
||||
|
||||
Copyright (C) Lumiera.org
|
||||
2010, Hermann Vosseler <Ichthyostega@web.de>
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
#ifndef LIB_TIME_FORMATS_H
|
||||
#define LIB_TIME_FORMATS_H
|
||||
|
||||
#include "lib/time/timevalue.hpp"
|
||||
|
||||
//#include <boost/operators.hpp>
|
||||
#include <string>
|
||||
|
||||
|
||||
namespace lib {
|
||||
namespace time {
|
||||
|
||||
|
||||
/**
|
||||
* descriptor for a time representation format (ABC).
|
||||
* A time format describes how to specify time; it allows
|
||||
* to format a time value and to parse a textual representation.
|
||||
* @note while Format is an generic descriptor, the actual
|
||||
* TCode (timecode) values are time values, which \em
|
||||
* use a specific format, given as template parameter
|
||||
*
|
||||
* @todo WIP-WIP-WIP
|
||||
*/
|
||||
class Format
|
||||
{
|
||||
|
||||
public:
|
||||
virtual ~Format();
|
||||
};
|
||||
|
||||
namespace format {
|
||||
|
||||
/**
|
||||
* Frame count as timecode format.
|
||||
* An integral number used to count frames
|
||||
* can be used as a simple from of time code.
|
||||
* Indeed the Lumiera backend mostly relies on
|
||||
* these frame counts. As with any timecode, the
|
||||
* underlying framerate/quantisation remains implicit.
|
||||
*/
|
||||
class Frames
|
||||
: public Format
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Widely used standard media timecode format.
|
||||
* A SMPTE timestamp addresses individual frames,
|
||||
* by specifying time as hour-minute-second plus the
|
||||
* frame number within the actual second.
|
||||
*/
|
||||
class Smpte
|
||||
: public Format
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* The informal hours-minutes-seconds-millisecond timecode.
|
||||
* As such, this timecode is quantisation agnostic, but usually
|
||||
* it is used to address some frame or block or otherwise quantised
|
||||
* entity in time. HMS-Timecode is similar to SMPTE, but uses a
|
||||
* floating point milliseconds value instead of the frame count
|
||||
*/
|
||||
class Hms
|
||||
: public Format
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Simple timecode specification as fractional seconds.
|
||||
* Similar to HMS, a specification of seconds is quantisation agnostic,
|
||||
* but usually some implicit quantisation is used anyway, be it on actual
|
||||
* data frames, audio frames, or just on some smaller time interval, e.g.
|
||||
* full milliseconds.
|
||||
* @note Seconds is implemented as rational number and thus uses
|
||||
* decimal format, not the usual sexagesimal time format
|
||||
*/
|
||||
class Seconds
|
||||
: public Format
|
||||
{
|
||||
TimeFract secs_;
|
||||
};
|
||||
|
||||
|
||||
|
||||
/* ==== predefined constants for specifying the format to use ==== */
|
||||
|
||||
static const Seconds SECONDS;
|
||||
static const Frames FRAMES;
|
||||
static const Smpte SMPTE;
|
||||
static const Hms HMS;
|
||||
|
||||
|
||||
}}} // lib::time::format
|
||||
#endif
|
||||
|
|
@ -56,7 +56,7 @@ namespace time {
|
|||
|
||||
/** convenience constructor to build an
|
||||
* internal Lumiera Time value from the usual parts
|
||||
* of an hexagesimal time specification. Arbitrary integral
|
||||
* of an sexagesimal time specification. Arbitrary integral
|
||||
* values are acceptable and will be summed up accordingly.
|
||||
* The minute and hour part can be omitted.
|
||||
* @warning internal Lumiera time values refer to an
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@
|
|||
#define LIB_TIME_QUANTISER_H
|
||||
|
||||
#include "lib/time/timevalue.hpp"
|
||||
#include "lib/time/formats.hpp"
|
||||
|
||||
//#include <boost/operators.hpp>
|
||||
#include <string>
|
||||
|
|
@ -47,5 +48,24 @@ namespace time {
|
|||
|
||||
|
||||
|
||||
/**
|
||||
* Simple stand-alone Quantiser implementation for debugging and test.
|
||||
* This is a self-contained quantiser implementation without any implicit
|
||||
* referral to the Lumiera session. It is mainly intended for simplified unit testing.
|
||||
* @warning real GUI and Proc-Layer code should always prefer to build a real quantiser,
|
||||
* which referres some TimeGrid definition within the session. Basically, the overall
|
||||
* purpose of the time-quantisation framework is to enforce such a link to a specific
|
||||
* time and quantisation scale and to prevent "wild and uncoordinated" rounding attempts.
|
||||
*/
|
||||
class FixedFrameQuantiser
|
||||
: public Quantiser
|
||||
{
|
||||
|
||||
public:
|
||||
FixedFrameQuantiser (TimeFract frames_per_second);
|
||||
};
|
||||
|
||||
|
||||
|
||||
}} // lib::time
|
||||
#endif
|
||||
|
|
|
|||
44
src/lib/time/timecode.cpp
Normal file
44
src/lib/time/timecode.cpp
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
/*
|
||||
Timecode - implementation of fixed grid aligned time specifications
|
||||
|
||||
Copyright (C) Lumiera.org
|
||||
2010, Hermann Vosseler <Ichthyostega@web.de>
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
* *****************************************************/
|
||||
|
||||
|
||||
#include "lib/lumitime.hpp"
|
||||
#include "lib/time/timecode.hpp"
|
||||
#include "lib/time/timequant.hpp"
|
||||
#include "lib/time/formats.hpp"
|
||||
|
||||
using std::string;
|
||||
|
||||
|
||||
namespace lib {
|
||||
namespace time {
|
||||
|
||||
|
||||
Format::~Format() { } // emit VTable here....
|
||||
|
||||
|
||||
/** */
|
||||
|
||||
|
||||
|
||||
}} // lib::time
|
||||
|
||||
|
|
@ -25,6 +25,7 @@
|
|||
#define LIB_TIME_TIMECODE_H
|
||||
|
||||
#include "lib/time/timevalue.hpp"
|
||||
#include "lib/time/formats.hpp"
|
||||
|
||||
//#include <boost/operators.hpp>
|
||||
#include <string>
|
||||
|
|
@ -36,9 +37,11 @@ namespace time {
|
|||
|
||||
/**
|
||||
* fixed format time specification.
|
||||
*
|
||||
* @param FMT the actual timecode format to use
|
||||
* @see time::Format
|
||||
* @todo WIP-WIP-WIP
|
||||
*/
|
||||
template<class FMT>
|
||||
class TCode
|
||||
{
|
||||
|
||||
|
|
@ -46,6 +49,26 @@ namespace time {
|
|||
};
|
||||
|
||||
|
||||
class QuTime;
|
||||
|
||||
/**
|
||||
* A frame counting timecode value.
|
||||
* This is an hard-coded representation of
|
||||
* TCode<format::Frames>, with additional convenience
|
||||
* constructors and conversions, which basically make
|
||||
* FrameNr values interchangeable with integral numbers.
|
||||
*/
|
||||
class FrameNr
|
||||
: public TCode<format::Frames>
|
||||
{
|
||||
|
||||
public:
|
||||
FrameNr (QuTime const& quantisedTime);
|
||||
|
||||
operator long() const;
|
||||
};
|
||||
|
||||
|
||||
|
||||
}} // lib::time
|
||||
#endif
|
||||
|
|
|
|||
58
src/lib/time/timequant.hpp
Normal file
58
src/lib/time/timequant.hpp
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
/*
|
||||
TIMEQUANT.hpp - quantised (grid aligned) time values
|
||||
|
||||
Copyright (C) Lumiera.org
|
||||
2010, Hermann Vosseler <Ichthyostega@web.de>
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
#ifndef LIB_TIME_TIMEQUQNT_H
|
||||
#define LIB_TIME_TIMEQUQNT_H
|
||||
|
||||
#include "lib/time/timevalue.hpp"
|
||||
#include "lib/time/quantiser.hpp"
|
||||
#include "lib/time/timecode.hpp"
|
||||
#include "lib/symbol.hpp"
|
||||
|
||||
//#include <boost/operators.hpp>
|
||||
#include <string>
|
||||
|
||||
|
||||
namespace lib {
|
||||
namespace time {
|
||||
|
||||
using lib::Symbol;
|
||||
|
||||
|
||||
/**
|
||||
* fixed format time specification.
|
||||
*
|
||||
* @todo WIP-WIP-WIP
|
||||
*/
|
||||
class QuTime
|
||||
{
|
||||
|
||||
public:
|
||||
QuTime (TimeValue raw, Symbol gridID);
|
||||
QuTime (TimeValue raw, Quantiser const& quantisation_to_use);
|
||||
};
|
||||
|
||||
|
||||
|
||||
}} // lib::time
|
||||
#endif
|
||||
|
|
@ -113,4 +113,21 @@ namespace meta {
|
|||
return AssetManager::instance().wrap (newGrid);
|
||||
}
|
||||
|
||||
|
||||
/* === TimeGrid shortcut builder functions === */
|
||||
|
||||
PGrid
|
||||
TimeGrid::build (Symbol gridID, TimeFract frames_per_second)
|
||||
{
|
||||
return build (gridID,frames_per_second, Time(0));
|
||||
}
|
||||
|
||||
|
||||
PGrid
|
||||
TimeGrid::build (Symbol gridID, TimeFract frames_per_second, Time origin)
|
||||
{
|
||||
UNIMPLEMENTED ("build a trivial time grid");
|
||||
}
|
||||
|
||||
|
||||
}} // namespace asset::meta
|
||||
|
|
|
|||
|
|
@ -49,12 +49,22 @@
|
|||
|
||||
#include "proc/asset/meta.hpp"
|
||||
#include "lib/time/timevalue.hpp"
|
||||
#include "lib/symbol.hpp"
|
||||
|
||||
|
||||
|
||||
namespace asset {
|
||||
namespace meta {
|
||||
|
||||
using lib::Symbol;
|
||||
using lib::time::Time;
|
||||
using lib::time::TimeValue;
|
||||
using lib::time::TimeFract;
|
||||
|
||||
|
||||
class TimeGrid;
|
||||
typedef lumiera::P<TimeGrid> PGrid;
|
||||
|
||||
|
||||
/**
|
||||
* Interface: a grid and scale for time quantisation.
|
||||
|
|
@ -69,21 +79,18 @@ namespace meta {
|
|||
|
||||
// TODO define the TimeGrid API here
|
||||
|
||||
/* === shortcut builder functions === */
|
||||
static PGrid build (Symbol gridID, TimeFract frames_per_second);
|
||||
static PGrid build (Symbol gridID, TimeFract frames_per_second, Time origin);
|
||||
|
||||
protected:
|
||||
TimeGrid (EntryID<TimeGrid> const&);
|
||||
};
|
||||
|
||||
typedef lumiera::P<TimeGrid> PGrid;
|
||||
|
||||
|
||||
|
||||
|
||||
using lib::time::Time;
|
||||
using lib::time::TimeValue;
|
||||
using lib::time::TimeFract;
|
||||
|
||||
|
||||
template<>
|
||||
struct Builder<TimeGrid>
|
||||
{
|
||||
|
|
|
|||
|
|
@ -23,7 +23,8 @@
|
|||
|
||||
#include "lib/test/run.hpp"
|
||||
#include "lib/test/test-helper.hpp"
|
||||
#include "lib/time/quantiser.hpp"
|
||||
#include "lib/time/timequant.hpp"
|
||||
#include "proc/asset/meta/time-grid.hpp"
|
||||
#include "lib/util.hpp"
|
||||
|
||||
#include <boost/lexical_cast.hpp>
|
||||
|
|
@ -33,6 +34,7 @@
|
|||
|
||||
using boost::lexical_cast;
|
||||
using util::isnil;
|
||||
using util::contains;
|
||||
//using std::rand;
|
||||
using std::cout;
|
||||
using std::endl;
|
||||
|
|
@ -44,6 +46,8 @@ namespace lib {
|
|||
namespace time{
|
||||
namespace test{
|
||||
|
||||
using asset::meta::TimeGrid;
|
||||
|
||||
|
||||
/********************************************************
|
||||
* @test verify handling of quantised time values.
|
||||
|
|
@ -61,14 +65,14 @@ namespace test{
|
|||
TimeValue ref (refval);
|
||||
CHECK (Time(0) < ref);
|
||||
|
||||
checkUsage (ref);
|
||||
checkSimpleUsage (ref);
|
||||
check_theFullStory (ref);
|
||||
checkMultipleGrids (ref);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
checkUsage (TimeValue org)
|
||||
checkSimpleUsage (TimeValue org)
|
||||
{
|
||||
TimeGrid::build("my_simple_grid", 25); // "someone" has defined a time grid
|
||||
|
||||
|
|
@ -88,8 +92,8 @@ namespace test{
|
|||
FixedFrameQuantiser fixQ(25);
|
||||
QuTime qVal (org, fixQ);
|
||||
|
||||
CHECK (contains (qVal.supportedFormats, format::FRAMES));
|
||||
CHECK (contains (qVal.supportedFormats, format::SMPTE));
|
||||
CHECK (contains (qVal.supportedFormats(), format::FRAMES));
|
||||
CHECK (contains (qVal.supportedFormats(), format::SMPTE));
|
||||
|
||||
TCode<format::Smpte> smpteTCode = qVal.formatAs<format::Smpte>();
|
||||
showTimeCode (smpteTCode);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
format 58
|
||||
"CommonLib" // CommonLib
|
||||
revision 22
|
||||
revision 23
|
||||
modified_by 5 "hiv"
|
||||
// class settings
|
||||
//class diagram settings
|
||||
|
|
@ -870,21 +870,21 @@ ${inlines}
|
|||
idl_decl ""
|
||||
explicit_switch_type ""
|
||||
|
||||
classrelation 206341 // <generalisation>
|
||||
relation 195461 ---|>
|
||||
classrelation 210693 // <generalisation>
|
||||
relation 199813 ---|>
|
||||
a public
|
||||
cpp default "${type}"
|
||||
classrelation_ref 206341 // <generalisation>
|
||||
b parent class_ref 168837 // Duration
|
||||
classrelation_ref 210693 // <generalisation>
|
||||
b parent class_ref 134917 // Time
|
||||
end
|
||||
|
||||
classrelation 206469 // start (<unidirectional association>)
|
||||
relation 195589 --->
|
||||
a role_name "start" protected
|
||||
classrelation 210821 // dur_ (<unidirectional association>)
|
||||
relation 199941 --->
|
||||
a role_name "dur_" multiplicity "1" protected
|
||||
cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value};
|
||||
"
|
||||
classrelation_ref 206469 // start (<unidirectional association>)
|
||||
b parent class_ref 134917 // Time
|
||||
classrelation_ref 210821 // dur_ (<unidirectional association>)
|
||||
b parent class_ref 168837 // Duration
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -916,12 +916,12 @@ ${inlines}
|
|||
idl_decl ""
|
||||
explicit_switch_type ""
|
||||
|
||||
classrelation 206213 // <generalisation>
|
||||
relation 195333 ---|>
|
||||
classrelation 210437 // <generalisation>
|
||||
relation 199557 ---|>
|
||||
a public
|
||||
cpp default "${type}"
|
||||
classrelation_ref 206213 // <generalisation>
|
||||
b parent class_ref 168709 // TimeValue
|
||||
classrelation_ref 210437 // <generalisation>
|
||||
b parent class_ref 172165 // Offset
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -1034,6 +1034,14 @@ ${inlines}
|
|||
python_decl ""
|
||||
idl_decl ""
|
||||
end
|
||||
|
||||
classrelation 210949 // <generalisation>
|
||||
relation 200069 ---|>
|
||||
a public
|
||||
cpp default "${type}"
|
||||
classrelation_ref 210949 // <generalisation>
|
||||
b parent class_ref 137093 // Meta
|
||||
end
|
||||
end
|
||||
|
||||
class 170373 "TimeVar"
|
||||
|
|
@ -1183,6 +1191,119 @@ ${inlines}
|
|||
b parent class_ref 169221 // TimeGrid
|
||||
end
|
||||
end
|
||||
|
||||
class 172165 "Offset"
|
||||
visibility package
|
||||
cpp_decl "${comment}${template}class ${name}${inherit}
|
||||
{
|
||||
${members} };
|
||||
${inlines}
|
||||
"
|
||||
java_decl ""
|
||||
php_decl ""
|
||||
python_2_2 python_decl ""
|
||||
idl_decl ""
|
||||
explicit_switch_type ""
|
||||
|
||||
classrelation 210565 // <generalisation>
|
||||
relation 199685 ---|>
|
||||
a public
|
||||
cpp default "${type}"
|
||||
classrelation_ref 210565 // <generalisation>
|
||||
b parent class_ref 168709 // TimeValue
|
||||
end
|
||||
end
|
||||
|
||||
class 172293 "Frames"
|
||||
visibility package
|
||||
cpp_decl "${comment}${template}class ${name}${inherit}
|
||||
{
|
||||
${members} };
|
||||
${inlines}
|
||||
"
|
||||
java_decl ""
|
||||
php_decl ""
|
||||
python_2_2 python_decl ""
|
||||
idl_decl ""
|
||||
explicit_switch_type ""
|
||||
|
||||
classrelation 211077 // <generalisation>
|
||||
relation 200197 ---|>
|
||||
a public
|
||||
cpp default "${type}"
|
||||
classrelation_ref 211077 // <generalisation>
|
||||
b parent class_ref 170757 // Format
|
||||
end
|
||||
end
|
||||
|
||||
class 172421 "Smpte"
|
||||
visibility package
|
||||
cpp_decl "${comment}${template}class ${name}${inherit}
|
||||
{
|
||||
${members} };
|
||||
${inlines}
|
||||
"
|
||||
java_decl ""
|
||||
php_decl ""
|
||||
python_2_2 python_decl ""
|
||||
idl_decl ""
|
||||
explicit_switch_type ""
|
||||
|
||||
classrelation 211205 // <generalisation>
|
||||
relation 200325 ---|>
|
||||
a public
|
||||
cpp default "${type}"
|
||||
classrelation_ref 211205 // <generalisation>
|
||||
b parent class_ref 170757 // Format
|
||||
end
|
||||
end
|
||||
|
||||
class 172549 "Hms"
|
||||
visibility package
|
||||
cpp_decl "${comment}${template}class ${name}${inherit}
|
||||
{
|
||||
${members} };
|
||||
${inlines}
|
||||
"
|
||||
java_decl ""
|
||||
php_decl ""
|
||||
python_2_2 python_decl ""
|
||||
idl_decl ""
|
||||
explicit_switch_type ""
|
||||
|
||||
classrelation 211333 // <generalisation>
|
||||
relation 200453 ---|>
|
||||
a public
|
||||
cpp default "${type}"
|
||||
classrelation_ref 211333 // <generalisation>
|
||||
b parent class_ref 170757 // Format
|
||||
end
|
||||
end
|
||||
|
||||
class 172677 "SmpteTC"
|
||||
visibility package
|
||||
nactuals 1
|
||||
actual class class_ref 170629 // TCode
|
||||
rank 0 explicit_value ""
|
||||
cpp_decl "${comment}${template}class ${name}${inherit}
|
||||
{
|
||||
${members} };
|
||||
${inlines}
|
||||
"
|
||||
java_decl ""
|
||||
php_decl ""
|
||||
python_2_2 python_decl ""
|
||||
idl_decl ""
|
||||
explicit_switch_type ""
|
||||
|
||||
classrelation 211461 // <generalisation>
|
||||
relation 200581 ---|>
|
||||
a public
|
||||
cpp default "${type}"
|
||||
classrelation_ref 211461 // <generalisation>
|
||||
b parent class_ref 170629 // TCode
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
package_ref 131077 // ConfigQuery
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ classcanvas 128005 class_ref 134917 // Time
|
|||
end
|
||||
classcanvas 128133 class_ref 168581 // TimeSpan
|
||||
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default show_stereotype_properties default
|
||||
xyz 38 218 2000
|
||||
xyz 110 267 2000
|
||||
end
|
||||
classcanvas 128261 class_ref 168709 // TimeValue
|
||||
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default show_stereotype_properties default
|
||||
|
|
@ -14,19 +14,19 @@ classcanvas 128261 class_ref 168709 // TimeValue
|
|||
end
|
||||
classcanvas 128389 class_ref 168837 // Duration
|
||||
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default show_stereotype_properties default
|
||||
xyz 42 118 2000
|
||||
xyz 42 182 2000
|
||||
end
|
||||
classcanvas 129669 class_ref 168965 // QuTime
|
||||
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default show_stereotype_properties default
|
||||
xyz 245 324 2000
|
||||
xyz 245 361 2000
|
||||
end
|
||||
classcanvas 130181 class_ref 169093 // Quantiser
|
||||
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default show_stereotype_properties default
|
||||
xyz 393 324 2000
|
||||
xyz 393 361 2000
|
||||
end
|
||||
classcanvas 130565 class_ref 169221 // TimeGrid
|
||||
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default show_stereotype_properties default
|
||||
xyz 508 324 2000
|
||||
xyz 508 361 2000
|
||||
end
|
||||
classcanvas 130949 class_ref 170373 // TimeVar
|
||||
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default show_stereotype_properties default
|
||||
|
|
@ -34,23 +34,49 @@ classcanvas 130949 class_ref 170373 // TimeVar
|
|||
end
|
||||
classcanvas 131589 class_ref 170501 // QuTimeSpan
|
||||
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default show_stereotype_properties default
|
||||
xyz 103 324 2000
|
||||
xyz 103 361 2000
|
||||
end
|
||||
classcanvas 131973 class_ref 170629 // TCode
|
||||
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default show_stereotype_properties default
|
||||
xyz 248 413 2000
|
||||
xyz 248 450 2000
|
||||
end
|
||||
classcanvas 132101 class_ref 170757 // Format
|
||||
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default show_stereotype_properties default
|
||||
xyz 393 397 2000
|
||||
xyz 393 434 2000
|
||||
end
|
||||
classcanvas 132997 class_ref 170885 // FrameNr
|
||||
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default show_stereotype_properties default
|
||||
xyz 238 496 2000
|
||||
xyz 243 545 2000
|
||||
end
|
||||
classcanvas 133253 class_ref 171013 // CompoundGrid
|
||||
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default show_stereotype_properties default
|
||||
xyz 480 439 2000
|
||||
xyz 480 476 2000
|
||||
end
|
||||
classcanvas 133509 class_ref 172165 // Offset
|
||||
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default show_stereotype_properties default
|
||||
xyz 46 118 2000
|
||||
end
|
||||
classcanvas 135045 class_ref 137093 // Meta
|
||||
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default show_stereotype_properties default
|
||||
xyz 514 237 2000
|
||||
end
|
||||
note 135429 "Asset System"
|
||||
xyzwh 504 197 2000 66 47
|
||||
classcanvas 135557 class_ref 172293 // Frames
|
||||
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default show_stereotype_properties default
|
||||
xyz 392 507 1995
|
||||
end
|
||||
classcanvas 135685 class_ref 172421 // Smpte
|
||||
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default show_stereotype_properties default
|
||||
xyz 446 533 2010
|
||||
end
|
||||
classcanvas 136069 class_ref 172549 // Hms
|
||||
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default show_stereotype_properties default
|
||||
xyz 421 523 2005
|
||||
end
|
||||
classcanvas 136325 class_ref 172677 // SmpteTC
|
||||
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default show_stereotype_properties default
|
||||
xyz 308 546 2000
|
||||
end
|
||||
relationcanvas 128517 relation_ref 195205 // <generalisation>
|
||||
geometry VHV unfixed
|
||||
|
|
@ -60,31 +86,16 @@ relationcanvas 128517 relation_ref 195205 // <generalisation>
|
|||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
end
|
||||
relationcanvas 128901 relation_ref 195333 // <generalisation>
|
||||
from ref 128389 z 1999 to ref 128261
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
end
|
||||
relationcanvas 129285 relation_ref 195461 // <generalisation>
|
||||
from ref 128133 z 1999 to ref 128389
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
end
|
||||
relationcanvas 129413 relation_ref 195589 // <unidirectional association>
|
||||
from ref 128133 z 1999 to ref 128005
|
||||
role_a_pos 111 214 3000 no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
end
|
||||
relationcanvas 130437 relation_ref 195973 // <unidirectional association>
|
||||
from ref 129669 z 1999 stereotype "<<refers_to>>" xyz 309 330 3000 to ref 130181
|
||||
from ref 129669 z 1999 stereotype "<<refers_to>>" xyz 309 367 3000 to ref 130181
|
||||
no_role_a no_role_b
|
||||
multiplicity_a_pos 376 349 3000 multiplicity_b_pos 305 349 3000
|
||||
multiplicity_a_pos 376 386 3000 multiplicity_b_pos 305 386 3000
|
||||
end
|
||||
relationcanvas 130693 relation_ref 196101 // <unidirectional association>
|
||||
decenter_end 353
|
||||
from ref 130181 z 1999 stereotype "<<use>>" xyz 457 333 3000 to ref 130565
|
||||
from ref 130181 z 1999 stereotype "<<use>>" xyz 457 370 3000 to ref 130565
|
||||
no_role_a no_role_b
|
||||
multiplicity_a_pos 491 352 3000 no_multiplicity_b
|
||||
multiplicity_a_pos 491 389 3000 no_multiplicity_b
|
||||
end
|
||||
relationcanvas 130821 relation_ref 197253 // <generalisation>
|
||||
from ref 129669 z 1999 to ref 128005
|
||||
|
|
@ -101,34 +112,32 @@ relationcanvas 131077 relation_ref 197381 // <generalisation>
|
|||
end
|
||||
relationcanvas 131461 relation_ref 197509 // <unidirectional association>
|
||||
from ref 130949 z 1999 to ref 128005
|
||||
role_a_pos 175 124 3000 no_role_b
|
||||
multiplicity_a_pos 230 140 3000 multiplicity_b_pos 176 143 3000
|
||||
role_a_pos 225 120 3000 no_role_b
|
||||
multiplicity_a_pos 232 143 3000 multiplicity_b_pos 176 143 3000
|
||||
end
|
||||
relationcanvas 131717 relation_ref 197637 // <generalisation>
|
||||
from ref 131589 z 1999 to point 65 290
|
||||
line 131845 z 1999 to ref 128133
|
||||
from ref 131589 z 1999 to ref 128133
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
end
|
||||
relationcanvas 132485 relation_ref 197893 // <dependency>
|
||||
from ref 131973 z 1999 to point 290 413
|
||||
from ref 131973 z 1999 to point 290 450
|
||||
line 132869 z 1999 to ref 132101
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
end
|
||||
relationcanvas 132613 relation_ref 198021 // <unidirectional association>
|
||||
from ref 129669 z 1999 stereotype "<<yield>>" xyz 275 378 3000 to ref 131973
|
||||
from ref 129669 z 1999 stereotype "<<yield>>" xyz 275 415 3000 to ref 131973
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
end
|
||||
relationcanvas 132741 relation_ref 198149 // <directional aggregation>
|
||||
decenter_end 595
|
||||
from ref 130181 z 1999 stereotype "<<provide>>" xyz 360 377 3000 to ref 132101
|
||||
from ref 130181 z 1999 stereotype "<<provide>>" xyz 360 414 3000 to ref 132101
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
end
|
||||
relationcanvas 133125 relation_ref 198277 // <generalisation>
|
||||
decenter_begin 581
|
||||
from ref 132997 z 1999 to ref 131973
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
|
|
@ -139,4 +148,56 @@ relationcanvas 133381 relation_ref 198405 // <generalisation>
|
|||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
end
|
||||
relationcanvas 133637 relation_ref 199557 // <generalisation>
|
||||
from ref 128389 z 1999 to ref 133509
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
end
|
||||
relationcanvas 133765 relation_ref 199685 // <generalisation>
|
||||
from ref 133509 z 1999 to ref 128261
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
end
|
||||
relationcanvas 134277 relation_ref 199813 // <generalisation>
|
||||
from ref 128133 z 1999 to point 137 248
|
||||
line 134533 z 1999 to point 268 194
|
||||
line 134405 z 1999 to ref 128005
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
end
|
||||
relationcanvas 134661 relation_ref 199941 // <unidirectional association>
|
||||
geometry VHr
|
||||
from ref 128133 z 1999 to point 66 284
|
||||
line 134789 z 1999 to ref 128389
|
||||
role_a_pos 75 269 3000 no_role_b
|
||||
multiplicity_a_pos 52 226 3000 no_multiplicity_b
|
||||
end
|
||||
relationcanvas 135301 relation_ref 200069 // <generalisation>
|
||||
from ref 130565 z 1999 to ref 135045
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
end
|
||||
relationcanvas 135813 relation_ref 200197 // <generalisation>
|
||||
from ref 135557 z 1994 to ref 132101
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
end
|
||||
relationcanvas 135941 relation_ref 200325 // <generalisation>
|
||||
from ref 135685 z 1999 to ref 132101
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
end
|
||||
relationcanvas 136197 relation_ref 200453 // <generalisation>
|
||||
from ref 136069 z 1999 to ref 132101
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
end
|
||||
relationcanvas 136453 relation_ref 200581 // <generalisation>
|
||||
geometry VHV
|
||||
from ref 136325 z 1999 to point 334 522
|
||||
line 136581 z 1999 to point 268 522
|
||||
line 136709 z 1999 to ref 131973
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
format 58
|
||||
"lumiera"
|
||||
revision 66
|
||||
revision 67
|
||||
modified_by 5 "hiv"
|
||||
cpp_root_dir "../../src/"
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue