format 40 "MObject" // ProcessingLayer::MObject revision 21 modified_by 5 "hiv" // class settings //class diagram settings draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default 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 //use case diagram settings package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default //sequence diagram settings show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default //collaboration diagram settings show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default //object diagram settings write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default //component diagram settings package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default draw_component_as_icon default show_component_req_prov default show_component_rea default //deployment diagram settings package_name_in_tab default show_context default write_horizontally default auto_label_position default draw_all_relations default shadow default draw_component_as_icon default show_component_req_prov default show_component_rea default //state diagram settings package_name_in_tab default show_context default auto_label_position default write_trans_label_horizontally default show_trans_definition default draw_all_relations default shadow default show_activities default region_horizontally default drawing_language default //activity diagram settings package_name_in_tab default show_context default show_opaque_action_definition default auto_label_position default write_flow_label_horizontally default draw_all_relations default shadow default show_infonote default drawing_language default classview 128005 "Session" //class diagram settings draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default 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 //collaboration diagram settings show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default //object diagram settings write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default //sequence diagram settings show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default //state diagram settings package_name_in_tab default show_context default auto_label_position default write_trans_label_horizontally default show_trans_definition default draw_all_relations default shadow default show_activities default region_horizontally default drawing_language default //class settings //activity diagram settings package_name_in_tab default show_context default show_opaque_action_definition default auto_label_position default write_flow_label_horizontally default draw_all_relations default shadow default show_infonote default drawing_language default classdiagram 128133 "Session structure" draw_all_relations no hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default 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 size A4 end class 139653 "Session" abstract visibility public cpp_decl "${comment}${template}class ${name}${inherit} { ${members} }; ${inlines} " java_decl "" idl_decl "" explicit_switch_type "" comment "Primary Interface for all editing tasks. The session contains defaults, all the assets being edited, and a set of EDL with the individual MObjects to be manipulated and rendered." operation 133509 "currEDL" public return_type class_ref 128133 // EDL nparams 0 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};" cpp_def "${comment}${inline}${type} ${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl} { ${body} } " comment "The EDL currently in focus. In most cases, Session and EDL are almost the same, just EDL emphasizes the collection aspect. But generally (for larger editing projects) one Session can contain several EDLs, which may even be nested. At any given time, only one of these EDLs has focus and recieves the editing commands." end operation 133637 "getFixture" public explicit_return_type "Fixture&" nparams 0 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};" cpp_def "${comment}${inline}${type} ${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl} { ${body} } " comment "While the session can be comprised of several EDLs, there is only one Fixture, which represents the actual configuration of all Objects to be rendered" end end class 128005 "SessionImpl" visibility package cpp_decl "${comment}${template}class ${name}${inherit} { ${members} }; ${inlines} " java_decl "" idl_decl "" explicit_switch_type "" comment "Implementation class for the Session interface" classrelation 128005 // edls () relation 128005 *--> a role_name "edls" multiplicity "1..*" protected cpp default " ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value}; " classrelation_ref 128005 // edls () b multiplicity "" parent class_ref 128133 // EDL end classrelation 128261 // fixture () relation 128133 ---> a role_name "fixture" multiplicity "1" protected cpp default " ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value}; " classrelation_ref 128261 // fixture () b multiplicity "" parent class_ref 128261 // Fixture end classrelation 144645 // relation 142725 -_-|> stereotype "PImpl" a public cpp default "${type}" classrelation_ref 144645 // b multiplicity "" parent class_ref 139653 // Session end end class 128133 "EDL" visibility package cpp_decl "${comment}${template}class ${name}${inherit} { ${members} }; ${inlines} " java_decl "" idl_decl "" explicit_switch_type "" classrelation 128645 // tracks () relation 128389 *--> stereotype "list" a role_name "tracks" multiplicity "*" protected cpp default " ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value}; " classrelation_ref 128645 // tracks () b multiplicity "" parent class_ref 128389 // Track end classrelation 128901 // clips () relation 128517 o--> stereotype "list" a role_name "clips" multiplicity "*" protected cpp default " ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type} *> ${name}${value}; " classrelation_ref 128901 // clips () b multiplicity "" parent class_ref 128517 // MObject end end class 128261 "Fixture" visibility package cpp_decl "${comment}${template}class ${name}${inherit} { ${members} }; ${inlines} " java_decl "" idl_decl "" explicit_switch_type "" classrelation 128517 // relation 128261 ---|> a public cpp default "${type}" classrelation_ref 128517 // b multiplicity "" parent class_ref 128133 // EDL end classrelation 129541 // tracks () relation 129029 *--> stereotype "list" a role_name "tracks" multiplicity "1..*" protected cpp default " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value}; " classrelation_ref 129541 // tracks () b multiplicity "" parent class_ref 128389 // Track end classrelation 131717 // timeline () relation 131077 *--> stereotype "list" a role_name "timeline" multiplicity "*" protected cpp default " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value}; " classrelation_ref 131717 // timeline () b multiplicity "" parent class_ref 129797 // ExplicitPlacement end operation 128645 "getPlaylistForRender" public explicit_return_type "list" nparams 0 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};" cpp_def "${comment}${inline}${type} ${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl} { ${body} } " end operation 129157 "getAutomation" public explicit_return_type "Auto [ProcessingLayer::MObject]*" nparams 0 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};" cpp_def "${comment}${inline}${type} ${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl} { ${body} } " end end class 135173 "Segment" visibility package cpp_decl "${comment}${template}class ${name}${inherit} { ${members} }; ${inlines} " java_decl "" idl_decl "" explicit_switch_type "" attribute 129925 "start" protected type class_ref 134917 // Time cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value}; " java_decl "" idl_decl "" end attribute 130053 "length" protected type class_ref 134917 // Time cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value}; " java_decl "" idl_decl "" comment "duration (span) of this timeline segment." end classrelation 138885 // elements () relation 137093 o--> stereotype "list" a role_name "elements" multiplicity "*" protected comment "relevant MObjects comprising this segment. TODO: actually necessary??" cpp default " ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type} *> ${name}${value}; " classrelation_ref 138885 // elements () b multiplicity "" parent class_ref 129797 // ExplicitPlacement end end class 128389 "Track" visibility package cpp_decl "${comment}${template}class ${name}${inherit} { ${members} }; ${inlines} " java_decl "" idl_decl "" explicit_switch_type "" end class 128517 "MObject" abstract visibility public stereotype "interface" cpp_decl "${comment}${template}class ${name}${inherit} { ${members} }; ${inlines} " java_decl "${comment}${@}${visibility}interface ${name}${extends} { ${members}} " idl_decl "${comment}${abstract}${local}interface ${name}${inherit} { ${members}}; " explicit_switch_type "" attribute 128517 "length" protected type class_ref 134917 // Time cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value}; " java_decl "" idl_decl "" comment "TODO: how to represent time intervals?" end classrelation 129029 // placement () relation 128645 ---- stereotype "list" a role_name "placement" multiplicity "1..*" protected cpp default " ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type} *> ${name}${value}; " classrelation_ref 129029 // placement () b role_name "subject" multiplicity "1" protected cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; " classrelation_ref 129157 // subject () end classrelation 137093 // relation 135557 ---|> a public cpp default "${type}" classrelation_ref 137093 // b multiplicity "" parent class_ref 134021 // Buildable end end class 128645 "Placement" abstract visibility public stereotype "interface" cpp_decl "${comment}${template}class ${name}${inherit} { ${members} }; ${inlines} " java_decl "${comment}${@}${visibility}interface ${name}${extends} { ${members}} " idl_decl "${comment}${abstract}${local}interface ${name}${inherit} { ${members}}; " explicit_switch_type "" classrelation 129157 // subject () relation_ref 128645 // end operation 128005 "resolve" public explicit_return_type "ExplicitPlacement [ProcessingLayer::MObject]&" nparams 0 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};" cpp_def "${comment}${inline}${type} ${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl} { ${body} } " comment "create an actual (explicit) placement while trying to satisfy the network of adjacent objects and placements." end end class 129797 "ExplicitPlacement" abstract visibility public stereotype "interface" cpp_decl "${comment}${template}class ${name}${inherit} { ${members} }; ${inlines} " java_decl "${comment}${@}${visibility}interface ${name}${extends} { ${members}} " idl_decl "${comment}${abstract}${local}interface ${name}${inherit} { ${members}}; " explicit_switch_type "" classrelation 131589 // relation 130949 ---|> a public cpp default "${type}" classrelation_ref 131589 // b multiplicity "" parent class_ref 128645 // Placement end attribute 128261 "time" protected type class_ref 134917 // Time cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value}; " java_decl "" idl_decl "" end attribute 128389 "track" protected explicit_type "Track [ProcessingLayer::MObject] *" cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value}; " java_decl "" idl_decl "" end classrelation 131845 // relation 131205 ---> a role_name "" multiplicity "" protected cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; " classrelation_ref 131845 // b multiplicity "" parent class_ref 128389 // Track association_type class_ref 128389 // Track end end class 128773 "AbstractMO" abstract visibility package cpp_decl "${comment}${template}class ${name}${inherit} { ${members} }; ${inlines} " java_decl "" idl_decl "" explicit_switch_type "" classrelation 129925 // relation 129285 ---|> a public cpp default "${type}" classrelation_ref 129925 // b multiplicity "" parent class_ref 128517 // MObject end end class 128901 "Clip" visibility package cpp_decl "${comment}${template}class ${name}${inherit} { ${members} }; ${inlines} " java_decl "" idl_decl "" explicit_switch_type "" classrelation 130053 // relation 129413 ---|> a public cpp default "${type}" classrelation_ref 130053 // b multiplicity "" parent class_ref 128773 // AbstractMO end attribute 128645 "start" protected type class_ref 134917 // Time init_value "Time(0)" cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value}; " java_decl "" idl_decl "" comment "startpos in source" end classrelation 142469 // source () relation 140677 ---> a role_name "source" multiplicity "1" protected comment "the media source this clip referes to" cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; " classrelation_ref 142469 // source () b multiplicity "*" parent class_ref 136709 // Media end end class 138885 "SimpleClip" visibility package cpp_decl "${comment}${template}class ${name}${inherit} { ${members} }; ${inlines} " java_decl "" idl_decl "" explicit_switch_type "" comment "Elementary clip consisting of only one media stream" classrelation 143365 // relation 141445 ---|> a public cpp default "${type}" classrelation_ref 143365 // b multiplicity "" parent class_ref 128901 // Clip end end class 138629 "CompoundClip" visibility package cpp_decl "${comment}${template}class ${name}${inherit} { ${members} }; ${inlines} " java_decl "" idl_decl "" explicit_switch_type "" associated_diagram classdiagram_ref 128133 // Session structure comment "Clip MObject which is actually a compound of several elementary clips, e.g. the several streams found within multichannels media." classrelation 142597 // relation 140805 ---|> a public cpp default "${type}" classrelation_ref 142597 // b multiplicity "" parent class_ref 128901 // Clip end classrelation 143493 // components () relation 141573 o--> a role_name "components" multiplicity "1..*" protected cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; " classrelation_ref 143493 // components () b multiplicity "*" parent class_ref 128901 // Clip end end class 129029 "Effect" visibility package cpp_decl "${comment}${template}class ${name}${inherit} { ${members} }; ${inlines} " java_decl "" idl_decl "" explicit_switch_type "" classrelation 130181 // relation 129541 ---|> a public cpp default "${type}" classrelation_ref 130181 // b multiplicity "" parent class_ref 128773 // AbstractMO end attribute 128901 "plugID" protected explicit_type "string" cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value}; " java_decl "" idl_decl "" comment "Identifier of the Plugin to be used" end end class 129157 "Meta" visibility package cpp_decl "${comment}${template}class ${name}${inherit} { ${members} }; ${inlines} " java_decl "" idl_decl "" explicit_switch_type "" classrelation 130309 // relation 129669 ---|> a public cpp default "${type}" classrelation_ref 130309 // b multiplicity "" parent class_ref 128773 // AbstractMO end end class 129285 "DirectPlacement" visibility package cpp_decl "${comment}${template}class ${name}${inherit} { ${members} }; ${inlines} " java_decl "" idl_decl "" explicit_switch_type "" classrelation 130437 // relation 129797 ---|> a public cpp default "${type}" classrelation_ref 130437 // b multiplicity "" parent class_ref 128645 // Placement end classrelation 131461 // relation 130821 -_-|> a public cpp default "${type}" classrelation_ref 131461 // b multiplicity "" parent class_ref 129797 // ExplicitPlacement end end class 129413 "RelativePlacement" visibility package cpp_decl "${comment}${template}class ${name}${inherit} { ${members} }; ${inlines} " java_decl "" idl_decl "" explicit_switch_type "" classrelation 130565 // anchor () relation 129925 ---> a role_name "anchor" multiplicity "1" protected cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; " classrelation_ref 130565 // anchor () b multiplicity "1" parent class_ref 128517 // MObject association_type class_ref 128517 // MObject end attribute 128133 "relType" protected type class_ref 133893 // RelType cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value}; " java_decl "" idl_decl "" comment "the kind of relation denoted by this Placement" end classrelation 131333 // relation 130693 ---|> a public cpp default "${type}" classrelation_ref 131333 // b multiplicity "" parent class_ref 128645 // Placement end attribute 129029 "offset" protected type class_ref 134917 // Time init_value "0" cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value}; " java_decl "" idl_decl "" comment "Offset the actual position by this (time) value relative to the anchor point. TODO: Representation?" end class 133893 "RelType" visibility public stereotype "enum" cpp_decl "${comment}enum ${name} { ${items} }; " java_decl "${comment}${@}${visibility}${final}${abstract}enum ${name}${implements} { ${items}; ${members}} " idl_decl "${comment}enum ${name} { ${items}}; " explicit_switch_type "" comment "the possible kinds of RelativePlacements" attribute 129157 "SAMETIME" public explicit_type "" cpp_decl " ${name}${value}, ${comment}" java_decl "" idl_decl "" comment "place subject at the sime time as the anchor" end attribute 129285 "ATTACH" public explicit_type "" cpp_decl " ${name}${value}, ${comment}" java_decl "" idl_decl "" comment "attach subject to anchor (e.g. an effect to a clip)" end end end class 129541 "Allocation" abstract visibility package cpp_decl "${comment}${template}class ${name}${inherit} { ${members} }; ${inlines} " java_decl "" idl_decl "" explicit_switch_type "" comment "a directive to place a MObject in a specific way" classrelation 131205 // relation 130565 ---|> a public cpp default "${type}" classrelation_ref 131205 // b multiplicity "" parent class_ref 128645 // Placement end attribute 128773 "repr" protected explicit_type "string" cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value}; " java_decl "" idl_decl "" get_oper operation_ref 131205 // get_repr comment "human readable representation of the condition characterizing this allocaton, e.g. \"t >= 10\"" end operation 131205 "get_repr" const cpp_inline public explicit_return_type "string" nparams 0 cpp_decl " ${comment}${friend}${static}${inline}${virtual}const ${type} ${name} ${(}${)}${const}${volatile} ${throw};" cpp_def "${comment}${inline}const ${type} ${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl} { return repr; } " cpp_name_spec "get${Name}" final java_name_spec "get${Name}" idl_name_spec "get_${name}" get_of_attribute attribute_ref 128773 // repr end end class 129669 "Label" visibility package cpp_decl "${comment}${template}class ${name}${inherit} { ${members} }; ${inlines} " java_decl "" idl_decl "" explicit_switch_type "" classrelation 130949 // relation 130309 ---|> a public cpp default "${type}" classrelation_ref 130949 // b multiplicity "" parent class_ref 129157 // Meta end end class 129925 "Auto" visibility package nformals 1 formal name "VAL" type "class" explicit_default_value "" explicit_extends "" nactuals 1 actual class class_ref 134661 // ParamProvider rank 0 explicit_value "VAL" cpp_decl "${comment}${template}class ${name}${inherit} { ${members} }; ${inlines} " java_decl "" idl_decl "" explicit_switch_type "" comment "Automation data for some parameter (i.e. a time varying function)" classrelation 131973 // relation 131333 ---|> a public cpp default "${type}" classrelation_ref 131973 // b multiplicity "" parent class_ref 129157 // Meta end classrelation 138501 // relation 136837 -_-|> a public cpp default "${type}" classrelation_ref 138501 // b multiplicity "" parent class_ref 134661 // ParamProvider end operation 131077 "getValue" const public explicit_return_type "VAL" nparams 0 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};" cpp_def "${comment}${inline}${type} ${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl} { ${body} } " end end class 130053 "Wish" visibility package cpp_decl "${comment}${template}class ${name}${inherit} { ${members} }; ${inlines} " java_decl "" idl_decl "" explicit_switch_type "" classrelation 132101 // relation 131461 ---|> a public cpp default "${type}" classrelation_ref 132101 // b multiplicity "" parent class_ref 129541 // Allocation end end class 130181 "Constraint" visibility package cpp_decl "${comment}${template}class ${name}${inherit} { ${members} }; ${inlines} " java_decl "" idl_decl "" explicit_switch_type "" classrelation 132357 // relation 131717 ---|> a public cpp default "${type}" classrelation_ref 132357 // b multiplicity "" parent class_ref 129541 // Allocation end end class 134533 "Parameter" visibility public nformals 1 formal name "VAL" type "class" explicit_default_value "" explicit_extends "" cpp_decl "${comment}${template}class ${name}${inherit} { ${members} }; ${inlines} " java_decl "" idl_decl "" explicit_switch_type "" comment "Descriptor and access object for a plugin parameter. Parameters may be provided with values from the session, and this values may be automated." operation 130821 "getValue" const public explicit_return_type "VAL" nparams 0 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};" cpp_def "${comment}${inline}${type} ${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl} { ${body} } " end classrelation 138245 // relation 136581 -_-> stereotype "implemented_by" a package cpp default "#include in source" classrelation_ref 138245 // b multiplicity "" parent class_ref 134661 // ParamProvider end classrelation 138629 // relation_ref 136325 // end end class 134661 "ParamProvider" abstract visibility public stereotype "interface" nformals 1 formal name "VAL" type "class" explicit_default_value "" explicit_extends "" cpp_decl "${comment}${template}class ${name}${inherit} { ${members} }; ${inlines} " java_decl "${comment}${@}${visibility}interface ${name}${extends} { ${members}} " idl_decl "${comment}${abstract}${local}interface ${name}${inherit} { ${members}}; " explicit_switch_type "" comment "A facility to get the actual value of a plugin/effect parameter" classrelation 137989 // param () relation 136325 ---- a role_name "param" multiplicity "1" protected cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; " classrelation_ref 137989 // param () b role_name "provider" multiplicity "1" protected cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; " classrelation_ref 138629 // end classrelation 138373 // ipo () relation 136709 ---> a role_name "ipo" multiplicity "0..1" protected cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; " classrelation_ref 138373 // ipo () b multiplicity "" parent class_ref 134789 // Interpolator end operation 130949 "getValue" const public explicit_return_type "VAL" nparams 0 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};" cpp_def "${comment}${inline}${type} ${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl} { ${body} } " end end class 134789 "Interpolator" visibility package nformals 1 formal name "VAL" type "class" explicit_default_value "" explicit_extends "" cpp_decl "${comment}${template}class ${name}${inherit} { ${members} }; ${inlines} " java_decl "" idl_decl "" explicit_switch_type "" comment "Provides the implementation for getting the acutal value of a time varying or automated effect/plugin parameter" end end package_ref 128901 // Builder package_ref 129029 // Controller end