All things concering the big picture.
Not a real code package, rather a container for design drafts, specifications, decisions.
The various Components comprising the Cinelerra3 Video editing Application

Overview
This drawing shows the top level compoents and relations
Component Builder |
Component Session |
Component Controller |
Depends on Builder
Component AssetManagement |
Component Dispatcher |
Component Engine |
Depends on Stream Provider
Component Stream Provider |
Depends on Cache
Component Cache |
Component RenderPathManager |

Session structure

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
Class Session |
Class EDL |
Class Fixture |
Class Track |
Class MObject |
Class Placement |
Class AbstractMO |
Class Clip |
Class Effect |
Class Meta |
Class DirectPlacement |
Class RelativePlacement |
Class Allocation |
Class Label |
Class ExplicitePlacement |
Class Auto |
Class Wish |
Class Constraint |

build process
This figure shows the process of building and starting a RenderEngine
Class BuilderFacade |
Class ToolFactory |
Class ConManager |
Class Assembler |
Class StateProxy |

Render Entities

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 RenderEngine |
Class Processor |
Class ExitNode |
Class ProcNode |
Class Trafo |
Class Link |
Class Hub |
Class Projector |
Class Mask |
Class PluginAdapter |
Class OpenGLPipe |
Class ARender |
Class VRender |
Class GLRender |
Class Frame |
Class AFrame |
Class VFrame |
Class GLBuf |
Class Source |
This package is used here just to hold entities thought to belong to the backend layer. The Backend is not in Focus for this Design draft.
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