diff --git a/doc/devel/uml/class128005.html b/doc/devel/uml/class128005.html index 06db277ae..d033a8de1 100644 --- a/doc/devel/uml/class128005.html +++ b/doc/devel/uml/class128005.html @@ -18,7 +18,7 @@

Declaration :

Implementation class for the Session interface

Artifact : sessionimpl, Component(s) : Session

-
Relation edls (<directional aggregation by value>)

Declaration :

+
Relation edls (<directional aggregation by value>)

Declaration :

Relation theFixture (<unidirectional association>)

Declaration :

Relation pipes (<directional aggregation>)

Declaration :

the global ports (busses) of the session

All public operations : currEDL , getFixture

diff --git a/doc/devel/uml/class128133.html b/doc/devel/uml/class128133.html index caa5c3e37..175eb30d6 100644 --- a/doc/devel/uml/class128133.html +++ b/doc/devel/uml/class128133.html @@ -4,19 +4,19 @@ -Class EDL +Class Seq -
Class EDL
+
Class Seq

-

Declaration :

Directly inherited by : Fixture

+

Declaration :

Directly inherited by : Fixture

Artifact : edl, Component(s) : Session

Relation clips (<directional aggregation>)

Declaration :

diff --git a/doc/devel/uml/class128261.html b/doc/devel/uml/class128261.html index 0d8043e71..f02717863 100644 --- a/doc/devel/uml/class128261.html +++ b/doc/devel/uml/class128261.html @@ -16,9 +16,9 @@ -

Declaration :

Artifact : fixture, Component(s) : Session

+

Declaration :

Artifact : fixture, Component(s) : Session

-
Relation theTimeline (<directional aggregation by value>)

Declaration :

+
Relation effectiveTimeline (<directional aggregation by value>)

Declaration :

Operation getPlaylistForRender

Declaration :

  • Uml : + getPlaylistForRender() : list<ExplicitPlacement [ProcessingLayer::MObject]>
  • C++ : public: list<ExplicitPlacement [ProcessingLayer::MObject]> getPlaylistForRender ()
Operation getAutomation

Declaration :

  • Uml : + getAutomation() : Auto [ProcessingLayer::MObject]*
  • C++ : public: Auto [ProcessingLayer::MObject]* getAutomation ()
Relation track (<unidirectional association>)

Declaration :

  • Uml : # track : Track
  • C++ : protected: Track* track
diff --git a/doc/devel/uml/class128389.html b/doc/devel/uml/class128389.html index 222aa9902..1adc7425d 100644 --- a/doc/devel/uml/class128389.html +++ b/doc/devel/uml/class128389.html @@ -16,7 +16,7 @@ -

Declaration :

Artifact : track, Diagram : Session structure

+

Declaration :

Artifact : track, Diagram : Session structure

Relation subTracks (<directional aggregation by value>)

Declaration :

  • Uml : + subTracks : Track, multiplicity : *
  • C++ : public: Track subTracks

Child tracks in a tree structure

All public operations : apply , apply , dispatchOp

diff --git a/doc/devel/uml/class128517.html b/doc/devel/uml/class128517.html index 9b18007fc..892d720be 100644 --- a/doc/devel/uml/class128517.html +++ b/doc/devel/uml/class128517.html @@ -16,7 +16,7 @@ -

Declaration :

  • C++ : class MObject : public Buildable
  • Java : public interface MObject

Directly inherited by : AbstractMO

+

Declaration :

  • C++ : class MObject : public Buildable
  • Java : public interface MObject

Directly inherited by : AbstractMO Clip Effect Label Track

Artifact : mobject, Component(s) : Session

Attribut length
diff --git a/doc/devel/uml/class128901.html b/doc/devel/uml/class128901.html index 3258b0d8f..9cc9def6f 100644 --- a/doc/devel/uml/class128901.html +++ b/doc/devel/uml/class128901.html @@ -16,11 +16,9 @@ -

Declaration :

Directly inherited by : CompoundClip SimpleClip

+

Declaration :

Directly inherited by : CompoundClip SimpleClip

Artifact : clip

- -
Attribut start
-

Declaration :

  • Uml : # start : Time
  • C++ : protected: Time start

startpos in source

+
Relation source (<unidirectional association>)

Declaration :

  • Uml : # source : Media, multiplicity : 1
  • C++ : protected: Media* source

the media source this clip referes to

All public operations : apply , apply , dispatchOp

diff --git a/doc/devel/uml/class129029.html b/doc/devel/uml/class129029.html index f9a14681d..b04d54df7 100644 --- a/doc/devel/uml/class129029.html +++ b/doc/devel/uml/class129029.html @@ -16,10 +16,10 @@ -

Declaration :

Artifact : effect

+

Declaration :

Artifact : effect

-
Attribut plugID
-

Declaration :

  • Uml : # plugID : string
  • C++ : protected: string plugID

Identifier of the Plugin to be used

+
Attribut plugin
+

Declaration :

  • Uml : # plugin : string
  • C++ : protected: string plugin

Identifier of the Plugin to be used

All public operations : apply , apply , dispatchOp

diff --git a/doc/devel/uml/class129669.html b/doc/devel/uml/class129669.html index 8653baa45..199b5d53f 100644 --- a/doc/devel/uml/class129669.html +++ b/doc/devel/uml/class129669.html @@ -16,7 +16,7 @@ -

Declaration :

  • C++ : class Label : public Meta

Artifact : label

+

Declaration :

Artifact : label

All public operations : apply , apply , dispatchOp

diff --git a/doc/devel/uml/class139653.html b/doc/devel/uml/class139653.html index 641046544..076a6ee5b 100644 --- a/doc/devel/uml/class139653.html +++ b/doc/devel/uml/class139653.html @@ -19,7 +19,7 @@

Declaration :

  • C++ : class Session

Directly inherited by : SessionImpl

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 currEDL

Declaration :

  • Uml : + currEDL() : Seq
  • C++ : public: Seq 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

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

Relation defaults (<unidirectional association>)

Declaration :

diff --git a/doc/devel/uml/classdiagrams.html b/doc/devel/uml/classdiagrams.html index e1289d57d..f66c12462 100644 --- a/doc/devel/uml/classdiagrams.html +++ b/doc/devel/uml/classdiagrams.html @@ -31,7 +31,9 @@ Rules access Session structure StateAdapter composition +Stream Type Framework Struct-Asset Relations +TimelineSequences diff --git a/doc/devel/uml/classes.html b/doc/devel/uml/classes.html index 319577971..63214df7b 100644 --- a/doc/devel/uml/classes.html +++ b/doc/devel/uml/classes.html @@ -52,7 +52,6 @@ DefaultsRegistry DoAttach DoRecurse -EDL EffectEffect or media processing component Effect Error @@ -75,6 +74,7 @@ FrameDescriptorinterfaceA FrameDescriptor implements the higher level interfaces for frames. Further refinements are made by subclassing and policy classes FrameReference GLBuf +ImplFacade InterpolatorProvides the implementation for getting the acutal value of a time varying or automated effect/plugin parameter Invalid Invocation @@ -88,9 +88,11 @@ Mediakey abstraction: media-like assets MediaAccessFacadeboundaryprovides functions for querying (opening) a media file, detecting the channels or streams found within this file, etc. Delegating to the actual backend functions MediaFactoryspecialized Asset Factory for configuring (new) media asset instances based on existing media files on disk; can create placeholder assets as well +MediaKindenum Metakey abstraction: metadata and organisational asset Meta MObjectinterface +Monitor MutexI provided a reworked Mutex class in my Cinelerra2 repository NodeCreatorToolThis Tool implementation plays the central role in the buld process: given a MObject from Session, it is able to attach ProcNodes to the render engine under construction such as to reflect the properties of the MObject in the actual render. NodeWiring @@ -100,6 +102,8 @@ PathManagerWhile building a render engine, this Strategy class decides on the actual render strategy in accordance to the current controller settings (system state) Pipestructural asset representing a basic building block within the high level model: a port for building a processing chain and generating media output Placementinterfaceused to specify the position of a MObject in the EDL. This can be done in various ways (absolute, relative).
Placement at the same time acts as (refcounting) smart pointer for accessing the MObject. +PlayControl +PlayheadCursor Plug PluginAdapterAdapter used to integrage an effects processor in the render pipeline Prefetch @@ -110,7 +114,9 @@ Processor ProcNodeinterfaceKey abstraction of the Render Engine: A Data processing Node ProcPattspecial type of structural Asset representing information how to build some part of the render engine's processing nodes network. +Project ProjectorSpecial video processing node used to scale and translate image data. +Prototype PullInput QueryCache QueryHandlerinterface @@ -120,10 +126,13 @@ RelTypeenumthe possible kinds of RelativePlacements RenderEngine RenderStateEncapsulates 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. +RenderTask ResolverBase Scheduler Segment 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. +Seq +Sequence Serializeractor 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 @@ -137,9 +146,14 @@ StateProxyimplementation std::exceptionauxiliary Strategy +StreamType +StreamTypeID Structkey abstraction: structural asset +STypeManager ThreadWe can basically reuse the Thread class design from Cinelerra2, Thread becomes a baseclass for all Threads Timedenotes a temporal position (time point), based on timeline start.

investigate posix.4 realtime timers, wrap these here +Timeline +TimelineView Tool ToolFactory Trackstructural asset holding the configuration of a track in the EDL diff --git a/doc/devel/uml/classes_list.html b/doc/devel/uml/classes_list.html index 8e8c2d9a6..96378253b 100644 --- a/doc/devel/uml/classes_list.html +++ b/doc/devel/uml/classes_list.html @@ -53,7 +53,6 @@ DefaultsRegistry
DoAttach
DoRecurse
-EDL
Effect
Effect
Error
@@ -76,6 +75,7 @@ FrameDescriptor
FrameReference
GLBuf
+ImplFacade
Interpolator
Invalid
Invocation
@@ -89,9 +89,11 @@ Media
MediaAccessFacade
MediaFactory
+MediaKind
Meta
Meta
MObject
+Monitor
Mutex
NodeCreatorTool
NodeWiring
@@ -101,6 +103,8 @@ PathManager
Pipe
Placement
+PlayControl
+PlayheadCursor
Plug
PluginAdapter
Prefetch
@@ -111,7 +115,9 @@ Processor
ProcNode
ProcPatt
+Project
Projector
+Prototype
PullInput
QueryCache
QueryHandler
@@ -121,10 +127,13 @@ RelType
RenderEngine
RenderState
+RenderTask
ResolverBase
Scheduler
Segment
SegmentationTool
+Seq
+Sequence
Serializer
Session
SessionImpl
@@ -138,9 +147,14 @@ StateProxy
std::exception
Strategy
+StreamType
+StreamTypeID
Struct
+STypeManager
Thread
Time
+Timeline
+TimelineView
Tool
ToolFactory
Track
diff --git a/doc/devel/uml/fig128133.png b/doc/devel/uml/fig128133.png index 089545c76..ca5e20d4e 100644 Binary files a/doc/devel/uml/fig128133.png and b/doc/devel/uml/fig128133.png differ diff --git a/doc/devel/uml/fig132485.png b/doc/devel/uml/fig132485.png new file mode 100644 index 000000000..54612a806 Binary files /dev/null and b/doc/devel/uml/fig132485.png differ diff --git a/doc/devel/uml/fig132741.png b/doc/devel/uml/fig132741.png new file mode 100644 index 000000000..da739593c Binary files /dev/null and b/doc/devel/uml/fig132741.png differ diff --git a/doc/devel/uml/index.html b/doc/devel/uml/index.html index 1081df7d3..c05d6f597 100644 --- a/doc/devel/uml/index.html +++ b/doc/devel/uml/index.html @@ -36,7 +36,7 @@ Documentation

required classes : Fixture, SessionImpl

Component Session
-

provided classes : EDL, Fixture, MObject, ParamProvider, SessionImpl

+

provided classes : Seq, Fixture, MObject, ParamProvider, SessionImpl

Component EDL
@@ -83,8 +83,21 @@ Documentation
Component client code

required classes : ProcDispatcher

+ +

1.2 Class View Project Entities

+
+ +

+

TimelineSequences



+
Class Project
+
+
Class Monitor
+
+
Class Sequence
+
+
-

1.2 Component View interfaces

+

1.3 Component View interfaces

@@ -104,10 +117,10 @@ Documentation

provided classes : MediaAccessFacade

-

1.3 Package codegen

+

1.4 Package codegen

This package is used to organize code generation by BOUML. It is considered useless after having generated the initial code skeleton.

-

1.3.1 Deployment View EXE Deployment

+

1.4.1 Deployment View EXE Deployment

defines and lists how the Lumiera executable has to be created

@@ -122,14 +135,14 @@ Documentation

Artifact source

-

1.3.2 Package common

+

1.4.2 Package common

  • C++ namespace : lumiera

sourcecode package

Common library and helper classes

Diagram : Source Overview

-

1.3.2.1 Deployment View gen

+

1.4.2.1 Deployment View gen

defines source files to be generated by BOUML

@@ -148,26 +161,29 @@ Documentation
Artifact time

unified representation of a time point, including conversion functions

Artifact source associated with : Time

+ +
Artifact streamtype
+

Artifact source associated with : StreamType, Prototype, ImplFacade

-

1.3.2.2 Package error

+

1.4.2.2 Package error

  • C++ namespace : lumiera::error

Namespace for Exception Kinds

-

1.3.2.3 Package visitor

+

1.4.2.3 Package visitor

  • C++ namespace : lumiera::visitor

sub-namespace for visitor library implementation

-

1.3.3 Package backend

+

1.4.3 Package backend

  • C++ namespace : backend_interface

sourcecode package

Data backend classes here...

-

1.3.3.1 Deployment View gen

+

1.4.3.1 Deployment View gen

Artifact mediaaccessfacade
@@ -176,13 +192,13 @@ Documentation
-

1.3.4 Package proc

+

1.4.4 Package proc

  • C++ namespace : proc_interface

sourcecode package

All classes belonging to the (middle) processing layer

-

1.3.4.1 Deployment View gen

+

1.4.4.1 Deployment View gen

defines source files to be generated by BOUML

@@ -207,13 +223,13 @@ Documentation

Artifact source associated with : Frame

-

1.3.4.2 Package asset

+

1.4.4.2 Package asset

  • C++ namespace : asset

sourcecode package

Asset Management

-

1.3.4.2.1 Deployment View gen

+

1.4.4.2.1 Deployment View gen

defines source files to be generated by BOUML

@@ -286,14 +302,37 @@ Documentation

Artifact source associated with : DB

+ +

1.4.4.3 Package control

+

    +
  • C++ namespace : control
  • +
+

sourcecode package

The Processing and Render Controller,
and the Proc-Layer dispatcher

+ +

1.4.4.3.1 Deployment View gen

+

defines source files to be generated by BOUML

+
+ +
Artifact pathmanager
+

Manager for deciding the actual render strategy

+

Artifact source associated with : PathManager

+ +
Artifact renderstate
+

renderengine state manager

+

Artifact source associated with : RenderState

+ +
Artifact stypemanager
+

Artifact source associated with : STypeManager

+
+
-

1.3.4.3 Package mobject

+

1.4.4.4 Package mobject

  • C++ namespace : mobject

sourcecode package

MObject Subsystem
including the Session (EDL), Builder and Processing Controller

-

1.3.4.3.1 Deployment View gen

+

1.4.4.4.1 Deployment View gen

defines source files to be generated by BOUML

@@ -334,13 +373,13 @@ Documentation

Artifact source associated with : Interpolator

-

1.3.4.3.2 Package session

+

1.4.4.4.2 Package session

  • C++ namespace : mobject::session

sourcecode package

Everything concerning the EDL and Session, within the MObject Subsystem

-

1.3.4.3.2.1 Deployment View gen

+

1.4.4.4.2.1 Deployment View gen

defines source files to be generated by BOUML

@@ -354,7 +393,7 @@ Documentation
Artifact edl

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

-

Artifact source associated with : EDL

+

Artifact source associated with : Seq

Artifact fixture

the (low level) representation of the EDL with concrete placement data

@@ -428,13 +467,13 @@ Documentation
-

1.3.4.3.3 Package builder

+

1.4.4.4.3 Package builder

  • C++ namespace : mobject::builder

sourcecode package

The Builder creating the Render Engine,
located within the MObject Subsystem

-

1.3.4.3.3.1 Deployment View gen

+

1.4.4.4.3.1 Deployment View gen

defines source files to be generated by BOUML

@@ -463,35 +502,15 @@ Documentation

Artifact source associated with : NodeCreatorTool

- -

1.3.4.3.4 Package controller

-

    -
  • C++ namespace : mobject::controller
  • -
-

sourcecode package

The Processing and Render Controller,
located within the MObject Subsystem

- -

1.3.4.3.4.1 Deployment View gen

-

defines source files to be generated by BOUML

-
- -
Artifact pathmanager
-

Manager for deciding the actual render strategy

-

Artifact source associated with : PathManager

- -
Artifact renderstate
-

renderengine state manager

-

Artifact source associated with : RenderState

-
-
-

1.3.4.4 Package engine

+

1.4.4.5 Package engine

  • C++ namespace : engine

sourcecode package

The Core Render Engine

-

1.3.4.4.1 Deployment View gen

+

1.4.4.5.1 Deployment View gen

defines source files to be generated by BOUML

@@ -574,20 +593,20 @@ Documentation
-

1.3.5 Package gui

+

1.4.5 Package gui

  • C++ namespace : gui

sourcecode package

User Interface classes go here

-

1.3.5.1 Deployment View gen

+

1.4.5.1 Deployment View gen

defines source files to be generated by BOUML

-

1.3.6 Package tool

+

1.4.6 Package tool

sourcecode package

Tools and Utilities
(separate from the main cinelrra binary)

-

1.3.6.1 Deployment View gen

+

1.4.6.1 Deployment View gen

defines source files to be generated by BOUML

@@ -637,11 +656,69 @@ Documentation
Class DoRecurse
+ +

2.2 Package Control

+
+ +

2.2.1 Class View Controller Workings

+
+ +

+

Controller Entities



+ +

2.2.1.1 Activity configure Render

+

Pre Condition :

    Post Condition :

      + +

      +

      the render configuration flow



      + +
      Activity action pin Render Request
      +

      Direction : input

      Type :

      Selection :

        +
        Flow <flow>

        From Render Request To determine Render Params

        Weight :

          Guard :

            Selection :

              Transformation :

                + +
                Opaque activity action setup StateProxy
                +

                Defined in configure Render

                Pre Condition :

                  Post Condition :

                    Behavior :

                      +
                      Flow <flow>

                      From setup StateProxy To build necessary?

                      Weight :

                        Guard :

                          Selection :

                            Transformation :

                              + + +
                              Decision activity node build necessary?
                              +

                              Defined in configure Render

                              +
                              Flow <flow>

                              From build necessary? To build Render Engine

                              Weight :

                                Guard :

                                • OCL :
                                  +build necessary

                                Selection :

                                  Transformation :

                                    Flow <flow>

                                    From build necessary? To merge activity node

                                    Weight :

                                      Guard :

                                      • OCL :
                                        +reuse exiting Engine

                                      Selection :

                                        Transformation :

                                          + +
                                          Opaque activity action setup Build Params
                                          +

                                          Defined in configure Render

                                          Pre Condition :

                                            Post Condition :

                                              Behavior :

                                                + +
                                                Merge activity node
                                                +

                                                Defined in configure Render

                                                +
                                                Flow <flow>

                                                From merge activity node To activity final

                                                Weight :

                                                  Guard :

                                                    Selection :

                                                      Transformation :

                                                        + +

                                                        2.2.1.1.1 Expansion region determine Render Params

                                                        + +
                                                        Opaque activity action determine Render Params
                                                        +

                                                        Diagram : the render configuration flow

                                                        +

                                                        Defined in configure Render

                                                        Pre Condition :

                                                          Post Condition :

                                                            Behavior :

                                                              +
                                                              Flow <flow>

                                                              From determine Render Params To setup StateProxy

                                                              Weight :

                                                                Guard :

                                                                  Selection :

                                                                    Transformation :

                                                                      + +
                                                                      Opaque activity action build Render Engine
                                                                      +

                                                                      Defined in configure Render

                                                                      Pre Condition :

                                                                        Post Condition :

                                                                          Behavior :

                                                                            +
                                                                            Flow <flow>

                                                                            From build Render Engine To merge activity node

                                                                            Weight :

                                                                              Guard :

                                                                                Selection :

                                                                                  Transformation :

                                                                                    + + +
                                                                                    Activity final
                                                                                    +

                                                                                    Defined in configure Render

                                                                                    +
                                                                                    +
                                                                                    +
                                                                                    +
                                                                                    +
                                                                                    +
                                                                                    -

                                                                                    2.2 Package MObject

                                                                                    +

                                                                                    2.3 Package MObject

                                                                                    -

                                                                                    2.2.1 Class View Session

                                                                                    +

                                                                                    2.3.1 Class View Session

                                                                                    @@ -649,7 +726,9 @@ Documentation
                                                                                    Class Session
                                                                                    -
                                                                                    Class EDL
                                                                                    +
                                                                                    Class Timeline
                                                                                    +
                                                                                    +
                                                                                    Class Seq
                                                                                    Class Fixture
                                                                                    Class Segment
                                                                                    Class Track
                                                                                    @@ -677,16 +756,16 @@ Documentation
                                                                                    -

                                                                                    2.2.2 Package Builder

                                                                                    +

                                                                                    2.3.2 Package Builder

                                                                                    -

                                                                                    2.2.2.1 Class View Builder Workings

                                                                                    +

                                                                                    2.3.2.1 Class View Builder Workings

                                                                                    build process



                                                                                    This figure shows the process of building and starting a RenderEngine

                                                                                    -

                                                                                    2.2.2.1.1 Activity building the Engine

                                                                                    +

                                                                                    2.3.2.1.1 Activity building the Engine

                                                                                    Pre Condition :

                                                                                      Post Condition :

                                                                                        @@ -700,7 +779,7 @@ Documentation

                                                                                        Defined in building the Engine

                                                                                        Pre Condition :

                                                                                          Post Condition :

                                                                                            Behavior :

                                                                                              Flow <flow>

                                                                                              From configure Tools To fork activity node

                                                                                              Weight :

                                                                                                Guard :

                                                                                                  Selection :

                                                                                                    Transformation :

                                                                                                      -

                                                                                                      2.2.2.1.1.1 Expansion region establish partitioning

                                                                                                      +

                                                                                                      2.3.2.1.1.1 Expansion region establish partitioning

                                                                                                      Opaque activity action define segment
                                                                                                      @@ -727,7 +806,7 @@ Documentation

                                                                                                      Defined in building the Engine

                                                                                                      Flow <flow>

                                                                                                      From fork activity node To segment Tool

                                                                                                      Weight :

                                                                                                        Guard :

                                                                                                          Selection :

                                                                                                            Transformation :

                                                                                                              Flow <flow>

                                                                                                              From fork activity node To build Tool

                                                                                                              Weight :

                                                                                                                Guard :

                                                                                                                  Selection :

                                                                                                                    Transformation :

                                                                                                                      -

                                                                                                                      2.2.2.1.1.2 Expansion region build Processors

                                                                                                                      +

                                                                                                                      2.3.2.1.1.2 Expansion region build Processors

                                                                                                                      Activity object build Tool
                                                                                                                      @@ -771,65 +850,8 @@ Documentation
                                                                                                                      - -

                                                                                                                      2.2.3 Package Controller

                                                                                                                      -
                                                                                                                      - -

                                                                                                                      2.2.3.1 Class View Controller Workings

                                                                                                                      -
                                                                                                                      - -

                                                                                                                      -

                                                                                                                      Controller Entities



                                                                                                                      - -

                                                                                                                      2.2.3.1.1 Activity configure Render

                                                                                                                      -

                                                                                                                      Pre Condition :

                                                                                                                        Post Condition :

                                                                                                                          - -

                                                                                                                          -

                                                                                                                          the render configuration flow



                                                                                                                          - -
                                                                                                                          Activity action pin Render Request
                                                                                                                          -

                                                                                                                          Direction : input

                                                                                                                          Type :

                                                                                                                          Selection :

                                                                                                                            -
                                                                                                                            Flow <flow>

                                                                                                                            From Render Request To determine Render Params

                                                                                                                            Weight :

                                                                                                                              Guard :

                                                                                                                                Selection :

                                                                                                                                  Transformation :

                                                                                                                                    - -
                                                                                                                                    Opaque activity action setup StateProxy
                                                                                                                                    -

                                                                                                                                    Defined in configure Render

                                                                                                                                    Pre Condition :

                                                                                                                                      Post Condition :

                                                                                                                                        Behavior :

                                                                                                                                          -
                                                                                                                                          Flow <flow>

                                                                                                                                          From setup StateProxy To build necessary?

                                                                                                                                          Weight :

                                                                                                                                            Guard :

                                                                                                                                              Selection :

                                                                                                                                                Transformation :

                                                                                                                                                  - - -
                                                                                                                                                  Decision activity node build necessary?
                                                                                                                                                  -

                                                                                                                                                  Defined in configure Render

                                                                                                                                                  -
                                                                                                                                                  Flow <flow>

                                                                                                                                                  From build necessary? To build Render Engine

                                                                                                                                                  Weight :

                                                                                                                                                    Guard :

                                                                                                                                                    • OCL :
                                                                                                                                                      -build necessary

                                                                                                                                                    Selection :

                                                                                                                                                      Transformation :

                                                                                                                                                        Flow <flow>

                                                                                                                                                        From build necessary? To merge activity node

                                                                                                                                                        Weight :

                                                                                                                                                          Guard :

                                                                                                                                                          • OCL :
                                                                                                                                                            -reuse exiting Engine

                                                                                                                                                          Selection :

                                                                                                                                                            Transformation :

                                                                                                                                                              - -
                                                                                                                                                              Opaque activity action setup Build Params
                                                                                                                                                              -

                                                                                                                                                              Defined in configure Render

                                                                                                                                                              Pre Condition :

                                                                                                                                                                Post Condition :

                                                                                                                                                                  Behavior :

                                                                                                                                                                    - -
                                                                                                                                                                    Merge activity node
                                                                                                                                                                    -

                                                                                                                                                                    Defined in configure Render

                                                                                                                                                                    -
                                                                                                                                                                    Flow <flow>

                                                                                                                                                                    From merge activity node To activity final

                                                                                                                                                                    Weight :

                                                                                                                                                                      Guard :

                                                                                                                                                                        Selection :

                                                                                                                                                                          Transformation :

                                                                                                                                                                            - -

                                                                                                                                                                            2.2.3.1.1.1 Expansion region determine Render Params

                                                                                                                                                                            - -
                                                                                                                                                                            Opaque activity action determine Render Params
                                                                                                                                                                            -

                                                                                                                                                                            Diagram : the render configuration flow

                                                                                                                                                                            -

                                                                                                                                                                            Defined in configure Render

                                                                                                                                                                            Pre Condition :

                                                                                                                                                                              Post Condition :

                                                                                                                                                                                Behavior :

                                                                                                                                                                                  -
                                                                                                                                                                                  Flow <flow>

                                                                                                                                                                                  From determine Render Params To setup StateProxy

                                                                                                                                                                                  Weight :

                                                                                                                                                                                    Guard :

                                                                                                                                                                                      Selection :

                                                                                                                                                                                        Transformation :

                                                                                                                                                                                          - -
                                                                                                                                                                                          Opaque activity action build Render Engine
                                                                                                                                                                                          -

                                                                                                                                                                                          Defined in configure Render

                                                                                                                                                                                          Pre Condition :

                                                                                                                                                                                            Post Condition :

                                                                                                                                                                                              Behavior :

                                                                                                                                                                                                -
                                                                                                                                                                                                Flow <flow>

                                                                                                                                                                                                From build Render Engine To merge activity node

                                                                                                                                                                                                Weight :

                                                                                                                                                                                                  Guard :

                                                                                                                                                                                                    Selection :

                                                                                                                                                                                                      Transformation :

                                                                                                                                                                                                        - - -
                                                                                                                                                                                                        Activity final
                                                                                                                                                                                                        -

                                                                                                                                                                                                        Defined in configure Render

                                                                                                                                                                                                        -
                                                                                                                                                                                                        -
                                                                                                                                                                                                        -
                                                                                                                                                                                                        -
                                                                                                                                                                                                        -
                                                                                                                                                                                                        -

                                                                                                                                                                                                        2.2.4 Use Case View config examples

                                                                                                                                                                                                        +

                                                                                                                                                                                                        2.3.3 Use Case View config examples

                                                                                                                                                                                                        @@ -847,10 +869,10 @@ reuse exiting Engine

                                                                                                                                                                                                        Selection :

                                                                                                                                                                                                          Transformation
                                                                                                                                                                                                          Class instance

                                                                                                                                                                                                          type :Placement

                                                                                                                                                                                                          -

                                                                                                                                                                                                          2.3 Package RenderEngine

                                                                                                                                                                                                          +

                                                                                                                                                                                                          2.4 Package RenderEngine

                                                                                                                                                                                                          -

                                                                                                                                                                                                          2.3.1 Deployment View Engine Parts

                                                                                                                                                                                                          +

                                                                                                                                                                                                          2.4.1 Deployment View Engine Parts

                                                                                                                                                                                                          @@ -869,7 +891,7 @@ reuse exiting Engine

                                                                                                                                                                                                          Selection :

                                                                                                                                                                                                            Transformation
                                                                                                                                                                                                            Node State

                                                                                                                                                                                                            -

                                                                                                                                                                                                            2.3.2 Class View Engine Workings

                                                                                                                                                                                                            +

                                                                                                                                                                                                            2.4.2 Class View Engine Workings

                                                                                                                                                                                                            @@ -915,7 +937,7 @@ reuse exiting Engine

                                                                                                                                                                                                            Selection :

                                                                                                                                                                                                              Transformation

                                                                                                                                                                                                              -

                                                                                                                                                                                                              2.4 Use Case View Renderengine Use

                                                                                                                                                                                                              +

                                                                                                                                                                                                              2.5 Use Case View Renderengine Use

                                                                                                                                                                                                              @@ -943,11 +965,9 @@ reuse exiting Engine

                                                                                                                                                                                                              Selection :

                                                                                                                                                                                                                Transformation
                                                                                                                                                                                                                Class instance video1

                                                                                                                                                                                                                type :Track

                                                                                                                                                                                                                Class instance vid_A

                                                                                                                                                                                                                type :Clip

                                                                                                                                                                                                                attributes :

                                                                                                                                                                                                                Class instance aud_A

                                                                                                                                                                                                                type :Clip

                                                                                                                                                                                                                attributes :

                                                                                                                                                                                                                Class instance audio1

                                                                                                                                                                                                                type :Track

                                                                                                                                                                                                                Class instance

                                                                                                                                                                                                                type :ExplicitPlacement

                                                                                                                                                                                                                attributes :

                                                                                                                                                                                                                  @@ -958,9 +978,8 @@ reuse exiting Engine

                                                                                                                                                                                                                Selection :

                                                                                                                                                                                                                  Transformation
                                                                                                                                                                                                                  Class instance

                                                                                                                                                                                                                  type :Fixture

                                                                                                                                                                                                                  Class instance vid_A

                                                                                                                                                                                                                  type :Clip

                                                                                                                                                                                                                  attributes :

                                                                                                                                                                                                                  -
                                                                                                                                                                                                                  Class instance

                                                                                                                                                                                                                  type :EDL

                                                                                                                                                                                                                  +
                                                                                                                                                                                                                  Class instance

                                                                                                                                                                                                                  type :Seq

                                                                                                                                                                                                                  Class instance refPoint

                                                                                                                                                                                                                  type :Label

                                                                                                                                                                                                                  attributes :

                                                                                                                                                                                                                  @@ -969,7 +988,6 @@ reuse exiting Engine

                                                                                                                                                                                                                  Selection :

                                                                                                                                                                                                                    Transformation

                                                                                                                                                                                                                    Class instance vid_A

                                                                                                                                                                                                                    type :Clip

                                                                                                                                                                                                                    attributes :

                                                                                                                                                                                                                    Class instance

                                                                                                                                                                                                                    type :RelativeLocation

                                                                                                                                                                                                                    attributes :

                                                                                                                                                                                                                    • relType = SAMETIME
                                                                                                                                                                                                                    • @@ -978,7 +996,7 @@ reuse exiting Engine

                                                                                                                                                                                                                    Selection :

                                                                                                                                                                                                                      Transformation

                                                                                                                                                                                                                      Class instance

                                                                                                                                                                                                                      type :Effect

                                                                                                                                                                                                                      attributes :

                                                                                                                                                                                                                      Class instance

                                                                                                                                                                                                                      type :RelativeLocation

                                                                                                                                                                                                                      attributes :

                                                                                                                                                                                                                      • offset = +3
                                                                                                                                                                                                                      • @@ -988,7 +1006,7 @@ reuse exiting Engine

                                                                                                                                                                                                                      Selection :

                                                                                                                                                                                                                        Transformation

                                                                                                                                                                                                                        Class instance

                                                                                                                                                                                                                        type :Effect

                                                                                                                                                                                                                        attributes :

                                                                                                                                                                                                                        Class instance

                                                                                                                                                                                                                        type :ExplicitPlacement

                                                                                                                                                                                                                        attributes :

                                                                                                                                                                                                                        • time = 5
                                                                                                                                                                                                                        • @@ -1162,11 +1180,23 @@ reuse exiting Engine

                                                                                                                                                                                                                        Selection :

                                                                                                                                                                                                                          Transformation

                                                                                                                                                                                                                          GUI is here just a container to hold any entities considered to be User Interface related, which is not in focus for this Design draft

                                                                                                                                                                                                                          5 Package CommonLib

                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                          5.1 Class View StreamType

                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          + +

                                                                                                                                                                                                                          +

                                                                                                                                                                                                                          Stream Type Framework



                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          Class Prototype
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          Class MediaKind
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                          -

                                                                                                                                                                                                                          5.1 Package ConfigQuery

                                                                                                                                                                                                                          +

                                                                                                                                                                                                                          5.2 Package ConfigQuery

                                                                                                                                                                                                                          -

                                                                                                                                                                                                                          5.1.1 Component View Query System overview

                                                                                                                                                                                                                          +

                                                                                                                                                                                                                          5.2.1 Component View Query System overview

                                                                                                                                                                                                                          @@ -1182,7 +1212,7 @@ reuse exiting Engine

                                                                                                                                                                                                                          Selection :

                                                                                                                                                                                                                            Transformation
                                                                                                                                                                                                                            Component DefaultsManager

                                                                                                                                                                                                                            -

                                                                                                                                                                                                                            5.1.2 Class View query

                                                                                                                                                                                                                            +

                                                                                                                                                                                                                            5.2.2 Class View query

                                                                                                                                                                                                                            @@ -1198,27 +1228,27 @@ reuse exiting Engine

                                                                                                                                                                                                                            Selection :

                                                                                                                                                                                                                              Transformation

                                                                                                                                                                                                                              -

                                                                                                                                                                                                                              5.1.3 Use Case View query use

                                                                                                                                                                                                                              +

                                                                                                                                                                                                                              5.2.3 Use Case View query use

                                                                                                                                                                                                                              when to query



                                                                                                                                                                                                                              -

                                                                                                                                                                                                                              5.1.3.1 Use Case create specific object

                                                                                                                                                                                                                              +

                                                                                                                                                                                                                              5.2.3.1 Use Case create specific object

                                                                                                                                                                                                                              -

                                                                                                                                                                                                                              5.1.3.2 Use Case use "default" object

                                                                                                                                                                                                                              +

                                                                                                                                                                                                                              5.2.3.2 Use Case use "default" object

                                                                                                                                                                                                                              -

                                                                                                                                                                                                                              5.1.3.3 Use Case load object from session

                                                                                                                                                                                                                              +

                                                                                                                                                                                                                              5.2.3.3 Use Case load object from session

                                                                                                                                                                                                                              -

                                                                                                                                                                                                                              5.1.3.4 Use Case add new object to session

                                                                                                                                                                                                                              +

                                                                                                                                                                                                                              5.2.3.4 Use Case add new object to session

                                                                                                                                                                                                                              Class User
                                                                                                                                                                                                                              -

                                                                                                                                                                                                                              5.1.3.5 Use Case ConfigQuery

                                                                                                                                                                                                                              +

                                                                                                                                                                                                                              5.2.3.5 Use Case ConfigQuery

                                                                                                                                                                                                                              -

                                                                                                                                                                                                                              5.1.3.6 Use Case need sub object

                                                                                                                                                                                                                              +

                                                                                                                                                                                                                              5.2.3.6 Use Case need sub object

                                                                                                                                                                                                                              "default" object



                                                                                                                                                                                                                              @@ -1226,7 +1256,7 @@ reuse exiting Engine

                                                                                                                                                                                                                              Selection :

                                                                                                                                                                                                                                Transformation
                                                                                                                                                                                                                                Class instance predicate impl

                                                                                                                                                                                                                                type :TypeHandler

                                                                                                                                                                                                                                -

                                                                                                                                                                                                                                5.2 Class View error

                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                5.3 Class View error

                                                                                                                                                                                                                                @@ -1240,7 +1270,7 @@ reuse exiting Engine

                                                                                                                                                                                                                                Selection :

                                                                                                                                                                                                                                  Transformation

                                                                                                                                                                                                                                  -

                                                                                                                                                                                                                                  5.3 Class View Service Components

                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                  5.4 Class View Service Components

                                                                                                                                                                                                                                  Class Tool
                                                                                                                                                                                                                                  @@ -1250,7 +1280,7 @@ reuse exiting Engine

                                                                                                                                                                                                                                  Selection :

                                                                                                                                                                                                                                    Transformation
                                                                                                                                                                                                                                    Class Appconfig

                                                                                                                                                                                                                                    -

                                                                                                                                                                                                                                    5.4 Class View Posix Threads Abstraction

                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                    5.5 Class View Posix Threads Abstraction

                                                                                                                                                                                                                                    C++ wrapers for pthreads

                                                                                                                                                                                                                                    Class Thread
                                                                                                                                                                                                                                    @@ -1258,7 +1288,7 @@ reuse exiting Engine

                                                                                                                                                                                                                                    Selection :

                                                                                                                                                                                                                                      Transformation
                                                                                                                                                                                                                                      Class Mutex

                                                                                                                                                                                                                                      -

                                                                                                                                                                                                                                      5.5 Class View SmartPointers

                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                      5.6 Class View SmartPointers

                                                                                                                                                                                                                                      diff --git a/doc/devel/uml/index_60.html b/doc/devel/uml/index_60.html index a873c25b0..75ccc147d 100644 --- a/doc/devel/uml/index_60.html +++ b/doc/devel/uml/index_60.html @@ -17,8 +17,8 @@ - + @@ -28,8 +28,8 @@ - + diff --git a/doc/devel/uml/index_65.html b/doc/devel/uml/index_65.html index 33d5ebd2f..ab57596c5 100644 --- a/doc/devel/uml/index_65.html +++ b/doc/devel/uml/index_65.html @@ -55,12 +55,12 @@ - + - - + + diff --git a/doc/devel/uml/index_67.html b/doc/devel/uml/index_67.html index 8432e5cc6..81d96139c 100644 --- a/doc/devel/uml/index_67.html +++ b/doc/devel/uml/index_67.html @@ -26,38 +26,38 @@ - + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + @@ -96,9 +96,9 @@ + + - - diff --git a/doc/devel/uml/index_69.html b/doc/devel/uml/index_69.html index a7245b34b..4fe57adfd 100644 --- a/doc/devel/uml/index_69.html +++ b/doc/devel/uml/index_69.html @@ -19,7 +19,6 @@ - @@ -27,6 +26,7 @@ + diff --git a/doc/devel/uml/index_70.html b/doc/devel/uml/index_70.html index 56bc1daaf..77ab812da 100644 --- a/doc/devel/uml/index_70.html +++ b/doc/devel/uml/index_70.html @@ -36,8 +36,8 @@ - + diff --git a/doc/devel/uml/index_71.html b/doc/devel/uml/index_71.html index f4ad7d96d..75f10c74f 100644 --- a/doc/devel/uml/index_71.html +++ b/doc/devel/uml/index_71.html @@ -46,6 +46,7 @@ + diff --git a/doc/devel/uml/index_73.html b/doc/devel/uml/index_73.html index e127cf07e..963294360 100644 --- a/doc/devel/uml/index_73.html +++ b/doc/devel/uml/index_73.html @@ -18,11 +18,12 @@
                                                                                                                                                                                                                                      NameKindDescription
                                                                                                                                                                                                                                      <flow>transition
                                                                                                                                                                                                                                      <flow>transition
                                                                                                                                                                                                                                      <flow>transition
                                                                                                                                                                                                                                      <flow>transition
                                                                                                                                                                                                                                      <flow>transition
                                                                                                                                                                                                                                      <flow>transition
                                                                                                                                                                                                                                      <flow>transition
                                                                                                                                                                                                                                      <flow>transition
                                                                                                                                                                                                                                      <flow>transition
                                                                                                                                                                                                                                      <flow>transition
                                                                                                                                                                                                                                      <flow>transition
                                                                                                                                                                                                                                      <flow>transition
                                                                                                                                                                                                                                      <flow>transition
                                                                                                                                                                                                                                      <flow>transition
                                                                                                                                                                                                                                      <flow>transition
                                                                                                                                                                                                                                      Assetsclass view
                                                                                                                                                                                                                                      ATTACHattributeattach subject to anchor (e.g. an effect to a clip)
                                                                                                                                                                                                                                      au1class instance
                                                                                                                                                                                                                                      aud_Aclass instance
                                                                                                                                                                                                                                      aud_aclass instance
                                                                                                                                                                                                                                      aud_Aclass instance
                                                                                                                                                                                                                                      audioclass instance
                                                                                                                                                                                                                                      audio1class instance
                                                                                                                                                                                                                                      audio1class instance
                                                                                                                                                                                                                                      audio1class instance
                                                                                                                                                                                                                                      audio1class instance
                                                                                                                                                                                                                                      audio1class instance
                                                                                                                                                                                                                                      autoartifactMedia Object holding automation data
                                                                                                                                                                                                                                      AutoclassAutomation data for some parameter (i.e. a time varying function)
                                                                                                                                                                                                                                      Automation Entitiesclass diagram
                                                                                                                                                                                                                                      Categoryclasstree like classification of Assets
                                                                                                                                                                                                                                      categoryartifacttree like classification of Assets
                                                                                                                                                                                                                                      causeattributea copy of the first exception encountered in this exception chain
                                                                                                                                                                                                                                      chainoperationcreate and add another Placement for this media object, thus increasingly constraining the (possible) position of this object.
                                                                                                                                                                                                                                      chainrelationChain of additional Placements further constraining the position of this MObject
                                                                                                                                                                                                                                      chainoperationcreate and add another Placement for this media object, thus increasingly constraining the (possible) position of this object.
                                                                                                                                                                                                                                      checked_inrelationchecked_in objects are subject of cache aging and must be not in use
                                                                                                                                                                                                                                      checked_outrelationthis list keeps all mappings which are in use, and thus prevents them from Cache aging
                                                                                                                                                                                                                                      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
                                                                                                                                                                                                                                      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.
                                                                                                                                                                                                                                      client codecomponent
                                                                                                                                                                                                                                      Clipclassbookkeeping (asset) view of a media clip.
                                                                                                                                                                                                                                      connectopaque activity action
                                                                                                                                                                                                                                      constraintartifactLocatingPin representing an directive by the user that
                                                                                                                                                                                                                                      must not be violated
                                                                                                                                                                                                                                      Constraintclass
                                                                                                                                                                                                                                      controlpackagesourcecode package

                                                                                                                                                                                                                                      The Processing and Render Controller,
                                                                                                                                                                                                                                      and the Proc-Layer dispatcher
                                                                                                                                                                                                                                      Controlpackage
                                                                                                                                                                                                                                      Controllercomponent
                                                                                                                                                                                                                                      Controllerpackage
                                                                                                                                                                                                                                      controllerpackagesourcecode package

                                                                                                                                                                                                                                      The Processing and Render Controller,
                                                                                                                                                                                                                                      located within the MObject Subsystem
                                                                                                                                                                                                                                      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.
                                                                                                                                                                                                                                      NameKindDescription
                                                                                                                                                                                                                                      edlartifactthe (high level) Edit Decision List within the current Session
                                                                                                                                                                                                                                      EDLcomponent
                                                                                                                                                                                                                                      EDLclass
                                                                                                                                                                                                                                      EDL Example1object diagramA simple example showing how the actual objects are placed in the Fixture (=definitive playlist). It shows a Video and Audio clip placed on two tracks
                                                                                                                                                                                                                                      EDL Example2object diagramMore complex example showing the Object graph in the EDL and how it is linked into the Fixture to yield the actual locations. In this example, an HUE Effect is applied on a part of the Clip
                                                                                                                                                                                                                                      edlsrelation
                                                                                                                                                                                                                                      effectartifactEDL representation of a pluggable and automatable effect.
                                                                                                                                                                                                                                      effectartifactEffect or media processing component
                                                                                                                                                                                                                                      Effectclass
                                                                                                                                                                                                                                      effectiveTimelinerelation
                                                                                                                                                                                                                                      elementsrelationrelevant MObjects comprising this segment. TODO: actually necessary??
                                                                                                                                                                                                                                      enableoperationchange the enabled status of this asset. Note the corresponding #isActive predicate may depend on the enablement status of parent assets as well
                                                                                                                                                                                                                                      endattributeend of the timerange (excl)
                                                                                                                                                                                                                                      FixedLocationclass
                                                                                                                                                                                                                                      Fixtureactivity object
                                                                                                                                                                                                                                      fixtureartifactthe (low level) representation of the EDL with concrete placement data
                                                                                                                                                                                                                                      Fixturecomponent
                                                                                                                                                                                                                                      Fixtureclass
                                                                                                                                                                                                                                      Fixturecomponent
                                                                                                                                                                                                                                      fork activity nodefork activity node
                                                                                                                                                                                                                                      FrameclassFrames 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.
                                                                                                                                                                                                                                      Framenode
                                                                                                                                                                                                                                      getValueoperation
                                                                                                                                                                                                                                      GLBufclass
                                                                                                                                                                                                                                      glbufartifacta buffer and render process holding a Video frame for OpenGL rendering
                                                                                                                                                                                                                                      globalBussesrelation
                                                                                                                                                                                                                                      glpipeartifactspecialized connection element for handling OpenGL implementation details
                                                                                                                                                                                                                                      glrenderartifactRepresentation of a OpenGL accellerated Video render process
                                                                                                                                                                                                                                      groupsattributeadditional classification, selections or departments this asset belongs to. Groups are optional, non-exclusive and may be overlapping.
                                                                                                                                                                                                                                      + - - + + diff --git a/doc/devel/uml/index_77.html b/doc/devel/uml/index_77.html index e6d8e8031..c88824279 100644 --- a/doc/devel/uml/index_77.html +++ b/doc/devel/uml/index_77.html @@ -31,6 +31,7 @@ + @@ -40,6 +41,7 @@ +
                                                                                                                                                                                                                                      NameKindDescription
                                                                                                                                                                                                                                      idattributeAsset primary key.
                                                                                                                                                                                                                                      ImplFacadeclass
                                                                                                                                                                                                                                      In Memory Databaseclass diagram
                                                                                                                                                                                                                                      inFixtureactivity action pin
                                                                                                                                                                                                                                      inputclass instance
                                                                                                                                                                                                                                      inputclass instance
                                                                                                                                                                                                                                      inputclass instance
                                                                                                                                                                                                                                      inputclass instance
                                                                                                                                                                                                                                      inputclass instance
                                                                                                                                                                                                                                      instanceoperation
                                                                                                                                                                                                                                      instructionsrelation
                                                                                                                                                                                                                                      Interfaceclass view
                                                                                                                                                                                                                                      MediaAccessFacadeclassprovides functions for querying (opening) a media file, detecting the channels or streams found within this file, etc. Delegating to the actual backend functions
                                                                                                                                                                                                                                      MediaFactorycomponent
                                                                                                                                                                                                                                      MediaFactoryclassspecialized Asset Factory for configuring (new) media asset instances based on existing media files on disk; can create placeholder assets as well
                                                                                                                                                                                                                                      MediaKindclass
                                                                                                                                                                                                                                      merge activity nodemerge activity node
                                                                                                                                                                                                                                      Metaclasskey abstraction: metadata and organisational asset
                                                                                                                                                                                                                                      metaartifactkey abstraction: metadata and organisational asset
                                                                                                                                                                                                                                      mobjectpackagesourcecode package

                                                                                                                                                                                                                                      MObject Subsystem
                                                                                                                                                                                                                                      including the Session (EDL), Builder and Processing Controller
                                                                                                                                                                                                                                      MObjectpackage
                                                                                                                                                                                                                                      MObjectclass
                                                                                                                                                                                                                                      Monitorclass
                                                                                                                                                                                                                                      multichannel clipobject diagram
                                                                                                                                                                                                                                      MutexclassI provided a reworked Mutex class in my Cinelerra2 repository
                                                                                                                                                                                                                                      diff --git a/doc/devel/uml/index_80.html b/doc/devel/uml/index_80.html index 368babe6a..85ccb15d9 100644 --- a/doc/devel/uml/index_80.html +++ b/doc/devel/uml/index_80.html @@ -31,10 +31,12 @@ placementartifactKey Abstraction: a way to place and locate a Media Object Placementclassused to specify the position of a MObject in the EDL. This can be done in various ways (absolute, relative).
                                                                                                                                                                                                                                      Placement at the same time acts as (refcounting) smart pointer for accessing the MObject. playoperationTODO: will probably be handled differently (see Cehteh) +PlayControlclass +PlayheadCursorclass playlistnode plugartifactLocatingPin for requesting connection to some Port Plugclass -plugIDattributeIdentifier of the Plugin to be used +pluginattributeIdentifier of the Plugin to be used PluginAdapterclassAdapter used to integrage an effects processor in the render pipeline pluginadapterartifactAdapter for integrating various Effect processors in the render pipeline pnodenode @@ -63,8 +65,11 @@ procnodeartifactKey abstraction of the Render Engine: a Processing Node ProcPattclassspecial type of structural Asset representing information how to build some part of the render engine's processing nodes network. procpattartifacttemplate for building some render processing network +Projectclass +Project Entitiesclass view ProjectorclassSpecial video processing node used to scale and translate image data. projectorartifactvideo ProcNode for scaling and translating image data +Prototypeclass providerrelation pulloperation PullInputclass diff --git a/doc/devel/uml/index_82.html b/doc/devel/uml/index_82.html index 9b107d854..fd3368437 100644 --- a/doc/devel/uml/index_82.html +++ b/doc/devel/uml/index_82.html @@ -39,6 +39,7 @@ renderSegmentsrelation 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 +RenderTaskclass 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. diff --git a/doc/devel/uml/index_83.html b/doc/devel/uml/index_83.html index 4ea8bf79b..e92c87510 100644 --- a/doc/devel/uml/index_83.html +++ b/doc/devel/uml/index_83.html @@ -28,12 +28,14 @@ segmentsactivity object segmentsactivity object segmentsrelationthe partitioning of the Timeline to be created by this tool. +Seqclass +Sequenceclass Serializerclass Service Componentsclass view Sessioncomponent sessionartifactInterface: the session edited by the user -Sessionclass view sessionpackagesourcecode package

                                                                                                                                                                                                                                      Everything concerning the EDL and Session, within the MObject Subsystem +Sessionclass view SessionclassPrimary 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. Session structureclass diagram sessionimplartifactholds the complete session data to be edited by the user @@ -52,7 +54,6 @@ SourceclassSource Node: represents a media source to pull data from. sourceartifactRepresentation of a Media source Source Overviewdeployment diagram -startattributestartpos in source startattributebegin of the timerange covered by this processor startattribute Stateclass @@ -65,11 +66,19 @@ stateproxyartifactKey Interface representing a render process and encapsulating state std::exceptionclass Strategyclass +Stream Type Frameworkclass diagram +StreamTypeclass view +streamtypeartifact +StreamTypeclass +StreamTypeIDclass Structclasskey abstraction: structural asset structartifactkey abstraction: structural asset Struct-Asset Relationsclass diagram +STypeManagerclass +stypemanagerartifact subjectrelationPlacement acts as smart pointer subPatternrelation +subSequencesrelation subTracksrelationChild tracks in a tree structure diff --git a/doc/devel/uml/index_84.html b/doc/devel/uml/index_84.html index 96532f18f..8f80d7c8d 100644 --- a/doc/devel/uml/index_84.html +++ b/doc/devel/uml/index_84.html @@ -20,35 +20,38 @@ the render configuration flowactivity diagram theApp_attributeholds the single instance and triggers initialization theFixturerelation -theTimelinerelation ThreadclassWe can basically reuse the Thread class design from Cinelerra2, Thread becomes a baseclass for all Threads timeattribute timeartifactunified representation of a time point, including conversion functions Timeclassdenotes a temporal position (time point), based on timeline start.

                                                                                                                                                                                                                                      investigate posix.4 realtime timers, wrap these here timelinenode +Timelineclass +TimelineSequencesclass diagram +TimelineViewclass toolpackagesourcecode package

                                                                                                                                                                                                                                      Tools and Utilities
                                                                                                                                                                                                                                      (separate from the main cinelrra binary) Toolclass ToolFactoryclass toolfactoryartifactsupply of Tool implementations for the Builder Trackclassstructural asset holding the configuration of a track in the EDL -trackrelation trackattribute trackrelation -trackartifactA grouping device within the EDL. The corresponding Placement
                                                                                                                                                                                                                                      by which this Track object is refered defines fallback placing
                                                                                                                                                                                                                                      properties to be used by all objects placed on this track in
                                                                                                                                                                                                                                      case they don't specify more concrete placements.
                                                                                                                                                                                                                                      Typically, tracks are used do make default Port connections,
                                                                                                                                                                                                                                      define a layer or pan for sound and for for disabling groups
                                                                                                                                                                                                                                      of clips. Note tracks are grouped in a tree like fashion.
                                                                                                                                                                                                                                      trackartifactstructural asset holding the configuration of a track in the EDL +trackartifactA grouping device within the EDL. The corresponding Placement
                                                                                                                                                                                                                                      by which this Track object is refered defines fallback placing
                                                                                                                                                                                                                                      properties to be used by all objects placed on this track in
                                                                                                                                                                                                                                      case they don't specify more concrete placements.
                                                                                                                                                                                                                                      Typically, tracks are used do make default Port connections,
                                                                                                                                                                                                                                      define a layer or pan for sound and for for disabling groups
                                                                                                                                                                                                                                      of clips. Note tracks are grouped in a tree like fashion.
                                                                                                                                                                                                                                      +trackrelation Trackclass tracksrelationelementary media assets comprising this compound +trackTreerelation Trafoclass trafoartifacttransforming processing Node treatoperation treatoperationThis operation is to be overloaded for the specific MObject subclasses to be treated. -treatoperation -treatoperation -treatoperation treatoperation +treatoperation +treatoperation +treatoperation treatoperation -treatoperation treatoperation +treatoperation TypeHandlerclass TypeHandler<Pipe>class diff --git a/doc/devel/uml/index_86.html b/doc/devel/uml/index_86.html index 3538c8202..203265efb 100644 --- a/doc/devel/uml/index_86.html +++ b/doc/devel/uml/index_86.html @@ -21,21 +21,21 @@ VFrameclass vframeartifacta buffer and render process holding a Video frame vid1class instance -vid_Aclass instance vid_aclass instance +vid_aclass instance +vid_Aclass instance vid_Aclass instance vid_Aclass instance -vid_aclass instance -videoclass instance videoclass instance videoclass instance videoclass instance -video1class instance -video1class instance -video1class instance +videoclass instance video1class instance +video1class instance +video1class instance video1class instance video1class instance +video1class instance Visitableclass visitorpackagesub-namespace for visitor library implementation visitorartifactAcyclic Visitor library diff --git a/doc/devel/uml/packages.html b/doc/devel/uml/packages.html index 49c0f4f80..25b52f427 100644 --- a/doc/devel/uml/packages.html +++ b/doc/devel/uml/packages.html @@ -20,14 +20,14 @@ Asset backendsrcsourcecode package

                                                                                                                                                                                                                                      Data backend classes here... BackendLayer -buildersrcsourcecode package

                                                                                                                                                                                                                                      The Builder creating the Render Engine,
                                                                                                                                                                                                                                      located within the MObject Subsystem Builder +buildersrcsourcecode package

                                                                                                                                                                                                                                      The Builder creating the Render Engine,
                                                                                                                                                                                                                                      located within the MObject Subsystem codegenThis package is used to organize code generation by BOUML. It is considered useless after having generated the initial code skeleton. commonsrcsourcecode package

                                                                                                                                                                                                                                      Common library and helper classes CommonLib ConfigQuery -Controller -controllersrcsourcecode package

                                                                                                                                                                                                                                      The Processing and Render Controller,
                                                                                                                                                                                                                                      located within the MObject Subsystem +controlsrcsourcecode package

                                                                                                                                                                                                                                      The Processing and Render Controller,
                                                                                                                                                                                                                                      and the Proc-Layer dispatcher +Control design designAll things concering the big picture.
                                                                                                                                                                                                                                      Not a real code package, rather a container for design drafts, specifications, decisions. enginesrcsourcecode package

                                                                                                                                                                                                                                      The Core Render Engine diff --git a/doc/devel/uml/public_operations.html b/doc/devel/uml/public_operations.html index 07fb079d7..fe9b01e39 100644 --- a/doc/devel/uml/public_operations.html +++ b/doc/devel/uml/public_operations.html @@ -69,12 +69,12 @@ saveSessManagercreate a complete, serialized representation
                                                                                                                                                                                                                                      of the current session config and contents.
                                                                                                                                                                                                                                      @todo how to serialize, prameters, return value? treatApplicable treatBuilderToolThis operation is to be overloaded for the specific MObject subclasses to be treated. +treatNodeCreatorTool treatNodeCreatorTool treatNodeCreatorTool -treatNodeCreatorTool treatNodeCreatorTool -treatSegmentationTool treatSegmentationTool +treatSegmentationTool treatSegmentationTool useFileFileProviderAnnounces that the application intends to use this file with mode (READ|WRITE|READWRITE) useTemporaryStorageFileProviderProvides a pool for interminate frames diff --git a/uml/lumiera/128005 b/uml/lumiera/128005 index dc0adfe5f..d3970e39a 100644 --- a/uml/lumiera/128005 +++ b/uml/lumiera/128005 @@ -1,6 +1,6 @@ format 40 "design" // design - revision 11 + revision 13 modified_by 5 "hiv" // class settings //class diagram settings @@ -50,7 +50,7 @@ Not a real code package, rather a container for design drafts, specifications, d component 128005 "Builder" stereotype "subsystem" provided_classes - class_ref 132741 // StateProxy + class_ref 132741 // State end required_classes class_ref 128261 // Fixture @@ -61,7 +61,7 @@ Not a real code package, rather a container for design drafts, specifications, d component 128133 "Session" stereotype "subsystem" provided_classes - class_ref 128133 // EDL + class_ref 128133 // Seq class_ref 128261 // Fixture class_ref 128517 // MObject class_ref 134661 // ParamProvider @@ -99,7 +99,7 @@ Not a real code package, rather a container for design drafts, specifications, d component 128901 "Engine" required_classes - class_ref 132741 // StateProxy + class_ref 132741 // State end simplerelation 128133 -_-> @@ -151,6 +151,206 @@ Not a real code package, rather a container for design drafts, specifications, d end end + classview 129413 "Project Entities" + //class diagram settings + draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default + //collaboration diagram settings + show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default + //object diagram settings + write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default + //sequence diagram settings + show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default + //state diagram settings + package_name_in_tab default show_context default auto_label_position default write_trans_label_horizontally default show_trans_definition default draw_all_relations default shadow default + show_activities default region_horizontally default drawing_language default + //class settings + //activity diagram settings + package_name_in_tab default show_context default show_opaque_action_definition default auto_label_position default write_flow_label_horizontally default draw_all_relations default shadow default + show_infonote default drawing_language default + + classdiagram 132741 "TimelineSequences" + 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 + size A4 + end + + class 145669 "Project" + visibility package + cpp_decl "${comment}${template}class ${name}${inherit} + { +${members} }; +${inlines} +" + java_decl "" + idl_decl "" + explicit_switch_type "" + + classrelation 158981 // + relation 154885 *--- + a role_name "" multiplicity "1..*" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value}; +" + classrelation_ref 158981 // + b role_name "" multiplicity "1" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value}; +" + classrelation_ref 159109 // + end + + classrelation 159365 // + relation 155141 *--- + a role_name "" multiplicity "1..*" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value}; +" + classrelation_ref 159365 // + b role_name "" multiplicity "1" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value}; +" + classrelation_ref 159493 // + end + end + + class 145925 "PlayControl" + visibility package + cpp_decl "${comment}${template}class ${name}${inherit} + { +${members} }; +${inlines} +" + java_decl "" + idl_decl "" + explicit_switch_type "" + + classrelation 160389 // + relation 156037 ---> + stereotype "direct" + a role_name "" multiplicity "*" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 160389 // + b multiplicity "" parent class_ref 146437 // PlayheadCursor + end + end + + class 146053 "Monitor" + visibility package + cpp_decl "${comment}${template}class ${name}${inherit} + { +${members} }; +${inlines} +" + java_decl "" + idl_decl "" + explicit_switch_type "" + + classrelation 160133 // + relation 155781 ---> + stereotype "attach" + a role_name "" multiplicity "0..1" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 160133 // + b multiplicity "" parent class_ref 145541 // Timeline + end + + classrelation 160517 // + relation 156165 ---- + a role_name "" multiplicity "" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 160517 // + b role_name "" multiplicity "" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 160645 // + end + end + + class 146181 "RenderTask" + visibility package + cpp_decl "${comment}${template}class ${name}${inherit} + { +${members} }; +${inlines} +" + java_decl "" + idl_decl "" + explicit_switch_type "" + + classrelation 160261 // + relation 155909 ---> + a role_name "" multiplicity "" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 160261 // + b multiplicity "" parent class_ref 145541 // Timeline + end + end + + class 146309 "Sequence" + visibility package + cpp_decl "${comment}${template}class ${name}${inherit} + { +${members} }; +${inlines} +" + java_decl "" + idl_decl "" + explicit_switch_type "" + + classrelation 159493 // + relation_ref 155141 // + end + + classrelation 159877 // subSequences () + relation 155525 ---> + stereotype "contains" + a role_name "subSequences" multiplicity "*" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 159877 // subSequences () + b multiplicity "1..*" parent class_ref 146309 // Sequence + end + + classrelation 161541 // + relation 156933 ---> + a role_name "" multiplicity "" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 161541 // + b multiplicity "" parent class_ref 128517 // MObject + end + + classrelation 161669 // trackTree () + relation 157061 ---> + a role_name "trackTree" multiplicity "1" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 161669 // trackTree () + b multiplicity "" parent class_ref 128389 // Track + end + end + + class 146437 "PlayheadCursor" + visibility package + cpp_decl "${comment}${template}class ${name}${inherit} + { +${members} }; +${inlines} +" + java_decl "" + idl_decl "" + explicit_switch_type "" + + classrelation 160645 // + relation_ref 156165 // + end + + classrelation 160901 // + relation_ref 156293 // + end + end + end + componentview 128133 "interfaces" //component diagram settings package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default diff --git a/uml/lumiera/128133.diagram b/uml/lumiera/128133.diagram index 466c2ad1d..1fbd686ec 100644 --- a/uml/lumiera/128133.diagram +++ b/uml/lumiera/128133.diagram @@ -4,7 +4,7 @@ classcanvas 128005 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_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 18 679 2000 end -classcanvas 128133 class_ref 128133 // EDL +classcanvas 128133 class_ref 128133 // Seq 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 231 679 2000 end @@ -34,11 +34,11 @@ classcanvas 130949 class_ref 128773 // AbstractMO end classcanvas 131461 class_ref 128901 // Clip 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 279 361 2000 + xyz 279 368 2000 end classcanvas 131717 class_ref 129029 // 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_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 332 361 2000 + xyz 332 368 2000 end 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 @@ -74,10 +74,8 @@ classcanvas 136581 class_ref 129925 // Auto end note 136837 "Placement \"locates\" a Media Object" xyzwh 370 73 3005 207 36 -textcanvas 136965 "the Timeline is a list of placements reduced to absolute coordinates (time, track)" - xyzwh 468 919 2000 121 90 textcanvas 137093 "Fixture is the actual assembly of various Media Objects ready to be performed" - xyzwh -27 863 2000 147 108 + xyzwh 28 862 2000 151 86 classcanvas 137221 class_ref 130053 // Wish 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 560 532 2000 @@ -114,8 +112,10 @@ classcanvas 146437 class_ref 140421 // Plug 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 560 597 2000 end -textcanvas 146821 "global processing Pipe Asset" - xyzwh 271 568 2000 149 24 +classcanvas 146949 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_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 114 546 2000 + end relationcanvas 128389 relation_ref 128005 // from ref 128005 z 1999 to ref 128133 role_a_pos 200 676 3000 no_role_b @@ -173,7 +173,7 @@ relationcanvas 135685 relation_ref 130949 // no_multiplicity_a no_multiplicity_b relationcanvas 135941 relation_ref 131077 // from ref 128261 z 1999 stereotype "<>" xyz 371 893 3000 to ref 135813 - role_a_pos 389 857 3000 no_role_b + role_a_pos 365 849 3000 no_role_b multiplicity_a_pos 451 877 3000 no_multiplicity_b relationcanvas 136069 relation_ref 131205 // from ref 135813 z 1999 to point 433 897 @@ -258,21 +258,16 @@ relationcanvas 145285 relation_ref 145029 // from ref 129029 z 1999 stereotype "<>" xyz 389 732 3000 to point 445 749 line 145413 z 1999 to point 369 749 line 145541 z 1999 to ref 129029 - role_a_pos 382 748 3000 no_role_b - multiplicity_a_pos 403 704 3000 no_multiplicity_b + role_a_pos 390 750 3000 no_role_b + multiplicity_a_pos 410 715 3000 no_multiplicity_b relationcanvas 145669 relation_ref 145157 // from ref 128133 z 1999 to ref 129029 - role_a_pos 376 681 3000 no_role_b + role_a_pos 392 672 3000 no_role_b no_multiplicity_a no_multiplicity_b relationcanvas 145925 relation_ref 145413 // from ref 128261 z 1999 to ref 129925 role_a_pos 321 978 3000 no_role_b no_multiplicity_a no_multiplicity_b -relationcanvas 146181 relation_ref 145541 // - from ref 128005 z 1999 to point 311 616 - line 146309 z 1999 stereotype "<>" xyz 103 649 3000 to ref 146053 - role_a_pos 307 594 3000 no_role_b - multiplicity_a_pos 329 627 3000 no_multiplicity_b relationcanvas 146565 relation_ref 145669 // from ref 146437 z 1999 to ref 137221 no_role_a no_role_b @@ -281,4 +276,8 @@ relationcanvas 146693 relation_ref 145797 // from ref 146437 z 1999 to ref 146053 role_a_pos 398 594 3000 no_role_b no_multiplicity_a no_multiplicity_b +relationcanvas 147077 relation_ref 155653 // + from ref 146949 z 1999 stereotype "<>" xyz 191 582 3000 to ref 146053 + role_a_pos 285 575 3000 no_role_b + multiplicity_a_pos 327 613 3000 multiplicity_b_pos 180 584 3000 end diff --git a/uml/lumiera/128261 b/uml/lumiera/128261 index c4b03ca90..0d01de253 100644 --- a/uml/lumiera/128261 +++ b/uml/lumiera/128261 @@ -1,6 +1,6 @@ format 40 "MObject" // ProcessingLayer::MObject - revision 32 + revision 33 modified_by 5 "hiv" // class settings //class diagram settings @@ -62,7 +62,7 @@ ${inlines} comment "Primary Interface for all editing tasks. The session contains defaults, all the assets being edited, and a set of EDL with the individual MObjects to be manipulated and rendered." operation 133509 "currEDL" - public return_type class_ref 128133 // EDL + public return_type class_ref 128133 // Seq nparams 0 cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};" cpp_def "${comment}${inline}${type} @@ -133,7 +133,7 @@ ${inlines} cpp default " ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value}; " classrelation_ref 128005 // edls () - b multiplicity "" parent class_ref 128133 // EDL + b multiplicity "" parent class_ref 128133 // Seq end classrelation 128261 // theFixture () @@ -250,7 +250,93 @@ of the current session config and contents. end end - class 128133 "EDL" + class 145541 "Timeline" + abstract visibility public + cpp_decl "${comment}${template}class ${name}${inherit} + { +${members} }; +${inlines} +" + java_decl "" + idl_decl "" + explicit_switch_type "" + + classrelation 159109 // + relation_ref 154885 // + end + + classrelation 159237 // + relation 155013 ---> + stereotype "own" + a role_name "" multiplicity "" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 159237 // + b multiplicity "" parent class_ref 145925 // PlayControl + end + + classrelation 159621 // + relation 155269 ---> + a role_name "" multiplicity "1" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 159621 // + b multiplicity "" parent class_ref 146309 // Sequence + end + + classrelation 160005 // globalBusses () + relation 155653 *--> + stereotype "list" + a role_name "globalBusses" multiplicity "*" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value}; +" + classrelation_ref 160005 // globalBusses () + b multiplicity "1" parent class_ref 138117 // Pipe + end + end + + class 145797 "TimelineView" + visibility package + cpp_decl "${comment}${template}class ${name}${inherit} + { +${members} }; +${inlines} +" + java_decl "" + idl_decl "" + explicit_switch_type "" + + classrelation 158853 // + relation 154757 -_-|> + a public + cpp default "${type}" + classrelation_ref 158853 // + b multiplicity "" parent class_ref 145541 // Timeline + end + + classrelation 159749 // + relation 155397 ---> + a role_name "" multiplicity "" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 159749 // + b multiplicity "" parent class_ref 146309 // Sequence + end + + classrelation 160773 // + relation 156293 ---- + a role_name "" multiplicity "" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 160773 // + b role_name "" multiplicity "" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 160901 // + end + end + + class 128133 "Seq" visibility package cpp_decl "${comment}${template}class ${name}${inherit} { @@ -298,16 +384,16 @@ ${inlines} a public cpp default "${type}" classrelation_ref 128517 // - b multiplicity "" parent class_ref 128133 // EDL + b multiplicity "" parent class_ref 128133 // Seq end - classrelation 131717 // theTimeline () + classrelation 131717 // effectiveTimeline () relation 131077 *--> stereotype "list" - a role_name "theTimeline" multiplicity "*" protected + a role_name "effectiveTimeline" multiplicity "*" protected cpp default " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value}; " - classrelation_ref 131717 // theTimeline () + classrelation_ref 131717 // effectiveTimeline () b multiplicity "" parent class_ref 129797 // ExplicitPlacement end @@ -423,6 +509,14 @@ ${inlines} b multiplicity "" parent class_ref 128389 // Track association_type class_ref 128645 // Placement end + + classrelation 161413 // + relation 156805 -_-|> + a public + cpp default "${type}" + classrelation_ref 161413 // + b multiplicity "" parent class_ref 128517 // MObject + end end class 128517 "MObject" @@ -618,16 +712,6 @@ ${inlines} b multiplicity "" parent class_ref 128773 // AbstractMO end - attribute 128645 "start" - protected type class_ref 134917 // Time - init_value "Time(0)" - cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value}; -" - java_decl "" - idl_decl "" - comment "startpos in source" - end - classrelation 142469 // source () relation 140677 ---> a role_name "source" multiplicity "1" protected @@ -637,6 +721,14 @@ ${inlines} classrelation_ref 142469 // source () b multiplicity "*" parent class_ref 136709 // Media end + + classrelation 161029 // + relation 156421 -_-|> + a public + cpp default "${type}" + classrelation_ref 161029 // + b multiplicity "" parent class_ref 128517 // MObject + end end class 138885 "SimpleClip" @@ -711,7 +803,7 @@ ${inlines} b multiplicity "" parent class_ref 128773 // AbstractMO end - attribute 128901 "plugID" + attribute 128901 "plugin" protected explicit_type "string" cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value}; " @@ -719,6 +811,14 @@ ${inlines} idl_decl "" comment "Identifier of the Plugin to be used" end + + classrelation 161157 // + relation 156549 -_-|> + a public + cpp default "${type}" + classrelation_ref 161157 // + b multiplicity "" parent class_ref 128517 // MObject + end end class 129157 "Meta" @@ -911,6 +1011,14 @@ ${inlines} classrelation_ref 130949 // b multiplicity "" parent class_ref 129157 // Meta end + + classrelation 161285 // + relation 156677 -_-|> + a public + cpp default "${type}" + classrelation_ref 161285 // + b multiplicity "" parent class_ref 128517 // MObject + end end class 129925 "Auto" diff --git a/uml/lumiera/129029 b/uml/lumiera/129029 index 5c7a2a6f4..e091ca09b 100644 --- a/uml/lumiera/129029 +++ b/uml/lumiera/129029 @@ -1,6 +1,6 @@ format 40 "Control" // ProcessingLayer::Control - revision 6 + revision 7 modified_by 5 "hiv" // class settings //class diagram settings diff --git a/uml/lumiera/129285 b/uml/lumiera/129285 index 4ff722e2d..4089706c0 100644 --- a/uml/lumiera/129285 +++ b/uml/lumiera/129285 @@ -1,6 +1,6 @@ format 40 "ProcessingLayer" // ProcessingLayer - revision 23 + revision 24 modified_by 5 "hiv" // class settings //class diagram settings @@ -120,8 +120,6 @@ format 40 attributes attribute_ref 128517 // length "5" - attribute_ref 128645 // start - "100" end relations end @@ -132,8 +130,6 @@ format 40 attributes attribute_ref 128517 // length "8820" - attribute_ref 128645 // start - "176400" end relations end @@ -180,15 +176,13 @@ format 40 attributes attribute_ref 128517 // length "5" - attribute_ref 128645 // start - "100" end relations end end classinstance 129541 "" - type class_ref 128133 // EDL + type class_ref 128133 // Seq attributes end relations @@ -220,8 +214,6 @@ format 40 attributes attribute_ref 128517 // length "5" - attribute_ref 128645 // start - "100" end relations end @@ -244,7 +236,7 @@ format 40 attributes attribute_ref 128517 // length "3" - attribute_ref 128901 // plugID + attribute_ref 128901 // plugin "\"Hue\"" end relations @@ -270,7 +262,7 @@ format 40 attributes attribute_ref 128517 // length "3" - attribute_ref 128901 // plugID + attribute_ref 128901 // plugin "\"Hue\"" end relations diff --git a/uml/lumiera/5.session b/uml/lumiera/5.session index af68f0264..d04da5e91 100644 --- a/uml/lumiera/5.session +++ b/uml/lumiera/5.session @@ -1,24 +1,30 @@ window_sizes 1302 1004 270 1022 854 71 diagrams - classdiagram_ref 131973 // Render Mechanics - 407 690 100 4 2 0 - collaborationdiagram_ref 132229 // Render Process - 825 684 100 4 0 0 - classdiagram_ref 132357 // StateAdapter composition - 414 658 100 4 0 0 - active classdiagram_ref 132485 // Stream Type Framework - 463 594 100 4 0 0 + classdiagram_ref 128133 // Session structure + 853 742 100 4 120 0 + active classdiagram_ref 132741 // TimelineSequences + 585 732 100 4 0 0 end show_stereotypes selected package_ref 129 // lumiera open + class_ref 145925 // PlayControl deploymentview_ref 128261 // gen deploymentview_ref 129157 // gen package_ref 130181 // mobject classview_ref 128389 // Controller Workings - class_ref 132741 // State + class_ref 139653 // Session + class_ref 128005 // SessionImpl + class_ref 145541 // Timeline + class_ref 145797 // TimelineView + class_ref 128133 // Seq + class_ref 128389 // Track + class_ref 128901 // Clip + class_ref 129029 // Effect + + package_ref 128901 // Builder class_ref 131717 // ProcNode class_ref 142469 // StateProxy class_ref 142597 // StateAdapter @@ -32,7 +38,6 @@ open class_ref 144517 // Strategy class_ref 144005 // BuffTable class_ref 144261 // Invocation - usecaseview_ref 128005 // Renderengine Use classview_ref 129285 // StreamType classview_ref 128773 // error class_ref 140165 // Visitable diff --git a/uml/lumiera/lumiera.prj b/uml/lumiera/lumiera.prj index a533da6cc..1017e01e2 100644 --- a/uml/lumiera/lumiera.prj +++ b/uml/lumiera/lumiera.prj @@ -1,6 +1,6 @@ format 40 "lumiera" - revision 48 + revision 49 modified_by 5 "hiv" cpp_root_dir "../../src/" diff --git a/wiki/renderengine.html b/wiki/renderengine.html index 26659922d..01c9a849d 100644 --- a/wiki/renderengine.html +++ b/wiki/renderengine.html @@ -4753,11 +4753,11 @@ function addKeyDownHandlers(e)
                                                                                                                                                                                                                                      http://tiddlywiki.com/
                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                      Timeline is the top level element within the [[Session (Project)|Session]]. It is visible within a //timeline view// in the GUI and represents the definitive arrangement of media objects, to be rendered for output or viewed in a Monitor (viewer window). A timeline is comprised of:
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      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 (WIP: not clear if this is an entity or just a conceptual definition) 
                                                                                                                                                                                                                                       * a PlayControler
                                                                                                                                                                                                                                      -* a list of global Pipes representing the possible outputs
                                                                                                                                                                                                                                      +* a list of global Pipes representing the possible outputs (master busses)
                                                                                                                                                                                                                                       * //exactly one// top-level [[EDL (Sequence)|EDL]], which in turn may contain further nested ~EDLs (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 ~EDLs (Sequences), together with the media objects placed to these tracks.
                                                                                                                                                                                                                                       
                                                                                                                                                                                                                                      @@ -4766,11 +4766,20 @@ Within the Project, there may be ''multiple timelines'', to be viewed and render
                                                                                                                                                                                                                                       ''Note'': in early drafts of the design (2007) there was an entity called "Timeline" within the [[Fixture]]. This entity seems superfluous and has been dropped. It never got any relevance in existing code and at most was used in some code comments.
                                                                                                                                                                                                                                       
                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                      Each Project can contain ''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. Of course it is possible to use ~Sub-EDLs (~Sub-Sequences) within the top-level Sequence within a timeline to organize a movie into several scenes or chapters. 
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      There is a three-level hierarchy: [[Project|Session]], [[Timeline]], [[Sequence|EDL]]. Each project can contain ''multiple timelines'', to be viewed and rendered independently. But, being the top-level entities, these timelines may not be combined further. You can always just render (or view) one specific timeline. Each of those timelines refers to a Sequence, which is a bunch of [[media objects|MObject]] placed to a tree of [[tracks|Track]]. Of course it is possible to use ~Sub-EDLs (Sub-sequences) within the top-level sequence within a timeline to organize a movie into several scenes or chapters. 
                                                                                                                                                                                                                                       
                                                                                                                                                                                                                                      -As stated in the [[definition|Timeline]], a timeline refers to exactly one EDL (Sequence), and the latter defines a tree of [[tracks|Track]] and a bunch of media objects placed to these tracks. A Sequence may optionally also contain nested sequences as [[meta-clips|MetaClip]]. Moreover, obviously several timelines (top-level entities) may refer to the same Sequence without problems.
                                                                                                                                                                                                                                      -This is because the top-level entities (Timelines) are not permitted to be combined further. You may play or render a given timeline, you may even play several timelines simultanously in different monitor windows, and these different timelines may incorporate the same sequence in a different way
                                                                                                                                                                                                                                      +[>img[Relation of Timelines, Sequences and MObjects within the Project|uml/fig132741.png]]
                                                                                                                                                                                                                                      +As stated in the [[definition|Timeline]], a timeline refers to exactly one EDL (Sequence), and the latter defines a tree of [[tracks|Track]] and a bunch of media objects placed to these tracks. A Sequence may optionally also contain nested sequences as [[meta-clips|VirtualClip]]. Moreover, obviously several timelines (top-level entities) may refer to the same Sequence without problems.
                                                                                                                                                                                                                                      +This is because the top-level entities (Timelines) are not permitted to be combined further. You may play or render a given timeline, you may even play several timelines simultaneously in different monitor windows, and these different timelines may incorporate the same sequence in a different way. The Sequence just defines the relations between some objects and may be placed relatively to another object (clip, label,...) or similar reference point, or even anchored at an absolute time if desired. In a similar open fashion, within the track-tree of a sequence, we may define a specific signal routing, or we may just fall back to automatic output wiring.
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      +!Attaching output
                                                                                                                                                                                                                                      +The Timeline owns a list of global [[pipes (busses)|Pipe]] which are used to collect output. If the track tree of a sequence doesn't contain specific routing advice, then connections will be done directly to these global pipes in order and by matching StreamType (i.e. typically video to video master, audio to stereo audio master). When a monitor (viewer window) is attached to this timeline, similar output connections are made from those global pipes, i.e. the video display will take the contents of the first video (master) bus, and the first stereo audio pipe will be pulled and sent to system audio out. The timeline owns a ''play control'' shared by all attached viewers and coordinating the rendering-for-viewing. Similarly, a render task may be attached to the timeline to pull the pipes needed for a given kind of generated output. The actual implementation of the play controller and the coordination of render tasks is located in the Backend, which uses the service of the Proc-Layer to pull the respective exit nodes of the render engine network.
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      +!Timeline versus Timeline View
                                                                                                                                                                                                                                      +Actually, what the GUI creates and uses is the //view// of a given timeline. This makes no difference to start with, as the view is modelled to be a sub-concept of "timeline" and thus can stand-in. All different views of the //same// timeline also share one single play control instance, i.e. they all have one single playhead position. Doing it this way should be the default, because it's the least confusing. Anyway, it's also possible to create multiple //independent timelines// &mdash; in an extreme case even so when referring to the same top-level sequence. This configuration gives the ability to play the same arrangement in parallel with multiple independent play controllers (and thus independent playhead positions)
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                      +To complement this possibilities, I'd propose to give the //timeline view// the possibility to be re-linked to a sub-sequence. This way, it would stay connected to the main play control, but at the same time show a sub-sequence //in the way it will be treated as  embedded// within the top-level sequence. This would be the default operation mode when a meta-clip is opened (and showed in a separate tab with such a linked timeline view). The reason for this proposed handling is again to give the user the least surprising behaviour. Because, when &mdash; on the contrary &mdash; the sub-sequence would be opened as //separate timeline,// a different absolute time position and a different signal routing may result; doing such should be reserved for advanced use, e.g. when multiple editors cooperate on a single project and a sequence has to be prepared in isolation prior to being integrated in the global sequence (featuring the whole movie).