Skip to content

Commit 5fed4a9

Browse files
authored
Fixes/documentation refactor (WIP) (#1810)
* Lots of doc tweaks * More work on organizational clarity and fixing links. * Language update --------- Signed-off-by: Anton Marini <[email protected]>
1 parent ee3e317 commit 5fed4a9

37 files changed

+561
-66
lines changed

docs/conf.py

+6
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,12 @@
4545

4646
html_theme = "sphinx_rtd_theme"
4747
html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
48+
html_theme_options = {
49+
'navigation_depth': 1, # Set the depth to 1 to hide nested headers
50+
'collapse_navigation': False, # Prevents collapsing of nested navigation
51+
'sticky_navigation': True, # Keeps the sidebar navigation in view while scrolling
52+
}
53+
4854

4955
htmlhelp_basename = f'{project.lower()}doc'
5056

docs/tutorials/contributing.md docs/fundamentals/contributing.md

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
We're excited to collaborate with the community and look forward to the many improvements you can make to OpenTimelineIO!
55

6+
67
## Contributor License Agreement
78

89
Before contributing code to OpenTimelineIO, we ask that you sign a Contributor License Agreement (CLA).

docs/fundamentals/introduction.md

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
2+
# API Introduction
3+
4+
OpenTimelineIO is organized into a few components with separate concerns:
5+
6+
## Python API
7+
8+
The Python API is the preferred API to create and manupulate Timelines, Tracks, Edits, and core schema objects. With the Python API developers can adjust timing, replace media, write adaptors, media linkers, create custom schema additions, and more.
9+
10+
## Core C++ API
11+
12+
The OTIO Core library is implemented in C++ and provides a cross platform APIs for loading OTIO files, creating Timelines and other core schema objects.
13+
14+
Developers can interface directly with OTIO and write native cross platform integrations using the C++ API, or use the C++ Api to brige to new languages.
15+
16+
The C++ API can be found at the Core OpenTimelineIO Github hosted by the Academy Software Foundation.
17+
18+
19+
## Additional Language Bindings
20+
21+
The OTIO Community provides language bindings The OpenTimelineIO Python API provides a friendly API for interacting with OTIO objects as well as the Project Adaptor Interface. OTIO Also provides language bindings for
22+
23+
* [C Bindings](https://github.com/OpenTimelineIO/OpenTimelineIO-C-Bindings)
24+
* [Java Bindings](https://github.com/OpenTimelineIO/OpenTimelineIO-Java-Bindings)
25+
* [Swift Bindings](https://github.com/OpenTimelineIO/OpenTimelineIO-Swift-Bindings)
26+
27+
28+
## Github Wiki
29+
30+
The OTIO Community also
File renamed without changes.
File renamed without changes.

docs/index.rst

+92-53
Original file line numberDiff line numberDiff line change
@@ -4,66 +4,101 @@ Welcome to OpenTimelineIO's documentation!
44
Overview
55
--------
66

7-
OpenTimelineIO (OTIO) is an API and interchange format for editorial cut information. You can think
8-
of it as a modern Edit Decision List (EDL) that also includes an API for reading, writing, and
9-
manipulating editorial data. It also includes a plugin system for translating to/from existing
10-
editorial formats as well as a plugin system for linking to proprietary media storage schemas.
7+
The OpenTimelineIO (OTIO) project aims to solve modern VFX and Post Production workflow challenges like conform, project migration, and interchange across software and platforms in a reliable, open source and reproducible manner.
8+
9+
OpenTimelineIO is:
10+
11+
* :doc:`an ecosystem of video tools and integrations. <intros/integrations>`
12+
* :doc:`an interchange file format for editorial cut information. <schema/otio-file-format-specification>`
13+
* :doc:`an cross platform API for timeline data. <cxx/bridges>`
14+
15+
You can think of OTIO as a modern Edit Decision List (EDL) that also includes an API for reading, writing, and
16+
manipulating editorial data.
17+
18+
OpenTimelineIO’s API's and language bindings allows application developers to integrate OpenTimelineIO support into their products,
19+
and allows studios and developers to build an ecosystem of compatible pipeline tools.
20+
21+
See our OTIO fundamentals guide, and intros for [Creatives](intros/creatives.md), Pipeline Architects, Integrators and Developers, and our FAQs.
22+
23+
OpenimelineIO is a [Academy Software Foundation](https://www.aswf.io) incubation project.
1124

12-
OTIO supports clips, timing, tracks, transitions, markers, metadata, etc. but not embedded video or
13-
audio. Video and audio media are referenced externally. We encourage 3rd party vendors, animation
14-
studios and visual effects studios to work together as a community to provide adaptors for each
15-
video editing tool and pipeline.
1625

1726
Links
1827
---------
1928
`OpenTimelineIO Home Page <http://opentimeline.io/>`_
2029

2130
`OpenTimelineIO Discussion Group <https://lists.aswf.io/g/otio-discussion>`_
2231

23-
Quick Start
24-
------------
32+
33+
Getting Started
34+
---------------
2535
.. toctree::
26-
:maxdepth: 2
27-
:caption: Quick Start
36+
:maxdepth: 1
37+
:caption: Getting Started
38+
39+
intros/installation.md
40+
intros/creatives.md
41+
intros/pipeline.md
42+
intros/integrators.md
43+
intros/integrations.md
44+
intros/community.md
45+
intros/roadmap.md
46+
47+
User Tutorials
48+
--------------
49+
.. toctree::
50+
:maxdepth: 1
51+
:caption: User Tutorials
52+
53+
user_tutorials/sample_media.md
54+
user_tutorials/roundtripping.md
55+
user_tutorials/animation-shot-frame-ranges
56+
user_tutorials/conform-new-renders-into-cut
57+
user_tutorials/shots-added-removed-from-cut
2858

29-
tutorials/quickstart
30-
tutorials/otio-env-variables
3159

32-
Tutorials
33-
------------
60+
API Fundamentals
61+
----------------
3462
.. toctree::
35-
:maxdepth: 2
36-
:caption: Tutorials
37-
38-
tutorials/adapters
39-
tutorials/architecture
40-
tutorials/contributing
41-
tutorials/feature-matrix
42-
tutorials/otio-timeline-structure
43-
tutorials/time-ranges
44-
tutorials/otio-filebundles
45-
tutorials/write-an-adapter
46-
tutorials/write-a-media-linker
47-
tutorials/write-a-hookscript
48-
tutorials/write-a-schemadef
49-
tutorials/spatial-coordinates
50-
tutorials/developing-a-new-schema
51-
tutorials/versioning-schemas
52-
53-
Use Cases
54-
------------
63+
:maxdepth: 1
64+
:caption: API Fundamentals
65+
66+
fundamentals/introduction
67+
fundamentals/otio-timeline-structure
68+
fundamentals/time-ranges
69+
fundamentals/spatial-coordinates
70+
fundamentals/contributing.md
71+
72+
73+
Python Fundamentals
74+
-------------------
5575
.. toctree::
56-
:maxdepth: 2
57-
:caption: Use Cases
76+
:maxdepth: 1
77+
:caption: Python Fundamentals
78+
79+
python/architecture
80+
python/feature-matrix
81+
python/adapters.md
82+
python/otio-plugins.md
83+
python/otio-env-variables.md
84+
85+
86+
Python Tutorials
87+
-------------------
88+
.. toctree::
89+
:maxdepth: 1
90+
:caption: Python Tutorials
5891

59-
use-cases/animation-shot-frame-ranges
60-
use-cases/conform-new-renders-into-cut
61-
use-cases/shots-added-removed-from-cut
92+
python-tutorials/write-an-adapter
93+
python-tutorials/write-a-media-linker
94+
python-tutorials/write-a-hookscript
95+
python-tutorials/write-a-schemadef
96+
python-tutorials/developing-a-new-schema
97+
python-tutorials/versioning-schemas
6298

6399
API References
64100
--------------
65101

66-
67102
.. toctree::
68103
:maxdepth: 3
69104
:caption: API References
@@ -74,25 +109,29 @@ API References
74109
cxx/cxx.md
75110
cxx/older.md
76111

77-
Schema Reference
78-
----------------
112+
Schema References
113+
-----------------
79114

80115
.. toctree::
81116
:maxdepth: 2
82-
:caption: Schema Reference
117+
:caption: Schema References
83118

84-
tutorials/otio-file-format-specification
85-
tutorials/otio-serialized-schema
86-
tutorials/otio-serialized-schema-only-fields
119+
schema/otio-filebundles
120+
schema/otio-file-format-specification
121+
schema/otio-serialized-schema
122+
schema/otio-serialized-schema-only-fields
87123

88-
Autogenerated Plugin Reference
89-
------------------------------
124+
125+
Utilities
126+
---------
90127

91128
.. toctree::
92-
:maxdepth: 2
93-
:caption: Plugins Reference
129+
:maxdepth: 1
130+
:caption: Utilities
94131

95-
tutorials/otio-plugins.md
132+
utilities/otio_convert_quickstart.md
133+
utilities/otio_viewer_quickstart.md
134+
utilities/raven.md
96135

97136

98137
Indices and tables

docs/intros/community.md

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Community
2+
3+
Join the OpenTimelineIO community and particpate in
4+
5+
* [OpenTimelineIO Slack](https://academysoftwarefdn.slack.com/messages/CMQ9J4BQC)
6+
* [OpenTimelineIO Discussion Group ](https://lists.aswf.io/g/otio-discussion)
7+
* [Core Github](https://github.com/AcademySoftwareFoundation/OpenTimelineIO/)
8+
* [Community Github Organitation](https://github.com/OpenTimelineIO/)
9+
* Technical Steering Committee (TSC) meetings are open the the public. See Slack and the Discussio group for meeting timing and links.
10+
* [Past TSC Metting Presentations](https://github.com/AcademySoftwareFoundation/OpenTimelineIO/wiki/Presentations)

docs/intros/creatives.md

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# For Creatives
2+
3+
OpenTimelineIO can help solve a variety of conform, project interchange, studio pipelines, archival and other workflows.
4+
5+
The best place to start is our [Workflow tutorials and Example files](/user_tutorials/sample_media.md) which contain media as well as .otio files.
6+
7+
[OpenTimelineIO support is available with the following integrations](integrations.md) allowing you to export otio files and import them (with some caveats).
8+
9+
If you don’t see your preferred software listed in the integrations, check for [available adaptors](/python/adapters.md) and use the project conversion tool `otioconvert`. This allows for workflows via project conversion. S
10+
11+
You can also download Raven - a free cross platform timeline visualizer.

docs/intros/installation.md

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Installation
2+
3+
There are various ways of working with OpenTimelineIO, from simply importing and exporting otio files in supported software, using the OpenTimelineIO Python API to automate workflows and writing custom project adapators, to native application integration and working with the core C++ library or language bindings.
4+
5+
6+
## Software Integrations
7+
8+
For most users, there is nothing to install to use OpenTimelineIO. OpenTimelineIO is available in many video software packages today, allowing for importing or exporting `.otio`, `.otiod` or `.otioz` files with no additional requirements.
9+
10+
[See a list available software integrations](integrations.md).
11+
12+
## For Developers
13+
14+
[Please see our developer introduction documentation.](/fundamentals/introduction.md)
15+
16+
## Utility Software
17+
18+
The OTIO project and wider community provides various additional software:
19+
20+
* OTIO Viewer
21+
* OTIO Util
22+
* Raven
23+
24+

docs/intros/integrations.md

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# Available Integrations
2+
3+
OpenTimelineIO is used in a variety of software and projects. If you know of any, feel free to add them to this list (in alphabetical order).
4+
5+
6+
## Playback/Review Applications:
7+
- [Cezanne](http://cezanne.ahead.io/cezanne-studio/) - Media player and review tool.
8+
- [ftrack cineSync Play](https://www.ftrack.com/en/cinesync-play) - Frame-accurate playback & review & tool.
9+
- [Hiero](https://www.foundry.com/products/nuke-family/hiero) - Multi-shot management, conform, editorial, review and distribution workflows tool.
10+
- [mrViewer](https://mrviewer.sourceforge.io/) - flipbook, video and audio player, with [OTIO support demonstrated here](https://www.youtube.com/watch?v=yXaYj406xiM).
11+
- [OpenRV](https://github.com/AcademySoftwareFoundation/OpenRV) - A digital review tool for film, TV, and games
12+
- [RV](https://www.shotgridsoftware.com/rv/) - The commercial version of OpenRV (as of release "2022.0")
13+
- [tlRender](https://github.com/darbyjohnston/tlRender) - An open source library for building playback and review applications for visual effects, film, and animation.
14+
15+
## Non-Linear Video Editors:
16+
- [Adobe Premiere Pro](https://www.adobe.com/products/premiere.html) - Premiere Pro v25.1 (Beta) supports OTIO and OTIOz import and export.
17+
- [Avid MediaComposer](https://www.avid.com/media-composer) - Media Composer [v2024 supports a public preview of OTIO support](https://resources.avid.com/SupportFiles/attach/WhatsNew_MediaComposer_v24.6.pdf)
18+
- [DaVinci Resolve](https://www.blackmagicdesign.com/products/davinciresolve) - DaVinci
19+
Resolve 18 - supports OTIO and OTIOZ import/export in both the free and paid versions of the app.
20+
- [Kdenlive](https://kdenlive.org/en/about/) - KDE Non-Linear Video Editor - supports OTIO as of [version 20.04](https://kdenlive.org/en/2020/04/kdenlive-20-04-is-out/)
21+
- [Olive](https://olivevideoeditor.org/) Free open-source non-linear video editor - supports OTIO [import](https://github.com/olive-editor/olive/blob/master/app/task/project/loadotio/loadotio.cpp) and [export](https://github.com/olive-editor/olive/blob/master/app/task/project/saveotio/saveotio.cpp).
22+
23+
## Other Applications/Plugins/etc:
24+
25+
- [Altera](https://cine.dev/) - Metadata Management tool (coming soon).
26+
- [Blender VSE IO](https://gitlab.com/superprod/stax_suite/vse_io) - Blender Video Sequence Editor add-on for importing and exporting various editorial interchange formats.
27+
- [EditReader](http://www.editreader.co.uk/) - Animatic and animation production timeline manager, tracks timeline changes etc. Supports OTIO input and output in version 4.
28+
- [hiero-otio](https://github.com/apetrynet/hiero-otio/) - Import and export OpenTimelineIO files directly in Hiero or Nuke Studio.
29+
- [Magla](https://github.com/magnetic-lab/magla) - A free SQL-powered data pipeline for animation and visual-effects freelancers and studios, with an emphasis on dynamically generated OTIO timelines.
30+
- [Matchbox](https://www.thecargocult.nz/products/matchbox) - Change Management solution, aimed at anyone working in post production - compares two versions of a reel or episode and finds every cut change, VFX tweak or dialog slip.
31+
- [maya-otio](https://github.com/rosborne132/maya-otio) - Maya plugin to import and export OpenTimelineIO files directly into scenes.
32+
- [Nuke Studio](https://www.foundry.com/products/nuke-family/nuke-studio) - Multi-shot management, editorial and compositing tool.
33+
- [OpenTimelineIO-Swift-Bindings](https://github.com/OpenTimelineIO/OpenTimelineIO-Swift-Bindings) - bindings for the Swift programming language.
34+
- [OpenTimelineIO-Unreal-Plugin](https://github.com/OpenTimelineIO/OpenTimelineIO-Unreal-Plugin) - Plugin for Unreal Engine that provides a configurable framework and actions for mapping between an OpenTimelineIO timeline and a UE level sequence hierarchy.
35+
- [otio-cdl-adapter](https://github.com/josh-mission/otio-cdl-adapter) - Simple OTIO adapter for exporting .cdl files for each clip in an OTIO instance.
36+
- [otio-cookelensmetadata](https://github.com/reinecke/otio-cookelensmetadata) - A proof-of concept OpenTimelineIO adapter for the Cooke LMF lens metadata format.
37+
- [otio-drp-adapter](https://pypi.org/project/otio-drp-adapter/) - OTIO adapter for reading .drp files generated by the blackmagic ATEM ISO video mixer (https://www.blackmagicdesign.com/products/atemmini)
38+
- [otio-mlt-adapter](https://pypi.org/project/otio-mlt-adapter/) - OTIO adapter for writing [MLT Multimedia Framework](https://www.mltframework.org/) files.
39+
- [otio-premiereproject](https://github.com/splidje/otio-premiereproject) - OpenTimelineIO adapter for at least reading Premiere .prproj files.
40+
- [protio](https://github.com/boredstiff/protio) - Premiere Pro OTIO Plugin
41+
- [Pype](https://github.com/pypeclub/pype) - Multi-platform open-source pipeline built around the Avalon platform, expanding it with extra features and integrations. Pype connects asset database, project management and time tracking into a single modular system.
42+
- [resolve-otio](https://github.com/eric-with-a-c/resolve-otio) - An OpenTimelineIO plugin for DaVinci Resolve.
43+
- [Shot Manager](https://github.com/ubisoft/shotmanager) - Shot Manager - Blender Add-on from Ubisoft.
44+
- [speech-edit](https://github.com/ethan-ou/speech-edit) - Automatically cut videos (especially vlogs and talking-head videos) using speech detection.
45+
- [UnrealOTIOExporter](https://github.com/mvanneutigem/UnrealOtioExporter) - Movie Render Queue Setting for Unreal (see also [this tutorial/article by the author](https://www.artstation.com/mvanneutigem/blog/y7wQ/creating-a-custom-movie-render-queue-setting-for-unreal))
46+
- [Video Tracks](https://github.com/ubisoft/videotracks) - Video Tracks - Blender Add-on from Ubisoft.
47+
- [SG OTIO](https://github.com/GPLgithub/sg-otio) - An OpenTimelineIO ShotGrid Python Library

0 commit comments

Comments
 (0)