Timeline Refactoring
Closed, ResolvedPublic

Description

Cleanup & refactor timeline code, switch to Qml.
After the January 2017 developer meeting: https://notes.kde.org/p/kdenlivedevel01 we took the following decisions:

  • We start a new timeline from scratch
  • Alcinos starts writing headers, so we try to start from a good design. We can then start implementing the functions
  • JB takes a look at Qml to replace QGraphicsView, we should have a clear separation between functional code and display code
  • We avoid duplicating operations like in the current code where we have to perform everything twice (on MLT and on the QGraphicsView)
  • Once we get a first working draft, we organize a brainstorming to rethink the timeline display and user interaction

Discussions and sub-tasks should be centralized here

mardelle created this task.Jan 15 2017, 5:52 PM
mardelle updated the task description. (Show Details)Jan 15 2017, 5:59 PM
frdbr added a subscriber: frdbr.Jan 15 2017, 7:15 PM

In the prospect of allowing in track transitions, does it sound like a good idea to directly make a TrackModel be a Melt::MultiTrack (with exactly two Mlt::Playlist in it)? Are there potential pitfalls that I might be overlooking?

I'm still thinking about same-track transitions : I stumbled upon the possibility to add "mixers" in the MELT interface. A demo is available here. It seems to fit our needs, doesn't it ?

jospin added a subscriber: jospin.Jan 24 2017, 9:27 PM
mardelle added a comment.EditedJan 24 2017, 9:29 PM

Yes, mixer is a melt command that creates the 1 track transition by inserting a multitrack inside a playlist if I am correct.

massimostella closed this task as a duplicate of T5173: Timeline refactoring.

Thanks for the refactoring. I tried the alpha appimage this morning and noticed that the timeline is much slower than the current one. Even with proxy clips scrubbing and playback wasn't smooth. I am using a Librem v1 with a core i5 processor, an SSD and 8GB of RAM.

jlskuz closed this task as Resolved.May 28 2023, 7:14 PM
jlskuz claimed this task.
jlskuz closed subtask T5638: Refactoring status as Resolved.
jlskuz closed subtask T5083: Qml interface as Resolved.