diff --git a/doc/devel/uml/fig128133.png b/doc/devel/uml/fig128133.png index a88ba5dbb..0673472ba 100644 Binary files a/doc/devel/uml/fig128133.png and b/doc/devel/uml/fig128133.png differ diff --git a/doc/devel/uml/fig130309.png b/doc/devel/uml/fig130309.png index cdace7325..d63c8432b 100644 Binary files a/doc/devel/uml/fig130309.png and b/doc/devel/uml/fig130309.png differ diff --git a/doc/devel/uml/fig130437.png b/doc/devel/uml/fig130437.png index e774171fb..e12e4b48b 100644 Binary files a/doc/devel/uml/fig130437.png and b/doc/devel/uml/fig130437.png differ diff --git a/doc/devel/uml/fig136453.png b/doc/devel/uml/fig136453.png index 2768139df..18aa68bab 100644 Binary files a/doc/devel/uml/fig136453.png and b/doc/devel/uml/fig136453.png differ diff --git a/doc/devel/uml/fig138885.png b/doc/devel/uml/fig138885.png index 866c236b6..b2ccfa690 100644 Binary files a/doc/devel/uml/fig138885.png and b/doc/devel/uml/fig138885.png differ diff --git a/doc/devel/uml/fig141573.png b/doc/devel/uml/fig141573.png index 986ef241d..dcae5e9c3 100644 Binary files a/doc/devel/uml/fig141573.png and b/doc/devel/uml/fig141573.png differ diff --git a/uml/lumiera/128133 b/uml/lumiera/128133 index dabde62a0..b913b7406 100644 --- a/uml/lumiera/128133 +++ b/uml/lumiera/128133 @@ -1,6 +1,6 @@ format 58 "Asset" // ProcessingLayer::Asset - revision 21 + revision 22 modified_by 5 "hiv" // class settings //class diagram settings @@ -741,6 +741,14 @@ ${inlines} classrelation_ref 195717 // b parent class_ref 136965 // Struct end + + classrelation 204549 // + relation 193669 -_-> + a default + cpp default "#include in source" + classrelation_ref 204549 // + b parent class_ref 128389 // Track + end end class 160901 "Timeline" diff --git a/uml/lumiera/128133.diagram b/uml/lumiera/128133.diagram index ff767ee0a..5a96c6b4c 100644 --- a/uml/lumiera/128133.diagram +++ b/uml/lumiera/128133.diagram @@ -112,6 +112,8 @@ classcanvas 148613 class_ref 152453 // PlacementRef 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 685 342 2005 end +textcanvas 151301 "note: this is a simplified / conceptual view" + xyzwh 217 657 2000 191 13 relationcanvas 128389 relation_ref 128005 // from ref 128005 z 1999 to ref 128133 role_a_pos 171 615 3000 no_role_b @@ -122,13 +124,6 @@ relationcanvas 128517 relation_ref 128133 // role_a_pos 237 811 3000 no_role_b multiplicity_a_pos 211 811 3000 no_multiplicity_b end -relationcanvas 128645 relation_ref 128261 // - geometry VHr - from ref 128261 z 1999 to point 253 859 - line 128901 z 1999 to ref 128133 - no_role_a no_role_b - no_multiplicity_a no_multiplicity_b -end relationcanvas 130821 relation_ref 128517 // geometry VH from ref 128133 z 1999 stereotype "<>" xyz 257 587 3000 to point 253 95 @@ -168,7 +163,7 @@ relationcanvas 134533 relation_ref 130309 // end relationcanvas 135941 relation_ref 131077 // from ref 128261 z 1999 stereotype "<>" xyz 578 844 3000 to ref 135813 - role_a_pos 642 844 3000 no_role_b + role_a_pos 641 843 3000 no_role_b multiplicity_a_pos 714 866 3000 no_multiplicity_b end relationcanvas 136709 relation_ref 131333 // @@ -240,7 +235,7 @@ relationcanvas 144517 relation_ref 143877 // from ref 141317 z 1999 to point 499 150 line 144645 z 1999 to point 499 180 line 144773 z 1999 to ref 141317 - role_a_pos 498 156 3000 no_role_b + role_a_pos 504 161 3000 no_role_b no_multiplicity_a no_multiplicity_b end relationcanvas 144901 relation_ref 144901 // @@ -263,7 +258,7 @@ relationcanvas 146565 relation_ref 145669 // end relationcanvas 146693 relation_ref 145797 // from ref 146437 z 1999 to ref 146053 - role_a_pos 408 527 3000 no_role_b + role_a_pos 400 525 3000 no_role_b no_multiplicity_a no_multiplicity_b end relationcanvas 147077 relation_ref 155653 // @@ -307,9 +302,9 @@ relationcanvas 150149 relation_ref 184581 // no_multiplicity_a no_multiplicity_b end relationcanvas 150277 relation_ref 184709 // - from ref 128005 z 1999 to point 137 602 + from ref 128005 z 1999 to point 137 608 line 150405 z 1999 to ref 146949 - role_a_pos 171 567 3000 no_role_b + role_a_pos 172 567 3000 no_role_b no_multiplicity_a no_multiplicity_b end relationcanvas 151045 relation_ref 142853 // diff --git a/uml/lumiera/128389 b/uml/lumiera/128389 index 33a85e013..5adcd4c3e 100644 --- a/uml/lumiera/128389 +++ b/uml/lumiera/128389 @@ -1,6 +1,6 @@ format 58 "RenderEngine" // ProcessingLayer::RenderEngine - revision 19 + revision 20 modified_by 5 "hiv" // class settings //class diagram settings @@ -311,28 +311,6 @@ ${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl} end end - class 131845 "Trafo" - 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 132997 // - relation 132229 ---|> - a public - cpp default "${type}" - classrelation_ref 132997 // - b parent class_ref 131717 // ProcNode - end - end - class 131973 "Link" visibility package cpp_decl "${comment}${template}class ${name}${inherit} @@ -369,13 +347,6 @@ ${inlines} explicit_switch_type "" comment "Special video processing node used to scale and translate image data." - classrelation 133509 // - relation 132741 ---|> - a public - cpp default "${type}" - classrelation_ref 133509 // - b parent class_ref 131845 // Trafo - end end class 132357 "Mask" @@ -391,13 +362,6 @@ ${inlines} idl_decl "" explicit_switch_type "" - classrelation 133637 // - relation 132869 ---|> - a public - cpp default "${type}" - classrelation_ref 133637 // - b parent class_ref 131845 // Trafo - end end class 132485 "PluginAdapter" @@ -414,56 +378,6 @@ ${inlines} explicit_switch_type "" comment "Adapter used to integrage an effects processor in the render pipeline" - classrelation 133765 // - relation 132997 ---|> - a public - cpp default "${type}" - classrelation_ref 133765 // - b parent class_ref 131845 // Trafo - end - end - - class 135045 "CodecAdapter" - 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 138757 // - relation 136965 ---|> - a public - cpp default "${type}" - classrelation_ref 138757 // - b parent class_ref 131845 // Trafo - end - end - - class 133253 "Frame" - abstract visibility public stereotype "interface" - cpp_decl "${comment}${template}class ${name}${inherit} - { -${members} }; -${inlines} -" - java_decl "${comment}${@}${visibility}interface ${name}${extends} { -${members}} -" - php_decl "" - python_2_2 python_decl "" - idl_decl "${comment}${abstract}${local}interface ${name}${inherit} { -${members}}; -" - explicit_switch_type "" - - comment "TODO: how to relate to Cehteh's Frame entity in the Backend? -The latter is the fundamental Frame entity, wheras this Object rather represents a buffer set containing frame date" end class 133381 "AFrame" @@ -479,13 +393,6 @@ ${inlines} idl_decl "" explicit_switch_type "" - classrelation 135045 // - relation 133893 ---|> - a public - cpp default "${type}" - classrelation_ref 135045 // - b parent class_ref 133253 // Frame - end end class 133509 "VFrame" @@ -501,13 +408,6 @@ ${inlines} idl_decl "" explicit_switch_type "" - classrelation 135173 // - relation 134021 ---|> - a public - cpp default "${type}" - classrelation_ref 135173 // - b parent class_ref 133253 // Frame - end end class 133637 "GLBuf" @@ -523,13 +423,6 @@ ${inlines} idl_decl "" explicit_switch_type "" - classrelation 135301 // - relation 134149 ---|> - a public - cpp default "${type}" - classrelation_ref 135301 // - b parent class_ref 133253 // Frame - end end class 133765 "Source" @@ -632,14 +525,6 @@ ${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl} b parent class_ref 142469 // StateProxy end - classrelation 152837 // - relation 149381 ---> - a role_name "" protected - cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; -" - classrelation_ref 152837 // - b parent class_ref 133253 // Frame - end end class 142725 "WiringDescriptor" diff --git a/uml/lumiera/128517 b/uml/lumiera/128517 index d87549fd1..1adaeed67 100644 --- a/uml/lumiera/128517 +++ b/uml/lumiera/128517 @@ -1,6 +1,6 @@ format 58 "CommonLib" // CommonLib - revision 19 + revision 20 modified_by 5 "hiv" // class settings //class diagram settings diff --git a/uml/lumiera/128901 b/uml/lumiera/128901 index aff57d5cd..5a7cdb03b 100644 --- a/uml/lumiera/128901 +++ b/uml/lumiera/128901 @@ -1,6 +1,6 @@ format 58 "Builder" // ProcessingLayer::MObject::Builder - revision 19 + revision 20 modified_by 5 "hiv" // class settings //class diagram settings @@ -331,16 +331,6 @@ ${members}}; " explicit_switch_type "" - classrelation 135941 // currFrame () - relation 134533 ---> - stereotype "vector" - a role_name "currFrame" protected - cpp default " ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value}; -" - classrelation_ref 135941 // currFrame () - b multiplicity "1" parent class_ref 133253 // Frame - end - operation 135813 "fetch" public explicit_return_type "" nparams 0 diff --git a/uml/lumiera/129669 b/uml/lumiera/129669 index fb08fd56f..3cefd79bd 100644 --- a/uml/lumiera/129669 +++ b/uml/lumiera/129669 @@ -1,30 +1,30 @@ -format 40 +format 58 "proc" // design::codegen::proc - revision 8 + revision 9 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 + 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 //use case diagram settings - package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default + package_name_in_tab default show_context default auto_label_position default draw_all_relations default class_drawing_mode default shadow default show_stereotype_properties 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 + show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default show_stereotype_properties 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 + 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 show_stereotype_properties 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 + write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default show_stereotype_properties 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 + draw_component_as_icon default show_component_req_prov default show_component_rea default show_stereotype_properties 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 + draw_component_as_icon default show_component_req_prov default show_component_rea default show_stereotype_properties 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 + show_activities default region_horizontally default drawing_language default show_stereotype_properties 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 + show_infonote default drawing_language default show_stereotype_properties default stereotype "src" cpp_h_dir "proc" @@ -36,7 +36,7 @@ All classes belonging to the (middle) processing layer" deploymentview 128517 "gen" //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 + draw_component_as_icon default show_component_req_prov default show_component_rea default show_stereotype_properties default comment "defines source files to be generated by BOUML" artifact 136197 "assetmanager" stereotype "source" @@ -228,7 +228,6 @@ ${namespace_start} ${members} ${namespace_end}" associated_classes - class_ref 133253 // Frame end comment "Key Abstraction: render process and buffer holding frame data." end diff --git a/uml/lumiera/130309 b/uml/lumiera/130309 index 90b1618b3..c6a3925b4 100644 --- a/uml/lumiera/130309 +++ b/uml/lumiera/130309 @@ -1,30 +1,30 @@ -format 40 +format 58 "engine" // design::codegen::proc::engine - revision 10 + revision 11 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 + 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 //use case diagram settings - package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default + package_name_in_tab default show_context default auto_label_position default draw_all_relations default class_drawing_mode default shadow default show_stereotype_properties 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 + show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default show_stereotype_properties 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 + 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 show_stereotype_properties 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 + write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default show_stereotype_properties 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 + draw_component_as_icon default show_component_req_prov default show_component_rea default show_stereotype_properties 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 + draw_component_as_icon default show_component_req_prov default show_component_rea default show_stereotype_properties 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 + show_activities default region_horizontally default drawing_language default show_stereotype_properties 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 + show_infonote default drawing_language default show_stereotype_properties default stereotype "src" cpp_h_dir "proc/engine" @@ -36,7 +36,7 @@ The Core Render Engine" deploymentview 129285 "gen" //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 + draw_component_as_icon default show_component_req_prov default show_component_rea default show_stereotype_properties default comment "defines source files to be generated by BOUML" artifact 131973 "renderengine" stereotype "source" @@ -228,7 +228,6 @@ ${namespace_start} ${members} ${namespace_end}" associated_classes - class_ref 131845 // Trafo end comment "transforming processing Node " end @@ -461,7 +460,6 @@ ${namespace_start} ${members} ${namespace_end}" associated_classes - class_ref 135045 // CodecAdapter end comment "Processing Node for (de)coding media data" end diff --git a/uml/lumiera/130437.diagram b/uml/lumiera/130437.diagram index a3ef53d96..a7d3982ff 100644 --- a/uml/lumiera/130437.diagram +++ b/uml/lumiera/130437.diagram @@ -32,18 +32,6 @@ classcanvas 130821 class_ref 133765 // Source 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 371 407 2000 end -classcanvas 131077 class_ref 135045 // CodecAdapter - 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 309 472 2000 -end -classcanvas 131205 class_ref 131845 // Trafo - 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 309 407 2000 -end -classcanvas 134661 class_ref 133253 // Frame - 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 193 472 2000 -end packagecanvas 135685 package_ref 128261 // MObject xyzwh 24 10 1994 187 356 @@ -52,8 +40,8 @@ packagecanvas 135813 package_ref 128133 // Asset xyzwh 447 9 1994 391 570 end -note 136837 "the Builder implements each Clip by a source node and maybe some codec" - xyzwh 59 390 2000 209 46 +note 136837 "the Builder implements each Clip by a chain of nodes, finally leading to a source node" + xyzwh 59 382 2000 227 46 classcanvas 137221 class_ref 138501 // CompoundMedia 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 594 147 3005 @@ -106,14 +94,6 @@ relationcanvas 129669 relation_ref 129285 // no_role_a no_role_b no_multiplicity_a no_multiplicity_b end -relationcanvas 132357 relation_ref 132229 // - geometry VHV - from ref 131205 z 1999 to point 329 381 - line 132485 z 1999 to point 301 381 - line 132613 z 1999 to ref 130309 - no_role_a no_role_b - no_multiplicity_a no_multiplicity_b -end relationcanvas 132741 relation_ref 135429 // from ref 130309 z 1999 to point 235 278 line 132869 z 1999 to point 235 314 @@ -121,11 +101,6 @@ relationcanvas 132741 relation_ref 135429 // role_a_pos 220 299 3000 no_role_b no_multiplicity_a multiplicity_b_pos 248 306 3000 end -relationcanvas 133125 relation_ref 136965 // - from ref 131077 z 1999 to ref 131205 - no_role_a no_role_b - no_multiplicity_a no_multiplicity_b -end relationcanvas 133893 relation_ref 134661 // geometry VHV from ref 130821 z 1999 to point 392 381 diff --git a/uml/lumiera/132229 b/uml/lumiera/132229 index 66dea5ed2..eebdd4e5b 100644 --- a/uml/lumiera/132229 +++ b/uml/lumiera/132229 @@ -1,6 +1,6 @@ format 58 "Session" // ProcessingLayer::MObject::Session - revision 3 + revision 4 modified_by 5 "hiv" // class settings //class diagram settings @@ -143,17 +143,6 @@ ${inlines} b parent class_ref 139653 // Session end - classrelation 147717 // pipes () - relation 145541 o--> - stereotype "vector" - a role_name "pipes" multiplicity "*" protected - comment "the global ports (busses) of the session" - cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; -" - classrelation_ref 147717 // pipes () - b parent class_ref 138117 // Pipe - end - classrelation 195205 // timelines () relation 184709 *--> a role_name "timelines" protected @@ -162,6 +151,15 @@ ${inlines} classrelation_ref 195205 // timelines () b parent class_ref 145541 // Timeline end + + classrelation 204677 // + relation 193797 ---> + a role_name "" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 204677 // + b parent class_ref 152069 // PlacementIndex + end end class 139781 "SessManager" @@ -321,6 +319,14 @@ ${inlines} classrelation_ref 195077 // b parent class_ref 128133 // Seq end + + classrelation 204421 // + relation 193541 -_-> + a default + cpp default "#include in source" + classrelation_ref 204421 // + b parent class_ref 152325 // Binding + end end class 145797 "TimelineView" @@ -413,14 +419,6 @@ ${inlines} idl_decl "" explicit_switch_type "" - classrelation 128517 // - relation 128261 ---|> - a public - cpp default "${type}" - classrelation_ref 128517 // - b parent class_ref 128133 // Seq - end - classrelation 131717 // effectiveTimeline () relation 131077 *--> stereotype "list" @@ -607,18 +605,6 @@ ${inlines} b parent class_ref 129157 // Meta end - classrelation 147205 // subTracks () - relation 145029 *--> - stereotype "vector" - a role_name "subTracks" multiplicity "*" public - comment "Child tracks in a tree structure" - cpp default " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value}; -" - classrelation_ref 147205 // subTracks () - b parent class_ref 128389 // Track - association_type class_ref 128645 // Placement - end - classrelation 161413 // relation 156805 -_-|> a public @@ -641,6 +627,46 @@ ${inlines} idl_decl "" explicit_switch_type "" + classrelation 204293 // + relation 193413 ---> + a role_name "" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 204293 // + b parent class_ref 152197 // Sequence + end + + classrelation 204805 // + relation 193925 o--> + a role_name "" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 204805 // + b parent class_ref 167429 // BusMO + end + end + + class 167429 "BusMO" + 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 204933 // + relation 194053 ---> + a role_name "" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 204933 // + b parent class_ref 138117 // Pipe + end end class 128517 "MObject" @@ -821,15 +847,6 @@ ${members}}; idl_decl "" end - classrelation 131845 // - relation 131205 ---> - a role_name "" protected - cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; -" - classrelation_ref 131845 // - b parent class_ref 128389 // Track - association_type class_ref 128389 // Track - end end class 128773 "AbstractMO" @@ -1623,7 +1640,7 @@ ${inlines} 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 show_stereotype_properties default classdiagram 136453 "Session backbone" - 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 + draw_all_relations no 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 size A4 end diff --git a/uml/lumiera/136453.diagram b/uml/lumiera/136453.diagram index a1452d45b..3635c7caa 100644 --- a/uml/lumiera/136453.diagram +++ b/uml/lumiera/136453.diagram @@ -2,18 +2,72 @@ format 58 classcanvas 128005 class_ref 152069 // PlacementIndex 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 484 147 2000 + xyz 410 14 2000 end classcanvas 128261 class_ref 145541 // Timeline 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 84 95 2000 + xyz 43 87 2000 end classcanvas 129029 class_ref 152197 // Sequence 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 161 252 2000 + xyz 124 194 2000 end classcanvas 129157 class_ref 152325 // Binding 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 124 175 2000 + xyz 124 87 2000 +end +classcanvas 129285 class_ref 128389 // Track + 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 247 194 3005 +end +classcanvas 130437 class_ref 128005 // SessionImpl + 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 34 15 3005 +end +classcanvas 130821 class_ref 167429 // BusMO + 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 229 88 2000 +end +classcanvas 131077 class_ref 138117 // Pipe + 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 318 88 3005 +end +textcanvas 131845 "»global pipes«" + xyzwh 245 73 2005 69 13 +relationcanvas 129797 relation_ref 193413 // + decenter_end 409 + from ref 129157 z 1999 to ref 129029 + no_role_a no_role_b + no_multiplicity_a no_multiplicity_b +end +relationcanvas 130181 relation_ref 193541 // + from ref 128261 z 1999 to ref 129157 + no_role_a no_role_b + no_multiplicity_a no_multiplicity_b +end +relationcanvas 130309 relation_ref 193669 // + from ref 129029 z 1999 to ref 129285 + no_role_a no_role_b + no_multiplicity_a no_multiplicity_b +end +relationcanvas 130565 relation_ref 184709 // + from ref 130437 z 1999 to ref 128261 + role_a_pos 80 69 3000 no_role_b + no_multiplicity_a no_multiplicity_b +end +relationcanvas 130693 relation_ref 193797 // + from ref 130437 z 1999 to ref 128005 + no_role_a no_role_b + no_multiplicity_a no_multiplicity_b +end +relationcanvas 130949 relation_ref 193925 // + from ref 129157 z 1999 to ref 130821 + no_role_a no_role_b + no_multiplicity_a no_multiplicity_b +end +relationcanvas 131717 relation_ref 194053 // + from ref 130821 z 1999 to ref 131077 + no_role_a no_role_b + no_multiplicity_a no_multiplicity_b end end diff --git a/uml/lumiera/138885.diagram b/uml/lumiera/138885.diagram index 8c7b05e2a..adeb01316 100644 --- a/uml/lumiera/138885.diagram +++ b/uml/lumiera/138885.diagram @@ -25,10 +25,10 @@ classinstancecanvas 128901 classinstance_ref 139269 // xyz 96 211 2000 end classinstancecanvas 130693 classinstance_ref 139397 // - xyz 319 251 2000 + xyz 319 191 2000 end classinstancecanvas 130949 classinstance_ref 139525 // - xyz 313 211 2000 + xyz 313 157 2000 end classinstancecanvas 131333 classinstance_ref 139653 // xyz 319 308 2000 @@ -52,7 +52,7 @@ classinstancecanvas 133637 classinstance_ref 140421 // xyz 503 308 2000 end classinstancecanvas 133893 classinstance_ref 140677 // - xyz 492 211 2000 + xyz 492 252 2000 end classinstancecanvas 134021 classinstance_ref 140805 // xyz 562 129 2000 @@ -84,12 +84,15 @@ packagecanvas 137477 end packagecanvas 137605 package_ref 132229 // Session - name_in_tab yes xyzwh 15 25 1994 456 408 + name_in_tab yes xyzwh 15 25 1984 456 408 end note 137733 "top-level Timeline" xyzwh 91 263 2000 64 45 note 137861 "virtual clip" - xyzwh 379 233 2010 69 35 + xyzwh 393 235 2010 69 35 +classinstancecanvas 138117 classinstance_ref 139653 // + xyz 319 252 2015 +end objectlinkcanvas 129029 norel from ref 128773 z 1999 to ref 128901 no_role_a no_role_b @@ -117,9 +120,6 @@ objectlinkcanvas 129797 norel from ref 128261 z 1999 to point 223 315 line 130437 z 1999 to ref 128645 no_role_a no_role_b -objectlinkcanvas 130821 norel - from ref 128389 z 1999 to ref 130693 - no_role_a no_role_b objectlinkcanvas 131077 norel from ref 130693 z 1999 to ref 130949 no_role_a no_role_b @@ -136,11 +136,6 @@ objectlinkcanvas 132229 norel from ref 131333 z 1999 to point 342 351 line 132357 z 1999 to ref 131589 no_role_a no_role_b -objectlinkcanvas 132485 norel - geometry VH - from ref 130693 z 1999 to point 342 282 - line 132613 z 1999 to ref 131717 - no_role_a no_role_b objectlinkcanvas 133253 norel geometry VH from ref 128133 z 1999 to point 223 137 @@ -156,6 +151,19 @@ objectlinkcanvas 134917 norel from ref 133125 z 1999 to point 259 61 line 135045 z 1999 to ref 134789 no_role_a no_role_b +objectlinkcanvas 138245 norel + from ref 128389 z 1999 to ref 138117 + no_role_a no_role_b +objectlinkcanvas 138373 norel + geometry VH + from ref 138117 z 2004 to point 342 282 + line 138629 z 2004 to ref 131717 + no_role_a no_role_b +objectlinkcanvas 138885 norel + decenter_begin 205 + from ref 133893 z 1999 to point 411 198 + line 139013 z 1999 to ref 130693 + no_role_a no_role_b line 130565 -_-_ from ref 128901 z 1999 to ref 128261 line 131205 -_-_ @@ -168,8 +176,6 @@ line 135685 -_-_ from ref 133125 z 1999 to ref 134021 line 135941 -_-_ from ref 131333 z 1999 to ref 133637 -line 136069 -_-_ - from ref 130949 z 1999 to ref 133893 line 136581 -_-_ from ref 131589 z 1999 to ref 136197 line 136965 -_-_ decenter_end 181 @@ -178,5 +184,7 @@ line 137093 -_-_ from ref 131461 z 1999 to ref 136325 line 137349 -_-_ from ref 137221 z 1999 to ref 128773 +line 138757 -_-_ + from ref 138117 z 1999 to ref 133893 preferred_whz 730 488 1 end diff --git a/uml/lumiera/141573.diagram b/uml/lumiera/141573.diagram index 2def53e54..6401aa6a4 100644 --- a/uml/lumiera/141573.diagram +++ b/uml/lumiera/141573.diagram @@ -60,16 +60,17 @@ objectlinkcanvas 131973 norel from ref 128901 z 1999 to ref 128261 no_role_a no_role_b line 130053 -_-_ - from ref 128389 z 1999 to ref 128645 + from ref 128389 z 1999 to point 29 139 + line 132101 z 1999 to ref 128645 line 130181 -_-_ from ref 128645 z 1999 to ref 128261 line 130309 -_-_ from ref 128773 z 1999 to ref 128901 line 130437 -_-_ geometry HVr - from ref 128901 z 1999 to point 428 316 + from ref 128901 z 1999 to point 413 316 line 130565 z 1999 to ref 129413 line 130693 -_-_ geometry VH - from ref 128261 z 1999 to point 191 316 + from ref 128261 z 1999 to point 175 316 line 130949 z 1999 to ref 129797 preferred_whz 556 483 1 end diff --git a/uml/lumiera/5.session b/uml/lumiera/5.session index 293f4231c..87b65616c 100644 --- a/uml/lumiera/5.session +++ b/uml/lumiera/5.session @@ -2,16 +2,10 @@ window_sizes 1324 1020 270 1044 872 71 diagrams classdiagram_ref 136453 // Session backbone 631 352 100 4 0 0 - objectdiagram_ref 138885 // ModelAssetRelations + active objectdiagram_ref 138885 // ModelAssetRelations 730 488 100 4 0 0 - classdiagram_ref 139141 // Meta-Asset Relations - 469 451 100 4 0 0 - classdiagram_ref 140293 // TypedLookup - 721 697 100 4 0 0 - active classdiagram_ref 141445 // Advice entities - 635 331 100 4 0 0 - objectdiagram_ref 141573 // Advice solving - 556 483 100 4 0 0 + classdiagram_ref 128133 // Session structure + 835 697 100 4 0 0 end show_stereotypes selected @@ -26,17 +20,20 @@ open class_ref 162821 // TypedID::Link classview_ref 128389 // Controller Workings class_ref 139653 // Session + class_ref 145541 // Timeline class_ref 128133 // Seq class_ref 160517 // Root class_ref 128389 // Track class_ref 152325 // Binding class_ref 129797 // ExplicitPlacement + class_ref 129029 // Effect + class_ref 139909 // LocatingPin class_ref 152453 // PlacementRef classrelation_ref 178437 // class_ref 153733 // QueryFocusStack classview_ref 128261 // Builder Workings usecaseview_ref 128261 // config examples - class_ref 133253 // Frame + classview_ref 128133 // Engine Workings class_ref 164485 // Request class_ref 164613 // Provision class_ref 166021 // ActiveProvision diff --git a/uml/lumiera/lumiera.prj b/uml/lumiera/lumiera.prj index f3b36633d..35bcc31a2 100644 --- a/uml/lumiera/lumiera.prj +++ b/uml/lumiera/lumiera.prj @@ -1,6 +1,6 @@ format 58 "lumiera" - revision 63 + revision 64 modified_by 5 "hiv" cpp_root_dir "../../src/" diff --git a/wiki/renderengine.html b/wiki/renderengine.html index 0ff716564..9a0c38e03 100644 --- a/wiki/renderengine.html +++ b/wiki/renderengine.html @@ -1000,7 +1000,7 @@ config.macros.timeline.handler = function(place,macroName,params,wikifier,paramS } //}}} -
+
Binding-~MObjects are used to associate two entities within the high-level model.
 More specifically, such a binding serves 
 * to outfit any top-level [[Timeline]] with real content, which is contained within a [[Sequence]]
@@ -2692,10 +2692,11 @@ And, last but not least, doing large scale allocations is the job of the backend
 
Lumiera's Proc-Layer is built around //two interconnected models,// mediated by the [[Builder]]. Basically, the &rarr;[[Session]] is an external interface to the HighLevelModel, while the &rarr;RenderEngine operates the structures of the LowLevelModel.
-
+
Our design of the models (both [[high-level|HighLevelModel]] and [[low-level|LowLevelModel]]) relies partially on dependent objects being kept consitently in sync. Currently (2/2010), __ichthyo__'s assessment is to consider this topic not important and pervasive enough to justify building a dedicated solution, like e.g. a central tracking and registration service. An important point to consider with this assesment is the fact that the session implementation is beeing kept mostly single-threaded. Thus, lacking one central place to handle this issue, care has to be taken to capture and treat all the relevant individual dependencies properly at the implementation level.
 
 !known interdependencies
+[>img[Fundamental object relations used in the session|uml/fig136453.png]]
 * the session API relies on two kinds of facade like assets: [[Timeline]] and [[Sequence]], linked to the BindingMO and Track objects within the model respectively.
 * conceptually, the DefaultsManagement and the AssetManager count as being part of the [[global model scope|ModelRootMO]], but, due to their importance, these facilities are accessible through an singleton interface.
 * currently as of 2/2010 the exact dependency of the automation calculation during the render process onto the automation definitions within the HighLevelModel remains to be specified.
