lumiera
Documentation

1 Package design

All things concering the big picture.
Not a real code package, rather a container for design drafts, specifications, decisions.

1.1 Component View Architecture

The various Components comprising the Lumiera Video editing Application

Overview



This drawing shows the top level compoents and relations

Component CommonLib

provided classes : Error, Time

Component Builder

provided classes : StateProxy

required classes : Fixture, SessionImpl

Component Session

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

Component EDL

nested in Session

Component Fixture

nested in Session

Component Controller

Depends on Builder

provided classes : BuilderFacade

Component AssetManagement
Component Dispatcher
Component Engine

Depends on Frame (Stream) Provider

required classes : StateProxy

Component ProcNode

nested in Engine

provided classes : Parameter

required classes : ParamProvider

Component Frame (Stream) Provider

Depends on Cache

Component Cache
Component RenderPathManager

provided classes : PathManager

Component MediaFactory

required classes : MediaAccessFacade

Component AssetDB

1.2 Component View interfaces

proc-components



Component ControllerFacade

provided classes : ControllerFacade

required classes : BuilderFacade, PathManager

Component ConManager

required classes : ParamProvider

backend-components



Component Media Access

provided classes : MediaAccessFacade

1.3 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

defines and lists how the Lumiera executable has to be created

1.3.2 Package common

sourcecode package

Common library and helper classes

Diagram : Source Overview

1.3.2.1 Deployment View gen

defines source files to be generated by BOUML

Artifact visitor

Acyclic Visitor library

Artifact source associated with : Visitable, Tool, Applicable

Artifact error

Lumiera Exception Interface

Artifact source associated with : Error, Logic, Config, State, Invalid, External

Artifact appconfig

for global initialization and configuration

Artifact source associated with : Appconfig

Artifact time

unified representation of a time point, including conversion functions

Artifact source associated with : Time

1.3.2.2 Package error

  • C++ namespace : lumiera::error

Namespace for Exception Kinds

1.3.2.3 Package visitor

  • C++ namespace : lumiera::visitor

sub-namespace for visitor library implementation

1.3.3 Package backend

sourcecode package

Data backend classes here...

1.3.3.1 Deployment View gen

Artifact mediaaccessfacade

functions for querying media file and channels.

Artifact source associated with : MediaAccessFacade

1.3.4 Package proc

sourcecode package

All classes belonging to the (middle) processing layer

1.3.4.1 Deployment View gen

defines source files to be generated by BOUML

Artifact assetmanager

Facade for the Asset subsystem

Artifact source associated with : AssetManager

Artifact asset

Superinterface: bookeeping view of "things" present in the session

Artifact source associated with : Asset

Artifact stateproxy

Key Interface representing a render process and encapsulating state

Artifact source associated with : StateProxy

Artifact controllerfacade

Facade and service access point for the Proc Layer Controller

Artifact source associated with : ControllerFacade

Artifact frame

Key Abstraction: render process and buffer holding frame data.

Artifact source associated with : Frame

1.3.4.2 Package asset

  • C++ namespace : asset

sourcecode package

Asset Management

1.3.4.2.1 Deployment View gen

defines source files to be generated by BOUML

Artifact dataset

meta asset describing a collection of control data

Artifact source associated with : Dataset

Artifact category

tree like classification of Assets

Artifact source associated with : Category

Artifact media

key abstraction: media-like assets

Artifact source associated with : Media, MediaFactory

Artifact proc

key abstraction: media-like assets

Artifact source associated with : Proc

Artifact struct

key abstraction: structural asset

Artifact source associated with : Struct

Artifact meta

key abstraction: metadata and organisational asset

Artifact source associated with : Meta

Artifact clip

bookkeeping (asset) view of a media clip.

Artifact source associated with : Clip

Artifact compoundmedia

a special clip as a compound of several elementary media tracks,
e.g. the individual media streams found in one media file

Artifact source associated with : CompoundMedia

Artifact preview

alternative version of the media data, probably with lower resolution

Artifact source associated with : Preview

Artifact unknown

placeholder for unknown or unavailable media source

Artifact source associated with : Unknown

Artifact effect

