From 83a972f846b589850c2d6226262557aafee5393b Mon Sep 17 00:00:00 2001 From: Ichthyostega Date: Thu, 27 Sep 2007 23:07:05 +0200 Subject: [PATCH] work out the details how to handle and access the 'current session' --- doc/devel/uml/class128645.html | 2 +- doc/devel/uml/class129285.html | 6 +- doc/devel/uml/class129797.html | 2 +- doc/devel/uml/class139653.html | 3 +- doc/devel/uml/class139781.html | 27 ++++++++ doc/devel/uml/classes.html | 3 +- doc/devel/uml/classes_list.html | 3 +- doc/devel/uml/fig128133.png | Bin 58926 -> 62896 bytes doc/devel/uml/index.html | 11 ++- doc/devel/uml/index_67.html | 26 +++---- doc/devel/uml/index_68.html | 1 - doc/devel/uml/index_70.html | 1 + doc/devel/uml/index_73.html | 2 +- doc/devel/uml/index_76.html | 1 + doc/devel/uml/index_77.html | 2 +- doc/devel/uml/index_79.html | 2 +- doc/devel/uml/index_82.html | 1 + doc/devel/uml/index_83.html | 5 +- doc/devel/uml/index_84.html | 6 +- doc/devel/uml/index_86.html | 10 +-- doc/devel/uml/public_operations.html | 8 ++- doc/devel/uml/public_properties.html | 1 + uml/cinelerra3/128133.diagram | 31 ++++++--- uml/cinelerra3/128261 | 98 ++++++++++++++++++++++++++- uml/cinelerra3/130437 | 43 +++++++++++- uml/cinelerra3/5.session | 4 +- uml/cinelerra3/cinelerra3.prj | 2 +- wiki/renderengine.html | 30 +++++--- 28 files changed, 267 insertions(+), 64 deletions(-) create mode 100644 doc/devel/uml/class139781.html diff --git a/doc/devel/uml/class128645.html b/doc/devel/uml/class128645.html index a00dfada6..b87a32e2c 100644 --- a/doc/devel/uml/class128645.html +++ b/doc/devel/uml/class128645.html @@ -16,7 +16,7 @@ -

Declaration :

Directly inherited by : Allocation DirectPlacement ExplicitPlacement RelativePlacement

+

Declaration :

Directly inherited by : Allocation ExplicitPlacement FixedPlacement RelativePlacement

Artifact : placement

Relation subject (<association>)

Declaration :

diff --git a/doc/devel/uml/class129285.html b/doc/devel/uml/class129285.html index 9278b48ae..0091fcd2d 100644 --- a/doc/devel/uml/class129285.html +++ b/doc/devel/uml/class129285.html @@ -4,19 +4,19 @@ -Class DirectPlacement +Class FixedPlacement -
Class DirectPlacement
+
Class FixedPlacement

-

Declaration :

Artifact : fixedplacement

+

Declaration :

Artifact : fixedplacement

All public operations : resolve

diff --git a/doc/devel/uml/class129797.html b/doc/devel/uml/class129797.html index 7af02f3ea..a68f76325 100644 --- a/doc/devel/uml/class129797.html +++ b/doc/devel/uml/class129797.html @@ -16,7 +16,7 @@ -

Declaration :

  • C++ : class ExplicitPlacement : public Placement
  • Java : public interface ExplicitPlacement

Directly inherited by : DirectPlacement

+

Declaration :

  • C++ : class ExplicitPlacement : public Placement
  • Java : public interface ExplicitPlacement

Directly inherited by : FixedPlacement

Artifact : explicitplacement

Attribut time
diff --git a/doc/devel/uml/class139653.html b/doc/devel/uml/class139653.html index d23ad4ec8..cfdc8392a 100644 --- a/doc/devel/uml/class139653.html +++ b/doc/devel/uml/class139653.html @@ -20,7 +20,8 @@

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.

Artifact : session

Operation currEDL

Declaration :

  • Uml : + currEDL() : EDL
  • C++ : public: EDL currEDL ()

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.

-
Operation getFixture

Declaration :

  • Uml : + getFixture() : Fixture&
  • C++ : public: Fixture& getFixture ()

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

+
Operation getFixture

Declaration :

  • Uml : + getFixture() : Fixture&
  • C++ : public: Fixture& getFixture ()

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

+
Relation current (<unidirectional association>)

Declaration :

Standard access path to get at the current session via the Session Manager, which acts as a "PImpl" smart pointer

All public operations : currEDL , getFixture