@@ -4813,7 +4814,7 @@ On the implementation level, there are some interdependencies to consider betwee
 
The session manager is responsible for maintaining session state as a whole and for conducting the session [[lifecycle|SessionLifecycle]]. The session manager API allows for saving, loading, closing and resetting the session. Accessible through the static interface {{{Session::current}}}, it exposes the actual session as a ~PImpl. Actually, both session and session manager are interfaces.
 
-
+
//Any modification of the session will pass through the [[command system|CommandHandling]].//
 Thus any possible mutation comes in two flavours: a raw operation invoked directly on an object instance attached to the model, and a command taking an MObjectRef as parameter. The latter approach &mdash; invoking any mutation through a command &mdash; will pass the mutations trough the ProcDispatcher to ensure the're logged for [[UNDO|UndoManager]] and executed sequentially, which is important, because the session's internals are //not threadsafe by design.// Thus we're kind of enforcing the use of Commands: mutating operations include a check for a &raquo;permission to mutate&laquo;, which is automatically available within a command execution {{red{TODO as of 2/10}}}. Moreover, the session API and the corresponding LayerSeparationInterfaces expose MObjectRef instances, not raw (language) refs.
 
@@ -4824,7 +4825,7 @@ Thus any possible mutation comes in two flavours: a raw operation invoked direct
 * how to keep [[dependencies within the model|ModelDependencies]] up-to date?
 
 !!who defines commands?
-The answer is simple: the one who needs to know about their existence. Because basically commands are invoked //by-name// &mdash; someone needs to be aware of that name and what it denotes. Thus, for any given mutation, there is a place where it's meaningful to specify the details //and// to subsume them under a meaningful term. An entity responsible for this place could then act as the provider of the command in question.
+The answer is simple: the one who needs to know about their existence. Because basically commands are invoked //by-name// -- someone needs to be aware of that name and its meaning. Thus, for any given mutation, there is a place where it's meaningful to specify the details //and//&nbsp; to subsume them under a meaningful term. An entity responsible for this place could then act as the provider of the command in question.
 
 Interestingly, there seems to be an alternative answer to this question. We could locate the setup and definition of all commands into a central administrative facility. Everyone in need of a command then ought to know the name and retrieve this command. Sounds like bureaucracy.
 
@@ -6383,13 +6384,14 @@ Thus no server and no network connection is needed. Simply open the file in your * see [[Homepage|http://tiddlywiki.com]], [[Wiki-Markup|http://tiddlywiki.org/wiki/TiddlyWiki_Markup]]
-
+
Timeline is the top level element within the [[Session (Project)|Session]]. It is visible within a //timeline view// in the GUI and represents the effective (resulting) arrangement of media objects, to be rendered for output or viewed in a Monitor (viewer window). A timeline is comprised of:
 * a time axis in abolute time ({{red{WIP 1/10}}}: not clear if this is an entity or just a conceptual definition) 
 * a PlayControler ({{red{WIP Summer 2010: see discussion on ML. It seems rather that the controller will be attached}}})
-* a list of global Pipes representing the possible outputs (master busses)
+* a list of [[global Pipes|GlobalPipe]] representing the possible outputs (master busses)
 * //exactly one// top-level [[Sequence]], which in turn may contain further nested Sequences.
-Please note especially that following this design //a timeline doesn't define tracks.// [[Tracks form a Tree|Track]] and are part of the individual sequences, together with the media objects placed to these tracks.
+Please note especially that following this design //a timeline doesn't define tracks.// [[Tracks form a Tree|Track]] and are part of the individual sequences, together with the media objects placed to these tracks. Thus sequences are independent entities which may exist stand-alone within the model, while a timeline is //always bound to hold a sequence.// &rarr; see ModelDependencies
+[>img[Fundamental object relations used in the session|uml/fig136453.png]]
 
 Within the Project, there may be ''multiple timelines'', to be viewed and rendered independently. But, being the top-level entities, multiple timelines may not be combined further. You can always just render (or view) one specific timeline. A given sequence may be referred directly or indirectly from multiple timelines though.