How olive-editor/olive works
Olive is a desktop non-linear video editor. Its main user workflow is to import media, arrange and modify clips on a sequence timeline, preview the composition, then render and export a finished file. The tree also shows project save/load, audio monitoring, color management, and background conforming and task management as supporting capabilities. Edges are limited to wiring shown in sampled source; several domain components are identified from their paths, but their internal calls were not sampled.
Main entry points: project.cpp Project model · taskmanager.h Background task manager · export.cpp Export task · renderer.cpp Renderer
Components 27
Editing interface
- Project panel
app/panel/project/project.cpp - Timeline panel
app/panel/timeline/timeline.cpp - Viewer panel
app/panel/viewer/viewer.cpp - Sequence viewer
app/panel/sequenceviewer/sequenceviewer.cpp - Task manager panel
app/panel/taskmanager/taskmanager.cpp
Project and media
- Project model
app/node/project.cpp - Footage assets
app/node/project/footage/footage.cpp - Media import
app/task/project/import/import.cpp - Project serialization
app/node/project/serializer/serializer.cpp - Media decoding
app/codec/decoder.cpp - Audio conforming
app/codec/conformmanager.cpp
Timeline composition
- Sequence
app/node/project/sequence/sequence.cpp - Tracks and blocks
app/node/output/track/track.cpp - Effects and transforms
app/node/factory.cpp
Rendering and export
- Color management
app/node/color/colormanager/colormanager.cpp - Render manager
app/render/rendermanager.cpp - Renderer
app/render/renderer.cpp - Export task
app/task/export/export.cpp - Media encoding
app/codec/encoder.cpp
Runtime services
- Application startup
app/main.cpp - Disk cache
app/render/diskmanager.cpp - Audio monitoring
app/audio/audiomanager.cpp - Preview audio device
app/render/previewaudiodevice.cpp - Background task manager
app/task/taskmanager.h
Other components
- Editor
- Source media
- Exported media
Connections 24
- Editor → Project panel: manages media
- Editor → Timeline panel: edits sequence
- Editor → Viewer panel: previews
- Source media → Media import: source media
- Media import → Project model: imports assets
- Project model → Footage assets: tracks assets
- Project model → Project serialization: serializes project
- Project model → Sequence: owns sequence
- Sequence → Tracks and blocks: contains timeline
- Tracks and blocks → Effects and transforms: composes nodes
- Footage assets → Media decoding: decodes media
- Audio conforming → Background task manager: queues conform task
- Audio conforming → Disk cache: writes conform files
- Viewer panel → Sequence viewer: hosts viewer
- Audio monitoring → Preview audio device: reads preview audio
- Audio monitoring → Media encoding: encodes recordings
- Render manager → Renderer: requests rendering
- Renderer → Color management: uses color transforms
- Export task → Renderer: renders frames
- Export task → Media encoding: encodes export
- Export task → Background task manager: queues export
- Media encoding → Exported media: writes encoded media
- Background task manager → Task manager panel: reports task events
- Task manager panel → Background task manager: cancels tasks