diff --git a/doc/devel/uml/class139781.html b/doc/devel/uml/class139781.html new file mode 100644 index 000000000..60bd83878 --- /dev/null +++ b/doc/devel/uml/class139781.html @@ -0,0 +1,27 @@ + + + + + + +Class SessManager + + + + + +
Class SessManager
+

+ + + + +

Declaration :

  • C++ : class SessManager

Artifact : sessmanager

+ +
Operation clear

Declaration :

  • Uml : + clear() : void
  • C++ : public: void clear ()

clear current session contents
without resetting overall session config.
Afterwards, the session will contain only one
empty EDL, while all Assets are retained.

+
Operation reset

Declaration :

  • Uml : + reset() : void
  • C++ : public: void reset ()

reset all session config and
start with a pristine default session.

+
Operation load

Declaration :

  • Uml : + load() : void
  • C++ : public: void load ()

replace the current session by a new
session loaded from serialized state.

+
Operation save

Declaration :

  • Uml : + save() : void
  • C++ : public: void save ()

create a complete, serialized representation
of the current session config and contents.
@todo how to serialize, prameters, return value?

+

All public operations : clear , load , reset , save

+ + diff --git a/doc/devel/uml/classes.html b/doc/devel/uml/classes.html index f3008a1a0..39a63ddb4 100644 --- a/doc/devel/uml/classes.html +++ b/doc/devel/uml/classes.html @@ -42,7 +42,6 @@ ControllerFacadeboundaryProvides unified access to the Proc-Subsystem Controller. Especially, this Facade class provides the functions to get a render engine to carry out actual renderings. Datasetmeta asset describing a collection of control data DBImplementation of the registry holding all Asset instances known to the Asset Manager subsystem. As of 8/2007 implemented by a hashtable. -DirectPlacement DoAttach DoRecurse EDL @@ -60,6 +59,7 @@ FileMapCache FileProviderThis is the Factory for Files, whenever something wants to use some file (or temporary storage), This Factory will hand out some smart/shared pointer to a File object which will be used to retrieve Frames. FileReference +FixedPlacement Fixture FrameFrames are just a low level lump of continous memory, most parts are opaque. Frames are memory sensitive, they will be small constant sized structures which can be efficently managed in a pool. FrameinterfaceTODO: 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 @@ -107,6 +107,7 @@ SegmentationToolTool implementation for deriving a partitioning of the current timeline such, that each segement has a constant configuration. "Constant" means here, that any remaining changes over time can be represented by automation solely, without the need to change the node connections. SessionPrimary 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. SessionImplImplementation class for the Session interface +SessManager SimpleClipElementary clip consisting of only one media stream SmartPointerauxiliary SourceSource Node: represents a media source to pull data from. diff --git a/doc/devel/uml/classes_list.html b/doc/devel/uml/classes_list.html index a97c2af5b..44865f171 100644 --- a/doc/devel/uml/classes_list.html +++ b/doc/devel/uml/classes_list.html @@ -43,7 +43,6 @@ ControllerFacade
Dataset
DB
-DirectPlacement
DoAttach
DoRecurse
EDL
@@ -61,6 +60,7 @@ FileMapCache
FileProvider
FileReference
+FixedPlacement
Fixture
Frame
Frame
@@ -108,6 +108,7 @@ SegmentationTool
Session
SessionImpl
+SessManager
SimpleClip
SmartPointer
Source
diff --git a/doc/devel/uml/fig128133.png b/doc/devel/uml/fig128133.png index 68a34623f63b00be7bc271533b1b0141171a545e..70b2dd611e876bb913d0eae72efa619db9a2176c 100644 GIT binary patch literal 62896 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 literal 58926 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 z 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 G{Qm&({Nb_y diff --git a/doc/devel/uml/index.html b/doc/devel/uml/index.html index fdd9b2654..95d9a7166 100644 --- a/doc/devel/uml/index.html +++ b/doc/devel/uml/index.html @@ -112,7 +112,7 @@ Documentation
Artifact Cinelerra3

Depends on common

Depends on gui

Depends on proc

Depends on backend

the main executable to be built

-

executable associated with : main, conmanager, clip, meta, fixedplacement, relativeplacement, vrender, mobject, source, frame, placement, sessionimpl, builderfacade, controllerfacade, processor, pluginadapter, effect, tool, segmentationtool, aframe, assembler, trafo, explicitplacement, auto, glrender, link, parameter, renderengine, allocation, vframe, toolfactory, arender, renderstate, label, glbuf, procnode, stateproxy, hub, buildable, abstractmo, nodecreatertool, projector, interpolator, edl, fixture, glpipe, exitnode, pathmanager, track, paramprovider, mask

+

executable associated with : exitnode, pathmanager, track, paramprovider, mask, main, conmanager, clip, meta, fixedplacement, relativeplacement, vrender, mobject, source, frame, placement, sessionimpl, builderfacade, controllerfacade, processor, pluginadapter, effect, tool, segmentationtool, aframe, assembler, trafo, explicitplacement, auto, glrender, link, parameter, renderengine, allocation, vframe, toolfactory, arender, renderstate, label, glbuf, procnode, stateproxy, hub, buildable, abstractmo, nodecreatertool, projector, interpolator, edl, fixture, glpipe

Artifact main

Artifact source

@@ -334,6 +334,10 @@ Documentation
Artifact sessionimpl

holds the complete session data to be edited by the user

Artifact source associated with : SessionImpl

+ +
Artifact sessmanager
+

global session access and lifecycle

+

Artifact source associated with : SessManager

Artifact edl

the (high level) Edit Decision List within the current Session

@@ -376,7 +380,7 @@ Documentation

Artifact source associated with : Meta

Artifact fixedplacement
-

Artifact source associated with : DirectPlacement

+

Artifact source associated with : FixedPlacement

Artifact relativeplacement

Placement implemnetaion providing various ways of attaching a MObject to another one

@@ -614,6 +618,7 @@ Documentation

Session structure



Class Session
+
Class EDL
Class Fixture
Class Segment
@@ -627,7 +632,7 @@ Documentation
Class Effect
Class Meta
-
+
Class Label
diff --git a/doc/devel/uml/index_67.html b/doc/devel/uml/index_67.html index b81c28c53..dc1b39579 100644 --- a/doc/devel/uml/index_67.html +++ b/doc/devel/uml/index_67.html @@ -27,24 +27,25 @@ checked_outrelationthis list keeps all mappings which are in use, and thus prevents them from Cache aging Cinelerra3artifactthe main executable to be built cinelerra3package +class instanceclass instance +class instanceclass instance +class instanceclass instance +class instanceclass instance +class instanceclass instance +class instanceclass instance +class instanceclass instance +class instanceclass instance +class instanceclass instance +class instanceclass instance class instanceclass instance class instanceclass instance class instanceclass instance -class instanceclass instance class instanceclass instance -class instanceclass instance -class instanceclass instance -class instanceclass instance -class instanceclass instance -class instanceclass instance -class instanceclass instance -class instanceclass instance class instanceclass instance -class instanceclass instance class instanceclass instance class instanceclass instance -class instanceclass instance -class instanceclass instance +class instanceclass instance +clearoperationclear current session contents
without resetting overall session config.
Afterwards, the session will contain only one
empty EDL, while all Assets are retained.
Clipclassbookkeeping (asset) view of a media clip. clipartifacta Media Clip clipartifactbookkeeping (asset) view of a media clip. @@ -75,8 +76,8 @@ connectopaque activity action Constraintclass Controllercomponent -Controllerpackage controllerpackagesourcecode package

The Processing and Render Controller,
located within the MObject Subsystem +Controllerpackage Controller Entitiesclass diagram Controller Workingsclass view ControllerFacadeclassProvides unified access to the Proc-Subsystem Controller. Especially, this Facade class provides the functions to get a render engine to carry out actual renderings. @@ -85,6 +86,7 @@ create ProcNodeopaque activity action createClipoperationcreate a (possibly compound) Clip refering to this media, ready to be added to the EDL. currEDLoperationThe 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. +currentrelationStandard access path to get at the current session via the Session Manager, which acts as a "PImpl" smart pointer currFramerelation diff --git a/doc/devel/uml/index_68.html b/doc/devel/uml/index_68.html index 75c620c08..cdeda3e68 100644 --- a/doc/devel/uml/index_68.html +++ b/doc/devel/uml/index_68.html @@ -31,7 +31,6 @@ determine Render Paramsexpansion region determine Render Paramsopaque activity action devnullclass instance -DirectPlacementclass Dispatchercomponent DoAttachclass DoRecurseclass diff --git a/doc/devel/uml/index_70.html b/doc/devel/uml/index_70.html index 242d89493..94fe56f77 100644 --- a/doc/devel/uml/index_70.html +++ b/doc/devel/uml/index_70.html @@ -30,6 +30,7 @@ FileReferenceclass filesrelation fixedplacementartifact +FixedPlacementclass Fixtureactivity object fixtureartifactthe (low level) representation of the EDL with concrete placement data Fixturecomponent diff --git a/doc/devel/uml/index_73.html b/doc/devel/uml/index_73.html index 496421c53..0f82f3fd9 100644 --- a/doc/devel/uml/index_73.html +++ b/doc/devel/uml/index_73.html @@ -20,8 +20,8 @@ idattributeAsset primary key. In Memory Databaseclass diagram inFixtureactivity action pin -inputclass instance inputclass instance +inputclass instance inputclass instance instanceoperation instructionsrelation diff --git a/doc/devel/uml/index_76.html b/doc/devel/uml/index_76.html index 9403a79d7..8fa1f472c 100644 --- a/doc/devel/uml/index_76.html +++ b/doc/devel/uml/index_76.html @@ -23,6 +23,7 @@ lengthattributeduration (span) of this timeline segment. Linkclass linkartifactforwarding, adapting or connecting ProcNode +loadoperationreplace the current session by a new
session loaded from serialized state. load Mediause case Lockclass Lockclass diff --git a/doc/devel/uml/index_77.html b/doc/devel/uml/index_77.html index 997d703b9..d83661f51 100644 --- a/doc/devel/uml/index_77.html +++ b/doc/devel/uml/index_77.html @@ -32,8 +32,8 @@ MediaFactoryclassspecialized Asset Factory for configuring (new) media asset instances based on existing media files on disk; can create placeholder assets as well merge activity nodemerge activity node Metaclasskey abstraction: metadata and organisational asset -metaartifactabstract base class of all MObjects representing meta data or processing instructions metaartifactkey abstraction: metadata and organisational asset +metaartifactabstract base class of all MObjects representing meta data or processing instructions Metaclass mobjectartifactKey Abstraction: A Media Object in the Session mobjectpackagesourcecode package

MObject Subsystem
including the Session (EDL), Builder and Processing Controller diff --git a/doc/devel/uml/index_79.html b/doc/devel/uml/index_79.html index b34c12000..863a630ae 100644 --- a/doc/devel/uml/index_79.html +++ b/doc/devel/uml/index_79.html @@ -19,9 +19,9 @@ NameKindDescription offsetattributeOffset the actual position by this (time) value relative to the anchor point. TODO: Representation? orgattributeorigin or authorship id. Can be a project abbreviation, a package id or just the authors nickname or UID. This allows for the compnent name to be more generic (e.g. "blur"). Default for all assets provided by the core cinelerra-3 codebase is "cin3". -ouputclass instance ouputclass instance ouputclass instance +ouputclass instance OutPortclassstructural asset corresponding to some port generating media output outportartifactstructural asset corresponding to some port generating media output outputrelation diff --git a/doc/devel/uml/index_82.html b/doc/devel/uml/index_82.html index db5b9dc39..40cc37dd5 100644 --- a/doc/devel/uml/index_82.html +++ b/doc/devel/uml/index_82.html @@ -36,6 +36,7 @@ RenderStateclassEncapsulates the logic used to get a "current render process" in accordance to the currentyl applicable controller settings. The provided StateProxy serves to hold any mutalbe state used in the render process, so the rest of the render engine can be stateless. renderstateartifactrenderengine state manager reprattributehuman readable representation of the condition characterizing this allocaton, e.g. "t >= 10" +resetoperationreset all session config and
start with a pristine default session. resolveoperationcreate an actual (explicit) placement while trying to satisfy the network of adjacent objects and placements. rootCauseoperationIf this exception was caused by a chain of further exceptions,
return the first one registered in this throw sequence.
This works only, if every exceptions thrown as a consequence
of another exception is propperly constructed by passing
the original exception to the constructor diff --git a/doc/devel/uml/index_83.html b/doc/devel/uml/index_83.html index c3a049c32..847982657 100644 --- a/doc/devel/uml/index_83.html +++ b/doc/devel/uml/index_83.html @@ -18,6 +18,7 @@ + @@ -36,6 +37,8 @@ + + @@ -43,8 +46,8 @@ - + diff --git a/doc/devel/uml/index_84.html b/doc/devel/uml/index_84.html index 686d34aef..98fe8201c 100644 --- a/doc/devel/uml/index_84.html +++ b/doc/devel/uml/index_84.html @@ -32,20 +32,20 @@ - + + - - +
NameKindDescription
SAMETIMEattributeplace subject at the sime time as the anchor
saveoperationcreate a complete, serialized representation
of the current session config and contents.
@todo how to serialize, prameters, return value?
Schedulerclass
segmentartifactSegment of the Timeline.
Used at the moment (7/07) for partitioning the timeline/fixture into segments
to be rendered by a specialized render node network for each, without the need
to change any connections within a given segment.
Note this concept may be superfluos alltogether; is a draft and the real
use still needs to be worked out...
Segmentclass
Session structureclass diagram
sessionimplartifactholds the complete session data to be edited by the user
SessionImplclassImplementation class for the Session interface
sessmanagerartifactglobal session access and lifecycle
SessManagerclass
setup Build Paramsopaque activity action
setup StateProxyopaque activity action
shortDescattributeuser visible Name-ID. To be localized.
SimpleClipclassElementary clip consisting of only one media stream
SmartPointerclass
SmartPointersclass view
sourcerelationmedia source of this clip
sourcerelationthe media source this clip referes to
sourcerelationmedia source of this clip
SourceclassSource Node: represents a media source to pull data from.
sourceartifactRepresentation of a Media source
Source Overviewdeployment diagram
toolfactoryartifactsupply of Tool implementations for the Builder
Trackclassstructural asset holding the configuration of a track in the EDL
trackattribute
trackartifactdescriptor for one track in the Session
trackartifactstructural asset holding the configuration of a track in the EDL
trackartifactdescriptor for one track in the Session
Trackclass
tracksrelationelementary media assets comprising this compound
tracksrelation
tracksrelation
Trafoclass
trafoartifacttransforming processing Node
treatoperation
treatoperation
treatoperation
treatoperation
treatoperation
treatoperation
treatoperation
treatoperation
treatoperation
treatoperationThis operation is to be overloaded for the specific MObject subclasses to be treated.
diff --git a/doc/devel/uml/index_86.html b/doc/devel/uml/index_86.html index ce992fef4..4eb1f6d88 100644 --- a/doc/devel/uml/index_86.html +++ b/doc/devel/uml/index_86.html @@ -25,18 +25,18 @@ vid_Aclass instance vid_Aclass instance vid_aclass instance -vid_Aclass instance vid_aclass instance -videoclass instance +vid_Aclass instance videoclass instance +videoclass instance videoclass instance videoclass instance -video1class instance +video1class instance video1class instance video1class instance -video1class instance video1class instance -video1class instance +video1class instance +video1class instance VRenderclassRepresentation of a Video render process. (Encapsulates the video buffers for the actual calculations) vrenderartifactRepresentation of a Video render process diff --git a/doc/devel/uml/public_operations.html b/doc/devel/uml/public_operations.html index ed11e213b..3143920e2 100644 --- a/doc/devel/uml/public_operations.html +++ b/doc/devel/uml/public_operations.html @@ -21,6 +21,7 @@ buildAssembler buildEngineBuilderFacadeMain Operation of the Builder: create a render engine for a given part of the timeline buildProcessorPathManager +clearSessManagerclear current session contents
without resetting overall session config.
Afterwards, the session will contain only one
empty EDL, while all Assets are retained.
configureToolFactory createClipMediacreate a (possibly compound) Clip refering to this media, ready to be added to the EDL. currEDLSessionThe 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. @@ -43,17 +44,20 @@ howtoProcMedia@return descriptor how to build a render pipeline corresponding to this media isActiveAssetweather this asset is swithced on and consequently included in the fixture and participates in rendering knownAssetManager@return true if the given id is registered in the internal asset DB +loadSessManagerreplace the current session by a new
session loaded from serialized state. playRenderEngineTODO: will probably be handled differently (see Cehteh) removeAssetManagerremove the given asset <i>together with all its dependants</i> from the internal DB +resetSessManagerreset all session config and
start with a pristine default session. resolvePlacementcreate an actual (explicit) placement while trying to satisfy the network of adjacent objects and placements. rootCauseErrorIf this exception was caused by a chain of further exceptions,
return the first one registered in this throw sequence.
This works only, if every exceptions thrown as a consequence
of another exception is propperly constructed by passing
the original exception to the constructor +saveSessManagercreate a complete, serialized representation
of the current session config and contents.
@todo how to serialize, prameters, return value? treatNodeCreatorTool +treatNodeCreatorTool treatNodeCreatorTool treatNodeCreatorTool -treatNodeCreatorTool +treatSegmentationTool treatSegmentationTool treatSegmentationTool -treatSegmentationTool treatToolThis operation is to be overloaded for the specific MObject subclasses to be treated. useFileFileProviderAnnounces that the application intends to use this file with mode (READ|WRITE|READWRITE) useTemporaryStorageFileProviderProvides a pool for interminate frames diff --git a/doc/devel/uml/public_properties.html b/doc/devel/uml/public_properties.html index d1d591657..6790afee8 100644 --- a/doc/devel/uml/public_properties.html +++ b/doc/devel/uml/public_properties.html @@ -18,6 +18,7 @@ + diff --git a/uml/cinelerra3/128133.diagram b/uml/cinelerra3/128133.diagram index e37cd05e9..c0272f7ed 100644 --- a/uml/cinelerra3/128133.diagram +++ b/uml/cinelerra3/128133.diagram @@ -44,17 +44,17 @@ classcanvas 131973 class_ref 129157 // Meta draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_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 xyz 389 368 2000 end -classcanvas 132229 class_ref 129285 // DirectPlacement +classcanvas 132229 class_ref 129285 // FixedPlacement 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 - xyz 664 373 2000 + xyz 665 373 2000 end classcanvas 132869 class_ref 129413 // RelativePlacement 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 - xyz 471 346 2000 + xyz 479 276 2000 end classcanvas 134149 class_ref 129541 // Allocation 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 - xyz 590 359 2000 + xyz 590 373 2000 end classcanvas 134405 class_ref 129669 // Label 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 @@ -98,6 +98,10 @@ classcanvas 139269 class_ref 139653 // Session 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 xyz 23 458 2000 end +classcanvas 139653 class_ref 139781 // SessManager + 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 + xyz 101 301 2000 + end relationcanvas 128389 relation_ref 128005 // from ref 128005 z 1999 to ref 128133 role_a_pos 201 603 3000 no_role_b @@ -120,8 +124,8 @@ relationcanvas 129157 relation_ref 128389 // multiplicity_a_pos 314 687 3000 no_multiplicity_b relationcanvas 129797 relation_ref 128645 // from ref 129413 z 1999 stereotype "<>" xyz 471 143 3000 to ref 129669 - role_a_pos 513 144 3000 role_b_pos 401 144 3000 - multiplicity_a_pos 547 177 3000 multiplicity_b_pos 401 177 3000 + role_a_pos 513 144 3000 role_b_pos 404 145 3000 + multiplicity_a_pos 547 177 3000 multiplicity_b_pos 393 145 3000 relationcanvas 130181 relation_ref 129029 // geometry HV from ref 128261 z 1999 stereotype "<>" xyz 334 914 3000 to point 339 931 @@ -157,16 +161,17 @@ relationcanvas 132485 relation_ref 129797 // no_role_a no_role_b no_multiplicity_a no_multiplicity_b relationcanvas 132997 relation_ref 129925 // - from ref 132869 z 1999 to point 486 247 + from ref 132869 z 1999 to point 529 240 line 133893 z 1999 to ref 129413 - role_a_pos 401 172 3000 no_role_b - multiplicity_a_pos 401 205 3000 multiplicity_b_pos 495 321 3000 + role_a_pos 439 215 3000 no_role_b + multiplicity_a_pos 401 197 3000 multiplicity_b_pos 515 251 3000 relationcanvas 134533 relation_ref 130309 // from ref 134405 z 1999 to ref 131973 no_role_a no_role_b no_multiplicity_a no_multiplicity_b relationcanvas 135173 relation_ref 130565 // - from ref 134149 z 1999 to ref 129669 + from ref 134149 z 1999 to point 610 312 + line 140037 z 1999 to ref 129669 no_role_a no_role_b no_multiplicity_a no_multiplicity_b relationcanvas 135301 relation_ref 130693 // @@ -218,4 +223,10 @@ relationcanvas 139525 relation_ref 142725 // from ref 128005 z 1999 stereotype "<>" xyz 57 558 3000 to ref 139269 no_role_a no_role_b no_multiplicity_a no_multiplicity_b +relationcanvas 139781 relation_ref 142853 // + geometry HV + from ref 139269 z 1999 to point 140 494 + line 139909 z 1999 to ref 139653 + role_a_pos 152 426 3000 no_role_b + multiplicity_a_pos 126 426 3000 no_multiplicity_b end diff --git a/uml/cinelerra3/128261 b/uml/cinelerra3/128261 index 528bee399..48dbcaf73 100644 --- a/uml/cinelerra3/128261 +++ b/uml/cinelerra3/128261 @@ -1,6 +1,6 @@ format 40 "MObject" // ProcessingLayer::MObject - revision 21 + revision 22 modified_by 5 "hiv" // class settings //class diagram settings @@ -94,6 +94,16 @@ ${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl} there is only one Fixture, which represents the actual configuration of all Objects to be rendered" end + + classrelation 144773 // current () + relation 142853 ---> + a role_name "current" multiplicity "1" class_relation public + comment "Standard access path to get at the current session via the Session Manager, which acts as a \"PImpl\" smart pointer" + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}& ${name}${value}; +" + classrelation_ref 144773 // current () + b multiplicity "" parent class_ref 139781 // SessManager + end end class 128005 "SessionImpl" @@ -136,6 +146,90 @@ ${inlines} end end + class 139781 "SessManager" + visibility package + cpp_decl "${comment}${template}class ${name}${inherit} + { +${members} }; +${inlines} +" + java_decl "" + idl_decl "" + explicit_switch_type "" + + operation 133765 "clear" + public explicit_return_type "void" + 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 "clear current session contents +without resetting overall session config. +Afterwards, the session will contain only one +empty EDL, while all Assets are retained. +" + end + + operation 133893 "reset" + public explicit_return_type "void" + 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 "reset all session config and +start with a pristine default session." + end + + operation 134021 "load" + public explicit_return_type "void" + 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 "replace the current session by a new +session loaded from serialized state." + end + + operation 134149 "save" + public explicit_return_type "void" + 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 a complete, serialized representation +of the current session config and contents. +@todo how to serialize, prameters, return value?" + end + end + class 128133 "EDL" visibility package cpp_decl "${comment}${template}class ${name}${inherit} @@ -585,7 +679,7 @@ ${inlines} end end - class 129285 "DirectPlacement" + class 129285 "FixedPlacement" visibility package cpp_decl "${comment}${template}class ${name}${inherit} { diff --git a/uml/cinelerra3/130437 b/uml/cinelerra3/130437 index e5790e68f..514cc634e 100644 --- a/uml/cinelerra3/130437 +++ b/uml/cinelerra3/130437 @@ -1,6 +1,6 @@ format 40 "session" // design::codegen::proc::mobject::session - revision 8 + revision 9 modified_by 5 "hiv" // class settings //class diagram settings @@ -77,6 +77,45 @@ ${namespace_end}" comment "holds the complete session data to be edited by the user" end + artifact 138885 "sessmanager" + stereotype "source" + cpp_h "/* + ${NAME}.hpp - ${description} +@{CopyrightClaim}@{GPLHeader} +*/ + + +#ifndef ${NAMESPACE}_${NAME}_H +#define ${NAMESPACE}_${NAME}_H + +${includes} +${declarations} + + +${namespace_start} + +${definition} +${namespace_end} +#endif +" + cpp_src "/* + ${Name} - ${description} +@{CopyrightClaim}@{GPLHeader} +* *****************************************************/ + + +${includes} +${namespace_start} + + +${members} +${namespace_end}" + associated_classes + class_ref 139781 // SessManager + end + comment "global session access and lifecycle" + end + artifact 128645 "edl" stereotype "source" cpp_h "/* @@ -506,7 +545,7 @@ ${namespace_start} ${members} ${namespace_end}" associated_classes - class_ref 129285 // DirectPlacement + class_ref 129285 // FixedPlacement end end diff --git a/uml/cinelerra3/5.session b/uml/cinelerra3/5.session index dd61f6409..6811c0673 100644 --- a/uml/cinelerra3/5.session +++ b/uml/cinelerra3/5.session @@ -3,7 +3,7 @@ diagrams classdiagram_ref 130309 // Asset Kinds 860 633 100 4 0 0 active classdiagram_ref 128133 // Session structure - 860 633 100 4 581 0 + 860 633 100 4 120 0 classdiagram_ref 130437 // Media-Asset Relations 860 633 100 4 0 0 classdiagram_ref 128389 // Render Entities @@ -16,7 +16,7 @@ open package_ref 128005 // design classview_ref 128901 // Assets - classview_ref 128005 // Session + class_ref 139781 // SessManager classview_ref 129029 // Interface end end diff --git a/uml/cinelerra3/cinelerra3.prj b/uml/cinelerra3/cinelerra3.prj index 26a25ad00..48d706651 100644 --- a/uml/cinelerra3/cinelerra3.prj +++ b/uml/cinelerra3/cinelerra3.prj @@ -1,6 +1,6 @@ format 40 "cinelerra3" - revision 30 + revision 31 modified_by 5 "hiv" cpp_root_dir "../../src/" diff --git a/wiki/renderengine.html b/wiki/renderengine.html index 90d649411..294dda752 100644 --- a/wiki/renderengine.html +++ b/wiki/renderengine.html @@ -741,6 +741,13 @@ This is an very important external Interface, because it links together all thre +
+
The question is where to put all the state-like information [[associated with the current session|SessionOverview]]. Because this is certainly "global", but may depend on the session or need to be configured differently when loading another session. At the moment (9/07) Ichthyo considers the following solution:
+* represent all configuration as [[Asset]]s
+* find a way {{red{TODO}}} how to reload the contents of the [[AssetManager]].
+* completely hide the Session object behind a ''~PImpl'' smart pointer, so the session object can be switched when reloading.
+* the [[Fixture]] acts as isolation layer, and all objects refered from the Fixture are refcounting smart pointers. So, even when the session gets switched, the old objects remain valid as long as needed.
+
RenderEngine
 
@@ -755,18 +762,12 @@ The main tool used to implement this separation is the [[Builder Pattern|http:// Another pertinent theme is to make the basic building blocks simpler, while on the other hand gaining much more flexibility for combining these building blocks. For example we try to unfold any "internal-multi" effects into separate instances (e.g. the possibility of having an arbitrary number of single masks at any point of the pipeline instead of having one special masking facility encompassing multiple sub-masks. Similarly, we treat the Objects in the EDL in a more uniform manner and gain the possibility to [[place|Placement]] them in various ways.
-
+
''EDL'' is a short-hand for __E__dit __D__ecision __L__ist. The use of this term can be confusing; for the usual meaning see the definition in [[Wikipedia|http://en.wikipedia.org/wiki/Edit_decision_list]]
 
 Cinelerra uses this term in a related manner but with a somewhat shifted focus (and we just stick to this usage here): In Cinelerra the EDL is comprised of the whole set of clips and other media objects parametrized and placed onto the tracks by the user. It is the result of the user's //editing efforts.//
 
-In this usage, the EDL in most cases will be almost synonymous to the ''Session'', just the latter emphasizes more the state aspect, as it can be thought as the current EDL contents contained in a file or data structure together with additional Option values and settings for the GUI. The Session is what you save and load, while the EDL rather denotes a structured collection of Objects placed in time.
-
-!!!larger projects
-For larger editing projects the simple structure of a session containing "the" timeline is not sufficient. Rather, we have several timelines, e.g. one for each scene. Or we could have several layered or nested timelines (compositional work, multimedia productions). To support these cases without making the default case more complicated, Cinelerra-3 introduces a //focus// for selecting the //current EDL,// which will receive all editing operations.
-
-!!!the definitive state
-With all the structural complexities possible within such a session, we need an isolation layer to provide __one__ definitive state where all configuration has been made explicit. Thus the session manages one special object list, the [[Fixture]], which can be seen as all currently active object placed onto a single timeline.
+In this usage, the EDL in most cases will be almost synonymous to the [[Session|SessionOverview]], just the latter emphasizes more the state aspect, as it can be thought as the current EDL contents contained in a file or data structure together with additional Option values and settings for the GUI. The Session is what you save and load, while the EDL rather denotes a structured collection of Objects placed in time.
 
@@ -986,7 +987,7 @@ For this Cinelerra3 design, we could consider making GOP just another raw media &rarr;see in [[Wikipedia|http://en.wikipedia.org/wiki/Group_of_pictures]]
-
+
This wiki page is the entry point to detail notes covering some technical decisions, details and problems encountered in the course of the implementation of the Cinelerra Renderengine, the Builder and the related parts.
 
 * [[Packages, Interfaces and Namespaces|InterfaceNamespaces]]
@@ -995,6 +996,7 @@ For this Cinelerra3 design, we could consider making GOP just another raw media
 * [[Creating new Objects|ObjectCreation]]
 * [[Multichannel Media|MultichannelMedia]]
 * [[Editing Operations|EditingOperations]]
+* [[Handling of the current Session|CurrentSession]]
 
 
@@ -2394,6 +2396,16 @@ The design of Cinelerra 2 basically follows this design, but __fails because of * see also the [[Entities involved in Rendering|RenderEntities]]
+
+
The Session (sometimes also called //Project//) contains all informations and objects to be edited by the User. It can be saved and loaded. The individual Objects within the Session, i.e. Clips, Media, Effects, are contained in one (or several) collections within the Session, which we call [[EDL (Edit Decision List)|EDL]]. Moreover, the sesion contains references to all the Media files used, and it contains various default or user defined configuration. At any given time, there is //only one current session// opened within the application.
+
+!!!larger projects
+For larger editing projects the simple structure of a session containing "the" timeline is not sufficient. Rather, we have several timelines, e.g. one for each scene. Or we could have several layered or nested timelines (compositional work, multimedia productions). To support these cases without making the default case more complicated, Cinelerra-3 introduces a //focus// for selecting the //current EDL,// which will receive all editing operations.
+
+!!!the definitive state
+With all the structural complexities possible within such a session, we need an isolation layer to provide __one__ definitive state where all configuration has been made explicit. Thus the session manages one special object list, the [[Fixture]], which can be seen as all currently active object placed onto a single timeline.
+
+
<<search>><<closeAll>><<permaview>><<newTiddler>><<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel "options ยป" "Change TiddlyWiki advanced options">>
PropertyClassDescription
categoryAssetprimary tree like classification of the asset
currentSessionStandard access path to get at the current session via the Session Manager, which acts as a "PImpl" smart pointer
idAssetAsset primary key.
nameAssetelement ID, comprehensible but sanitized. The tuple (category, name, org) is unique.
nodesDoAttach