define asset::Viewer
This commit is contained in:
parent
e497f0a41e
commit
5e8a9b50d1
10 changed files with 126 additions and 55 deletions
Binary file not shown.
|
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 13 KiB |
|
|
@ -36,33 +36,31 @@ namespace asset {
|
|||
|
||||
|
||||
/** @todo anything significant to do here??? */
|
||||
Timeline::Timeline (const Asset::Ident& idi, RBinding const& sequenceBinding)
|
||||
Viewer::Viewer (const Asset::Ident& idi)
|
||||
: Struct (idi)
|
||||
, boundSequence_(sequenceBinding)
|
||||
{
|
||||
REQUIRE (boundSequence_);
|
||||
UNIMPLEMENTED ("anything regarding Viewer Assets");
|
||||
}
|
||||
|
||||
|
||||
PTimeline
|
||||
Timeline::create (Asset::Ident const& idi, RBinding const& sequenceBinding)
|
||||
{
|
||||
REQUIRE (getRegistry, "can't create a Timeline prior to session initialisation");
|
||||
|
||||
PTimeline newElement (AssetManager::instance().wrap (*new Timeline(idi, sequenceBinding)));
|
||||
getRegistry().append (newElement);
|
||||
|
||||
ENSURE (newElement);
|
||||
ENSURE (getRegistry().isRegistered (*newElement));
|
||||
return newElement;
|
||||
}
|
||||
//PViewer
|
||||
//Viewer::create (Asset::Ident const& idi)
|
||||
//{
|
||||
// REQUIRE (getRegistry, "can't create a Timeline prior to session initialisation");
|
||||
//
|
||||
// PTimeline newElement (AssetManager::instance().wrap (*new Viewer(idi)));
|
||||
// getRegistry().append (newElement);
|
||||
//
|
||||
// ENSURE (newElement);
|
||||
// ENSURE (getRegistry().isRegistered (*newElement));
|
||||
// return newElement;
|
||||
//}
|
||||
|
||||
|
||||
void
|
||||
Timeline::unlink ()
|
||||
Viewer::unlink ()
|
||||
{
|
||||
AutoRegistered<Timeline>::detach();
|
||||
boundSequence_.purge();
|
||||
// AutoRegistered<Timeline>::detach();
|
||||
Struct::unlink();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -22,11 +22,23 @@
|
|||
|
||||
|
||||
/** @file viewer.hpp
|
||||
** structural element within the session.
|
||||
** \c "timeline(theTimelineName),bindSequence(theTimelineName,sequenceID)."
|
||||
** structural element corresponding to a viewer in the GUI.
|
||||
** This Asset marks an attachment point, allowing other (output producing)
|
||||
** elements to be connected to ("viewer attachment"). The typical standard case
|
||||
** is a Timeline: It features a set of global pipes (busses), which collect all
|
||||
** produced data. Yet without an explicit output connection, this data can't be
|
||||
** generated, because in Lumiera, actual output is always retrieved ("pulled")
|
||||
** starting from an output sink. Thus, in order to \em perform (play, render)
|
||||
** the timeline, an "view connection" needs to be established: this connection
|
||||
** is represented by an session::BindingMO, linking the Timeline to an
|
||||
** asset::Viewer. Consequently, the same output mapping and translation
|
||||
** mechanism used for Sequence-Timeline- (and VirtualClip-)Bindings
|
||||
** is employed in this situation to figure out the real output port.
|
||||
**
|
||||
** @todo WIP-WIP-WIP as of 5/11
|
||||
**
|
||||
** @see Session
|
||||
** @see Sequence
|
||||
** @see Timeline
|
||||
** @see StructFactory
|
||||
**
|
||||
*/
|
||||
|
|
@ -61,27 +73,24 @@ namespace session {
|
|||
namespace asset {
|
||||
|
||||
|
||||
// using lumiera::P;
|
||||
class Timeline;
|
||||
typedef lumiera::P<Timeline> PTimeline;
|
||||
using lumiera::P;
|
||||
class Viewer;
|
||||
typedef lumiera::P<Viewer> PViewer;
|
||||
|
||||
|
||||
/**
|
||||
* TODO type comment
|
||||
*/
|
||||
class Timeline
|
||||
class Viewer
|
||||
: public Struct
|
||||
, public lib::AutoRegistered<Timeline>
|
||||
// , public lib::AutoRegistered<Viewer>
|
||||
{
|
||||
typedef mobject::session::RBinding RBinding;
|
||||
|
||||
RBinding boundSequence_;
|
||||
|
||||
Timeline (Ident const&, RBinding const&);
|
||||
Viewer (Ident const&); /////TODO ctor params????
|
||||
|
||||
public:
|
||||
/** create and register a new Timeline instance */
|
||||
static PTimeline create (Asset::Ident const& idi, RBinding const& sequenceBinding);
|
||||
// static PTimeline create (Asset::Ident const& idi, RBinding const& sequenceBinding);
|
||||
|
||||
protected:
|
||||
virtual void unlink ();
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
format 58
|
||||
"Asset" // ProcessingLayer::Asset
|
||||
revision 22
|
||||
revision 23
|
||||
modified_by 5 "hiv"
|
||||
// class settings
|
||||
//class diagram settings
|
||||
|
|
@ -773,6 +773,28 @@ ${inlines}
|
|||
end
|
||||
end
|
||||
|
||||
class 174981 "Viewer"
|
||||
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 214277 // <generalisation>
|
||||
relation 203141 ---|>
|
||||
a public
|
||||
cpp default "${type}"
|
||||
classrelation_ref 214277 // <generalisation>
|
||||
b parent class_ref 136965 // Struct
|
||||
end
|
||||
end
|
||||
|
||||
class 138117 "Pipe"
|
||||
visibility package
|
||||
cpp_decl "${comment}${template}class ${name}${inherit}
|
||||
|
|
|
|||
|
|
@ -42,11 +42,11 @@ classcanvas 131461 class_ref 137605 // Preview
|
|||
end
|
||||
classcanvas 131973 class_ref 137733 // Effect
|
||||
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 412 416 2000
|
||||
xyz 412 419 2000
|
||||
end
|
||||
classcanvas 132101 class_ref 137861 // Codec
|
||||
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 464 417 2000
|
||||
xyz 464 419 2000
|
||||
end
|
||||
classcanvas 132613 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
|
||||
|
|
@ -96,6 +96,10 @@ classcanvas 140805 class_ref 160901 // 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 622 419 2000
|
||||
end
|
||||
classcanvas 141445 class_ref 174981 // Viewer
|
||||
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 545 419 2000
|
||||
end
|
||||
relationcanvas 129157 relation_ref 138117 // <realization>
|
||||
geometry VHV
|
||||
from ref 128645 z 1999 to point 289 293
|
||||
|
|
@ -135,16 +139,16 @@ relationcanvas 130949 relation_ref 138629 // <unidirectional association>
|
|||
end
|
||||
relationcanvas 132229 relation_ref 139269 // <generalisation>
|
||||
geometry VHV
|
||||
from ref 131973 z 1999 to point 432 390
|
||||
line 139269 z 1999 to point 448 390
|
||||
from ref 131973 z 1999 to point 432 391
|
||||
line 139269 z 1999 to point 448 391
|
||||
line 139397 z 1999 to ref 128773
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
end
|
||||
relationcanvas 132357 relation_ref 139397 // <generalisation>
|
||||
geometry VHV
|
||||
from ref 132101 z 1999 to point 484 390
|
||||
line 139525 z 1999 to point 448 390
|
||||
from ref 132101 z 1999 to point 484 391
|
||||
line 139525 z 1999 to point 448 391
|
||||
line 139653 z 1999 to ref 128773
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
|
|
@ -270,6 +274,13 @@ relationcanvas 141189 relation_ref 185349 // <generalisation>
|
|||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
end
|
||||
relationcanvas 141573 relation_ref 203141 // <generalisation>
|
||||
geometry HV
|
||||
from ref 141445 z 1999 to point 601 436
|
||||
line 141701 z 1999 to ref 128901
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
end
|
||||
line 128261 -_-_ geometry HV
|
||||
from ref 128005 z 1999 to point 328 149
|
||||
line 128389 z 1999 to ref 128133
|
||||
|
|
|
|||
|
|
@ -24,10 +24,6 @@ classcanvas 128645 class_ref 139141 // DoAttach
|
|||
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 337 431 2000
|
||||
end
|
||||
classcanvas 128773 class_ref 137989 // 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 328 168 2000
|
||||
end
|
||||
classcanvas 128901 class_ref 139269 // DoRecurse
|
||||
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 409 431 2000
|
||||
|
|
@ -36,6 +32,18 @@ classcanvas 129029 class_ref 136965 // Struct
|
|||
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 425 73 2005
|
||||
end
|
||||
classcanvas 132101 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 121 217 2000
|
||||
end
|
||||
classcanvas 132229 class_ref 160901 // 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 87 168 2000
|
||||
end
|
||||
classcanvas 132357 class_ref 174981 // Viewer
|
||||
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 162 168 2000
|
||||
end
|
||||
relationcanvas 129157 relation_ref 139653 // <generalisation>
|
||||
geometry VHV
|
||||
from ref 128517 z 1999 to point 260 139
|
||||
|
|
@ -50,14 +58,6 @@ relationcanvas 129285 relation_ref 141189 // <generalisation>
|
|||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
end
|
||||
relationcanvas 129413 relation_ref 139525 // <generalisation>
|
||||
geometry VHV
|
||||
from ref 128773 z 1999 to point 348 139
|
||||
line 130181 z 1999 to point 445 139
|
||||
line 130309 z 1999 to ref 129029
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
end
|
||||
relationcanvas 129541 relation_ref 141701 // <directional composition>
|
||||
from ref 128389 z 1999 stereotype "<<vector>>" xyz 367 290 3000 to ref 128133
|
||||
role_a_pos 364 301 3000 no_role_b
|
||||
|
|
@ -91,5 +91,29 @@ relationcanvas 131589 relation_ref 146053 // <unidirectional association>
|
|||
role_a_pos 328 250 3000 no_role_b
|
||||
multiplicity_a_pos 379 273 3000 no_multiplicity_b
|
||||
end
|
||||
relationcanvas 132485 relation_ref 185349 // <generalisation>
|
||||
geometry VHV unfixed
|
||||
from ref 132229 z 1999 to point 112 139
|
||||
line 133125 z 1999 to point 445 139
|
||||
line 133253 z 1999 to ref 129029
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
end
|
||||
relationcanvas 132613 relation_ref 203141 // <generalisation>
|
||||
geometry VHV unfixed
|
||||
from ref 132357 z 1999 to point 183 139
|
||||
line 133381 z 1999 to point 445 139
|
||||
line 133509 z 1999 to ref 129029
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
end
|
||||
relationcanvas 132741 relation_ref 185221 // <generalisation>
|
||||
geometry VHV unfixed
|
||||
from ref 132101 z 1999 to point 149 139
|
||||
line 132869 z 1999 to point 445 139
|
||||
line 132997 z 1999 to ref 129029
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
end
|
||||
preferred_whz 530 608 1
|
||||
end
|
||||
|
|
|
|||
|
|
@ -4,8 +4,12 @@ diagrams
|
|||
631 352 100 4 0 0
|
||||
objectdiagram_ref 138885 // ModelAssetRelations
|
||||
730 488 100 4 0 0
|
||||
active classdiagram_ref 142725 // Time flavours
|
||||
classdiagram_ref 142725 // Time flavours
|
||||
595 646 100 4 0 0
|
||||
classdiagram_ref 131205 // Struct-Asset Relations
|
||||
530 608 100 4 0 0
|
||||
active classdiagram_ref 130309 // Asset Kinds
|
||||
855 805 100 4 0 0
|
||||
end
|
||||
show_stereotypes
|
||||
selected
|
||||
|
|
@ -15,7 +19,9 @@ open
|
|||
package_ref 128005 // design
|
||||
class_ref 160389 // VirtualMedia
|
||||
class_ref 136837 // Proc
|
||||
class_ref 152197 // Sequence
|
||||
class_ref 160901 // Timeline
|
||||
class_ref 174981 // Viewer
|
||||
class_ref 139269 // DoRecurse
|
||||
class_ref 162821 // TypedID::Link
|
||||
classview_ref 128389 // Controller Workings
|
||||
|
|
@ -31,9 +37,9 @@ open
|
|||
class_ref 152453 // PlacementRef
|
||||
classrelation_ref 178437 // <realization>
|
||||
class_ref 153733 // QueryFocusStack
|
||||
expansionregion_ref 128133 // establish partitioning
|
||||
usecaseview_ref 128261 // config examples
|
||||
classview_ref 128133 // Engine Workings
|
||||
|
||||
package_ref 128389 // RenderEngine
|
||||
classdiagram_ref 142725 // Time flavours
|
||||
class_ref 134917 // Time
|
||||
class_ref 169221 // TimeGrid
|
||||
|
|
|
|||
|
|
@ -5579,13 +5579,14 @@ Instead, we should try to just connect the various subsystems via Interfaces and
|
|||
* to shield the rendering code of all complexities of thread communication and synchronization, we use the StateProxy
|
||||
</pre>
|
||||
</div>
|
||||
<div title="StructAsset" modifier="Ichthyostega" modified="201011060513" created="200709221353" tags="def classes img" changecount="20">
|
||||
<div title="StructAsset" modifier="Ichthyostega" modified="201105280022" created="200709221353" tags="def classes img" changecount="22">
|
||||
<pre>Structural Assets are intended mainly for internal use, but the user should be able to see and query them. They are not "loaded" or "created" directly, rather they //leap into existence // by creating or extending some other structures in the session, hence the name. Some of the structural Asset parametrisation can be modified to exert control on some aspects of the Proc Layer's (default) behaviour.
|
||||
* [[Processing Patterns|ProcPatt]] encode information how to set up some parts of the render network to be created automatically: for example, when building a clip, we use the processing pattern how to decode and pre-process the actual media data.
|
||||
* [[Tracks|Track]] are one of the dimensions used for organizing the session data. They serve as an Anchor to attach parametrisation of output pipe, overlay mode etc. By [[placing|Placement]] to a track, a media object inherits placement properties from this track.
|
||||
* [[Pipes|Pipe]] form &mdash; at least as visible to the user &mdash; the basic building block of the render network, because the latter appears to be a collection of interconnected processing pipelines. (this is the //outward view; // in fact the render network consists of [[nodes|ProcNode]] and is [[built|Builder]] from the Pipes, clips, effects...)[>img[Asset Classess|uml/fig131205.png]]
|
||||
* [[Sequence]] assets act as a façade to the fundamental compound building blocks within the model, a sequence being a collection of clips placed onto a tree of tracks. Sequences, as well as the top-level tracks enclosed will be created automatically on demand. Of course you may create them deliberately. Without binding it to a timeline or meta-clip, a sequence remains invisible.
|
||||
* [[Timeline]] assets are the top level structures to access the model; similar to the sequences, they act as façade to relevant parts of the model (BindingMO) and will be created on demand, alongside with a new session if necessary, bound to the new timeline. Likewise, they can be referred by their name-ID
|
||||
* [[Timeline]] assets are the top level structures to access the model; similar to the sequences, they act as façade to relevant parts of the model (BindingMO) and will be created on demand, alongside with a new session if necessary, bound to the new timeline. Likewise, they can be referred by their name-ID
|
||||
* [[Viewer|ViewerAsset]] assets correspond to the available viewer elements in the GUI. By [[connecting to a viewer|ViewConnection]], session elements derive a concrete (physical) output and gain the ability to be [[played|PlayService]].
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue