]> git.sesse.net Git - kdenlive/blob - TODO
Fix label
[kdenlive] / TODO
1 Some ideas for a big refactoring of code.
2
3
4 Input
5 =========
6         handle MLT connection ((re-)move from renderer.cpp (hacks, special cases))
7         handle project document entry
8         draw layer on clip instances in timeline (thumbnails)
9         settings management (available through project tree items)
10         proxy creation
11         input method (register mimetype in file dialog, custom widget)
12         effect support (a, v, av, special effects (freeze, speed))
13         support for multi-channel sound (5.1, ...)
14
15         => modules for avformat, qimage/gtk_image(?), generators (slideshow, color, f0r)
16
17
18 Timeline
19 =========
20         provides basic operations (resize, move, add, remove) (GUI + XML + MLT) to be applied on any item
21
22         => modules for input modes (drag & drop, 3/4-point editing, cut, resize by dragging end), spacer, ripple edit, push/pull edit, ...)
23
24 Clip instances
25 -------
26         connection to input module
27         manage project document entry
28         information about support for timeline operations
29         owns an effect device
30         per instance settings (functionality provided by input module)
31         graphical timeline item (modules can register layers they want to draw (thumbnails, effect names, keyframes))
32
33 Clip groups
34 ------
35         manage project document entry
36         pass on operations to items
37
38
39 Effect system
40 =========
41 Keyframe manager
42 ------
43         pipe information from/to timeline effect device, effect stack, effect parameter
44
45 Effect parameter
46 ------
47         custom widget
48         function to handle keyframes -> connect to keyframe manager
49         written in QScript/QML ?
50
51 Effect device
52 ------
53         manages list of effects attached to clip, track, timeline, group, the world
54         passes info from/to timeline items and effect stack
55         manage project document entry
56
57
58 Project
59 =========
60         read/write
61         project settings management
62         provide functionality to manage settings (remove hardcoded stuff (slideshow, proxy, ...))
63
64
65 Interface
66 =========
67         provide functions to add menu items, global actions (for shortcut management)
68         layout management
69         styles management (see digikam)
70         ...