Warning, /multimedia/kdenlive/dev-docs/architecture.md is written in an unsupported language. File is not indexed.
0001 # Architecture 0002 0003 *This document describes Kdenlive’s architecture top-down.* 0004 0005 * Top-down architecture 0006 * Dependencies MLT etc. 0007 * MVC 0008 * GUI elements and their counterpart 0009 0010 0011 ## Architectural Overview 0012 0013 Kdenlive uses a number of libraries. The most important library is MLT which is 0014 responsible for the core video editing functionality: the process of applying 0015 effects to clips which are organised in tracks and timeline(s). Kdenlive 0016 provides the user interface for this functionality. 0017 0018 Kdenlive and MLT use a number of resources like frei0r for video effects. 0019 0020 ``` 0021 ┌────────┐ 0022 │Kdenlive├─────┐ 0023 └────┬───┘ │ 0024 Render projects│ │Configure 0025 Decode audio/video│ │effect settings 0026 │ │ 0027 ┌────┴───┐ │ 0028 │ MLT ├─────┤ 0029 └────────┘ │Audio/Video Effects 0030 ├───────┬──────┬─────────┐ 0031 ┌──┴───┐┌──┴───┐┌─┴─┐┌──────┴──────┐ 0032 │frei0r││LADSPA││SoX││libsamplerate│ 0033 └──────┘└──────┘└───┘└─────────────┘ 0034 ``` 0035 <!-- http://marklodato.github.io/js-boxdrawing/ for drawing --> 0036 0037 0038 ## Class Diagram 0039 0040 A class diagram can be generated with Doxygen and GraphViz with the commands 0041 below. Instead of docker, you can also run `doxygen` directly. 0042 0043 ```bash 0044 # Generate a Doxyfile (configuration file) 0045 docker run -it --rm -v $(pwd):/data hrektts/doxygen doxygen -g 0046 0047 # Now edit the file and set the following variables: 0048 # EXTRACT_ALL = YES 0049 # HAVE_DOT = YES 0050 # UML_LOOK = YES 0051 # RECURSIVE = YES 0052 # INPUT = src 0053 0054 # Now run Doxygen to generate the docs and UML files 0055 docker run -it --rm -v $(pwd):/data hrektts/doxygen doxygen Doxyfile 0056 ```