Effect or media processing component

Artifact source associated with : Effect

Artifact codec

description of some media data decoder or encoder facility

Artifact source associated with : Codec

Artifact pipe

structural asset corresponding to some port generating media output

Artifact source associated with : Pipe

Artifact track

structural asset holding the configuration of a track in the EDL

Artifact source associated with : Track

Artifact procpatt

template for building some render processing network

Artifact source associated with : ProcPatt

Artifact buildinstruct

Instructions for building some configuration of render nodes.

Artifact source associated with : BuildInstruct, DoRecurse, DoAttach

Artifact db

registry holding known Asset instances.

Artifact source associated with : DB

1.3.4.3 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

defines source files to be generated by BOUML

Artifact session

Interface: the session edited by the user

Artifact source associated with : Session

Artifact mobject

Key Abstraction: A Media Object in the Session

Artifact source associated with : MObject

Artifact placement

Key Abstraction: a way to place and locate a Media Object

Artifact source associated with : Placement

Artifact explicitplacement

special Placement yielding an absolute location (Time,Track)-location for a MObject

Artifact source associated with : ExplicitPlacement

Artifact builderfacade

Facade and service access point for the Builder Subsystem

Artifact source associated with : BuilderFacade

Artifact buildable

marker interface denoting any MObject able to be treated by Tools

Artifact source associated with : Buildable

Artifact parameter

representation of an automatable effect/plugin parameter

Artifact source associated with : Parameter

Artifact paramprovider

interface denoting a source for actual Parameter values

Artifact source associated with : ParamProvider

Artifact interpolator

denotes a facility to get (continuously interpolated) parameter values

Artifact source associated with : Interpolator

1.3.4.3.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

defines source files to be generated by BOUML

Artifact sessionimpl

holds the complete session data to be edited by the user

Artifact source associated with : SessionImpl

Artifact sessmanager

global session access and lifecycle

Artifact source associated with : SessManager

Artifact edl

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

Artifact source associated with : EDL

Artifact fixture

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

Artifact source associated with : Fixture

Artifact segment

Segment of the Timeline.
Used at the moment (7/07) for partitioning the timeline/fixture into segments
to be rendered by a specialized render node network for each, without the need
to change any connections within a given segment.
Note this concept may be superfluos alltogether; is a draft and the real
use still needs to be worked out...

Artifact source associated with : Segment

Artifact track

A 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.

Artifact source associated with : Track

Artifact abstractmo

abstract base class for all Media Objects

Artifact source associated with : AbstractMO

Artifact clip

a Media Clip

Artifact source associated with : Clip

Artifact simpleclip

Elementary clip (single media stream only)

Artifact source associated with : SimpleClip

Artifact compoundclip

compound of several clips (multichannel)

Artifact source associated with : CompoundClip

Artifact effect

EDL representation of a pluggable and automatable effect.

Artifact source associated with : Effect

Artifact meta

abstract base class of all MObjects representing meta data or processing instructions

Artifact source associated with : Meta

Artifact locatingpin

Chaining and constraining the Placement of a Media Object

Artifact source associated with : LocatingPin

Artifact fixedlocation

implements fixed placement of a MObject

Artifact source associated with : FixedLocation

Artifact relativelocation

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

Artifact source associated with : RelativeLocation

Artifact allocation

Artifact source associated with : Allocation

Artifact constraint

LocatingPin representing an directive by the user that
must not be violated

Artifact source associated with : Constraint

Artifact wish

LocatingPin representing a low-priority directive by the user,
to be fulfilled only if possible (and after satisfying the
more important LocatingPins)

Artifact source associated with : Wish

Artifact plug

LocatingPin for requesting connection to some Port

Artifact source associated with : Plug

Artifact label

Artifact source associated with : Label

Artifact auto

Media Object holding automation data

Artifact source associated with : Auto

1.3.4.3.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

defines source files to be generated by BOUML

Artifact toolfactory

supply of Tool implementations for the Builder

Artifact source associated with : ToolFactory

Artifact conmanager

manages the creation of additional ProcNode connections for the Renderengine

Artifact source associated with : ConManager

Artifact assembler

building facility (implementation of the build process)

Artifact source associated with : Assembler

Artifact buildertool

Interface, any tool for processing MObjects

Artifact source associated with : BuilderTool

Artifact segmentationtool

Tool for creating a partitioning of the current timeline

Artifact source associated with : SegmentationTool

Artifact nodecreatertool

central Tool implementing the Renderengine building

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

  • C++ namespace : engine

sourcecode package

The Core Render Engine

1.3.4.4.1 Deployment View gen

defines source files to be generated by BOUML

Artifact renderengine

a complete network of processing nodes usable for rendering

Artifact source associated with : RenderEngine

Artifact processor

a single render pipeline for one segment of the timeline

Artifact source associated with : Processor

Artifact exitnode

special Processing Node providing "pullable" output

Artifact source associated with : ExitNode

Artifact procnode

Key abstraction of the Render Engine: a Processing Node

Artifact source associated with : ProcNode

Artifact trafo

transforming processing Node

Artifact source associated with : Trafo

Artifact link

forwarding, adapting or connecting ProcNode

Artifact source associated with : Link

Artifact hub

special ProcNode used to build data distributing connections

Artifact source associated with : Hub

Artifact projector

video ProcNode for scaling and translating image data

Artifact source associated with : Projector

Artifact mask

Video ProcNode for masking regions of the image (automatable)

Artifact source associated with : Mask

Artifact pluginadapter

Adapter for integrating various Effect processors in the render pipeline

Artifact source associated with : PluginAdapter

Artifact codecadapter

Processing Node for (de)coding media data

Artifact source associated with : CodecAdapter

Artifact glpipe

specialized connection element for handling OpenGL implementation details

Artifact source associated with : GLPipe

Artifact arender

Representation of a Audio Render process

Artifact source associated with : ARender

Artifact vrender

Representation of a Video render process

Artifact source associated with : VRender

Artifact glrender

Representation of a OpenGL accellerated Video render process

Artifact source associated with : GLRender

Artifact aframe

a buffer and render process holding a Audio frame

Artifact source associated with : AFrame

Artifact vframe

a buffer and render process holding a Video frame

Artifact source associated with : VFrame

Artifact glbuf

a buffer and render process holding a Video frame for OpenGL rendering

Artifact source associated with : GLBuf

Artifact source

Representation of a Media source

Artifact source associated with : Source

1.3.5 Package gui

sourcecode package

User Interface classes go here

1.3.5.1 Deployment View gen

defines source files to be generated by BOUML

1.3.6 Package tool

sourcecode package

Tools and Utilities
(separate from the main cinelrra binary)

1.3.6.1 Deployment View gen

defines source files to be generated by BOUML

2 Package ProcessingLayer

2.1 Package Asset

2.1.1 Class View Assets

Asset Kinds



Media-Asset Relations



Proc-Asset Relations



Struct-Asset Relations



Class Asset
Class Media
Class Proc
Class Struct
Class Meta
Class Category
Class Clip
Class Unknown
Class Preview
Class Effect
Class Codec
Class Track
Class Pipe
Class ProcPatt
Class Dataset
Class DB
Class DoAttach
Class DoRecurse

2.2 Package MObject

2.2.1 Class View Session

Session structure



Class Session
Class EDL
Class Fixture
Class Segment
Class Track
Class MObject
Class Placement
Class Clip
Class Effect
Class Meta
Class Label
Class Auto
Class Wish
Class Plug
Class Parameter

2.2.2 Package Builder

2.2.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

Pre Condition :

    Post Condition :

      build flow



      Activity action pin build Request

      Direction : input

      Type :

      Selection :

        Flow <flow>

        From build Request To configure Tools

        Weight :

          Guard :

            Selection :

              Transformation :

                Opaque activity action configure Tools

                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

                              Opaque activity action define segment

                              Defined in establish partitioning

                              Pre Condition :

                                Post Condition :

                                  Behavior :

                                    Activity action pin inFixture

                                    Direction : input

                                    Type :

                                    Selection :

                                      Flow <flow>

                                      From define segment To segments

                                      Weight :

                                        Guard :

                                          Selection :

                                            Transformation :

                                              Activity object segment Tool

                                              Type :

                                              Selection :

                                                Is control type

                                                Flow <flow>

                                                From segment Tool To define segment

                                                Weight :

                                                  Guard :

                                                    Selection :

                                                      Transformation :

                                                        Activity object segments

                                                        Type :

                                                        Selection :

                                                          Is control type

                                                          Activity object Fixture

                                                          Type :

                                                          Selection :

                                                            Flow <flow>

                                                            From Fixture To inFixture

                                                            Weight :

                                                              Guard :

                                                                Selection :

                                                                  Transformation :

                                                                    Flow <flow>

                                                                    From Fixture To inFixture

                                                                    Weight :

                                                                      Guard :

                                                                        Selection :

                                                                          Transformation :

                                                                            Fork activity node

                                                                            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

                                                                                            Activity object build Tool

                                                                                            Type :

                                                                                            Selection :

                                                                                              Is control type

                                                                                              Flow <flow>

                                                                                              From build Tool To create ProcNode

                                                                                              Weight :

                                                                                                Guard :

                                                                                                  Selection :

                                                                                                    Transformation :

                                                                                                      Activity object segments

                                                                                                      Type :

                                                                                                      Selection :

                                                                                                        Is control type

                                                                                                        Flow <flow>

                                                                                                        From segments To create ProcNode

                                                                                                        Weight :

                                                                                                          Guard :

                                                                                                            Selection :

                                                                                                              Transformation :

                                                                                                                Opaque activity action create ProcNode

                                                                                                                Defined in build Processors

                                                                                                                Pre Condition :

                                                                                                                  Post Condition :

                                                                                                                    Behavior :

                                                                                                                      Flow <flow>

                                                                                                                      From create ProcNode To connect

                                                                                                                      Weight :

                                                                                                                        Guard :

                                                                                                                          Selection :

                                                                                                                            Transformation :

                                                                                                                              Opaque activity action connect

                                                                                                                              Defined in build Processors

                                                                                                                              Pre Condition :

                                                                                                                                Post Condition :

                                                                                                                                  Behavior :

                                                                                                                                    Flow <flow>

                                                                                                                                    From connect To complete Render Engine

                                                                                                                                    Weight :

                                                                                                                                      Guard :

                                                                                                                                        Selection :

                                                                                                                                          Transformation :

                                                                                                                                            Activity object complete Render Engine

                                                                                                                                            Type :

                                                                                                                                            Selection :

                                                                                                                                              Is control type

                                                                                                                                              Flow <flow>

                                                                                                                                              From complete Render Engine To activity final

                                                                                                                                              Weight :

                                                                                                                                                Guard :

                                                                                                                                                  Selection :

                                                                                                                                                    Transformation :

                                                                                                                                                      Activity final

                                                                                                                                                      Defined in building the Engine

                                                                                                                                                      Builder Entities



                                                                                                                                                      Class Assembler
                                                                                                                                                      Class Buildable

                                                                                                                                                      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

                                                                                                                                                                                                                                        multichannel clip



                                                                                                                                                                                                                                        Class instance

                                                                                                                                                                                                                                        type :Clip

                                                                                                                                                                                                                                        Class instance

                                                                                                                                                                                                                                        type :CompoundMedia

                                                                                                                                                                                                                                        Class instance

                                                                                                                                                                                                                                        type :Media

                                                                                                                                                                                                                                        Class instance

                                                                                                                                                                                                                                        type :Media

                                                                                                                                                                                                                                        Class instance

                                                                                                                                                                                                                                        type :Media

                                                                                                                                                                                                                                        Class instance

                                                                                                                                                                                                                                        type :CompoundClip

                                                                                                                                                                                                                                        Class instance

                                                                                                                                                                                                                                        type :SimpleClip

                                                                                                                                                                                                                                        Class instance

                                                                                                                                                                                                                                        type :SimpleClip

                                                                                                                                                                                                                                        Class instance

                                                                                                                                                                                                                                        type :SimpleClip

                                                                                                                                                                                                                                        Class instance

                                                                                                                                                                                                                                        type :Placement

                                                                                                                                                                                                                                        2.3 Package RenderEngine

                                                                                                                                                                                                                                        2.3.1 Deployment View Engine Parts

                                                                                                                                                                                                                                        Overview Render Engine



                                                                                                                                                                                                                                        Node timeline
                                                                                                                                                                                                                                        Node playlist
                                                                                                                                                                                                                                        Node proc
                                                                                                                                                                                                                                        Node pnode
                                                                                                                                                                                                                                        Node Frame
                                                                                                                                                                                                                                        Node State

                                                                                                                                                                                                                                        2.3.2 Class View Engine Workings

                                                                                                                                                                                                                                        Render Entities



                                                                                                                                                                                                                                        Automation Entities



                                                                                                                                                                                                                                        Class Processor
                                                                                                                                                                                                                                        Class ExitNode
                                                                                                                                                                                                                                        Class ProcNode
                                                                                                                                                                                                                                        Class Trafo
                                                                                                                                                                                                                                        Class Link
                                                                                                                                                                                                                                        Class Hub
                                                                                                                                                                                                                                        Class Projector
                                                                                                                                                                                                                                        Class Mask
                                                                                                                                                                                                                                        Class GLPipe
                                                                                                                                                                                                                                        Class ARender
                                                                                                                                                                                                                                        Class VRender
                                                                                                                                                                                                                                        Class GLRender
                                                                                                                                                                                                                                        Class Frame
                                                                                                                                                                                                                                        Class AFrame
                                                                                                                                                                                                                                        Class VFrame
                                                                                                                                                                                                                                        Class GLBuf
                                                                                                                                                                                                                                        Class Source

                                                                                                                                                                                                                                        2.4 Use Case View Renderengine Use

                                                                                                                                                                                                                                        EDL Example1



                                                                                                                                                                                                                                        A 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 Example2



                                                                                                                                                                                                                                        More 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

                                                                                                                                                                                                                                        Engine Example1



                                                                                                                                                                                                                                        Example1 (from EDL) continued: here the RenderEngine to be created by the Builder from the Input shown in Example1

                                                                                                                                                                                                                                        Engine Example2



                                                                                                                                                                                                                                        Example2 (from EDL) continued: notably in this RenderEngine the Effect has been partitioned into 2 segments with constant configuration.

                                                                                                                                                                                                                                        Class instance

                                                                                                                                                                                                                                        type :Fixture

                                                                                                                                                                                                                                        Class instance

                                                                                                                                                                                                                                        type :ExplicitPlacement

                                                                                                                                                                                                                                        attributes :

                                                                                                                                                                                                                                        Class instance

                                                                                                                                                                                                                                        type :ExplicitPlacement

                                                                                                                                                                                                                                        attributes :

                                                                                                                                                                                                                                        Class instance audio1

                                                                                                                                                                                                                                        type :Track

                                                                                                                                                                                                                                        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 :

                                                                                                                                                                                                                                        Class instance video1

                                                                                                                                                                                                                                        type :Track

                                                                                                                                                                                                                                        Class instance

                                                                                                                                                                                                                                        type :Fixture

                                                                                                                                                                                                                                        Class instance vid_A

                                                                                                                                                                                                                                        type :Clip

                                                                                                                                                                                                                                        attributes :

                                                                                                                                                                                                                                        Class instance

                                                                                                                                                                                                                                        type :EDL

                                                                                                                                                                                                                                        Class instance refPoint

                                                                                                                                                                                                                                        type :Label

                                                                                                                                                                                                                                        attributes :

                                                                                                                                                                                                                                        Class instance

                                                                                                                                                                                                                                        type :Allocation

                                                                                                                                                                                                                                        attributes :

                                                                                                                                                                                                                                        Class instance vid_A

                                                                                                                                                                                                                                        type :Clip

                                                                                                                                                                                                                                        attributes :

                                                                                                                                                                                                                                        Class instance

                                                                                                                                                                                                                                        type :RelativeLocation

                                                                                                                                                                                                                                        attributes :

                                                                                                                                                                                                                                        relations :

                                                                                                                                                                                                                                        Class instance

                                                                                                                                                                                                                                        type :Effect

                                                                                                                                                                                                                                        attributes :

                                                                                                                                                                                                                                        Class instance

                                                                                                                                                                                                                                        type :RelativeLocation

                                                                                                                                                                                                                                        attributes :

                                                                                                                                                                                                                                        relations :

                                                                                                                                                                                                                                        Class instance

                                                                                                                                                                                                                                        type :Effect

                                                                                                                                                                                                                                        attributes :

                                                                                                                                                                                                                                        Class instance

                                                                                                                                                                                                                                        type :ExplicitPlacement

                                                                                                                                                                                                                                        attributes :

                                                                                                                                                                                                                                        Class instance

                                                                                                                                                                                                                                        type :RenderEngine

                                                                                                                                                                                                                                        relations :

                                                                                                                                                                                                                                        Class instance audio1

                                                                                                                                                                                                                                        type :Processor

                                                                                                                                                                                                                                        attributes :

                                                                                                                                                                                                                                        relations :

                                                                                                                                                                                                                                        Class instance video1

                                                                                                                                                                                                                                        type :Processor

                                                                                                                                                                                                                                        attributes :

                                                                                                                                                                                                                                        relations :

                                                                                                                                                                                                                                        Class instance video

                                                                                                                                                                                                                                        type :ExitNode

                                                                                                                                                                                                                                        relations :

                                                                                                                                                                                                                                        Class instance audio

                                                                                                                                                                                                                                        type :ExitNode

                                                                                                                                                                                                                                        relations :

                                                                                                                                                                                                                                        Class instance ouput

                                                                                                                                                                                                                                        type :Projector

                                                                                                                                                                                                                                        relations :

                                                                                                                                                                                                                                        Class instance input

                                                                                                                                                                                                                                        type :Projector

                                                                                                                                                                                                                                        relations :

                                                                                                                                                                                                                                        Class instance

                                                                                                                                                                                                                                        type :Mask

                                                                                                                                                                                                                                        relations :

                                                                                                                                                                                                                                        Class instance vid_a

                                                                                                                                                                                                                                        type :Source

                                                                                                                                                                                                                                        Class instance aud_a

                                                                                                                                                                                                                                        type :Source

                                                                                                                                                                                                                                        Class instance vid1

                                                                                                                                                                                                                                        type :VRender

                                                                                                                                                                                                                                        relations :

                                                                                                                                                                                                                                        Class instance au1

                                                                                                                                                                                                                                        type :ARender

                                                                                                                                                                                                                                        relations :

                                                                                                                                                                                                                                        Class instance

                                                                                                                                                                                                                                        type :VFrame

                                                                                                                                                                                                                                        Class instance

                                                                                                                                                                                                                                        type :AFrame

                                                                                                                                                                                                                                        Class instance

                                                                                                                                                                                                                                        type :RenderEngine

                                                                                                                                                                                                                                        relations :

                                                                                                                                                                                                                                        Class instance devnull

                                                                                                                                                                                                                                        type :Source

                                                                                                                                                                                                                                        Class instance video

                                                                                                                                                                                                                                        type :ExitNode

                                                                                                                                                                                                                                        relations :

                                                                                                                                                                                                                                        Class instance input

                                                                                                                                                                                                                                        type :Projector

                                                                                                                                                                                                                                        relations :

                                                                                                                                                                                                                                        Class instance video1

                                                                                                                                                                                                                                        type :Processor

                                                                                                                                                                                                                                        attributes :

                                                                                                                                                                                                                                        relations :

                                                                                                                                                                                                                                        Class instance ouput

                                                                                                                                                                                                                                        type :Projector

                                                                                                                                                                                                                                        relations :

                                                                                                                                                                                                                                        Class instance HUE

                                                                                                                                                                                                                                        type :PluginAdapter

                                                                                                                                                                                                                                        relations :

                                                                                                                                                                                                                                        Class instance vid1

                                                                                                                                                                                                                                        type :VRender

                                                                                                                                                                                                                                        relations :

                                                                                                                                                                                                                                        Class instance

                                                                                                                                                                                                                                        type :VFrame

                                                                                                                                                                                                                                        Class instance video1

                                                                                                                                                                                                                                        type :Processor

                                                                                                                                                                                                                                        attributes :

                                                                                                                                                                                                                                        relations :

                                                                                                                                                                                                                                        Class instance video

                                                                                                                                                                                                                                        type :ExitNode

                                                                                                                                                                                                                                        relations :

                                                                                                                                                                                                                                        Class instance HUE

                                                                                                                                                                                                                                        type :PluginAdapter

                                                                                                                                                                                                                                        relations :

                                                                                                                                                                                                                                        Class instance vid_a

                                                                                                                                                                                                                                        type :Source

                                                                                                                                                                                                                                        Class instance input

                                                                                                                                                                                                                                        type :Projector

                                                                                                                                                                                                                                        relations :

                                                                                                                                                                                                                                        Class instance video1

                                                                                                                                                                                                                                        type :Processor

                                                                                                                                                                                                                                        attributes :

                                                                                                                                                                                                                                        relations :

                                                                                                                                                                                                                                        Class instance ouput

                                                                                                                                                                                                                                        type :Projector

                                                                                                                                                                                                                                        relations :

                                                                                                                                                                                                                                        Class instance video

                                                                                                                                                                                                                                        type :ExitNode

                                                                                                                                                                                                                                        relations :

                                                                                                                                                                                                                                        3 Package BackendLayer

                                                                                                                                                                                                                                        3.1 Class View Interface

                                                                                                                                                                                                                                        interface components



                                                                                                                                                                                                                                        3.2 Use Case View usage

                                                                                                                                                                                                                                        backend use cases



                                                                                                                                                                                                                                        3.2.1 Use Case load Media

                                                                                                                                                                                                                                        3.2.2 Use Case access File

                                                                                                                                                                                                                                        3.2.3 Use Case detect Channels

                                                                                                                                                                                                                                        3.2.4 Use Case access Channel

                                                                                                                                                                                                                                        3.3 Package design

                                                                                                                                                                                                                                        3.3.1 Class View Backend Components

                                                                                                                                                                                                                                        File Mapping



                                                                                                                                                                                                                                        Shows whats used to access Frames

                                                                                                                                                                                                                                        In Memory Database



                                                                                                                                                                                                                                        Class File
                                                                                                                                                                                                                                        Class FileMap
                                                                                                                                                                                                                                        Class Frame
                                                                                                                                                                                                                                        Class Prefetch
                                                                                                                                                                                                                                        Class Scheduler

                                                                                                                                                                                                                                        3.3.1.1 Activity get frame

                                                                                                                                                                                                                                        Pre Condition :

                                                                                                                                                                                                                                          Post Condition :

                                                                                                                                                                                                                                            3.4 Component View Cache

                                                                                                                                                                                                                                            3.5 Component View FileMapping

                                                                                                                                                                                                                                            4 Package GUI

                                                                                                                                                                                                                                            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 error

                                                                                                                                                                                                                                            Hierarchy



                                                                                                                                                                                                                                            Lumiera Exception hierarchy

                                                                                                                                                                                                                                            Class Error
                                                                                                                                                                                                                                            Class Logic
                                                                                                                                                                                                                                            Class Config
                                                                                                                                                                                                                                            Class State
                                                                                                                                                                                                                                            Class Invalid
                                                                                                                                                                                                                                            Class External

                                                                                                                                                                                                                                            5.2 Class View Service Components

                                                                                                                                                                                                                                            Class Tool
                                                                                                                                                                                                                                            Class Visitable
                                                                                                                                                                                                                                            Class Time
                                                                                                                                                                                                                                            Class Factory
                                                                                                                                                                                                                                            Class Appconfig

                                                                                                                                                                                                                                            5.3 Class View Posix Threads Abstraction

                                                                                                                                                                                                                                            C++ wrapers for pthreads

                                                                                                                                                                                                                                            Class Thread
                                                                                                                                                                                                                                            Class Condition
                                                                                                                                                                                                                                            Class Mutex

                                                                                                                                                                                                                                            5.4 Class View SmartPointers