Refactoring status
Closed, ResolvedPublic

Description

Current status, will be updated regularily to reflect progress

Working:

  • Drop clip from Bin
  • Move clip
  • Resize Clip
  • Group/ungroup clips
  • Video thumbnails
  • Snapping
  • Audio thumbs
  • Timeline guides
  • Compositons (add/resize/delete)
  • Clip marker (needs menu to edit/add/delete)
  • Track functions (mute, lock,...)
  • Cut clip
  • Filter properties when selecting a clip
  • Drop filter on clip
  • Replace clip in timeline (when enabling proxy or changing a property)
  • Save project
  • UI for clip fades
  • UI to resize TrackHeaders' width
  • Make trackHeaders great again (see comment)
  • Preview rendering (still needs invalidate on timeline change)
  • Spacer tool, insert / remove space
  • Drop clip zone from Clip Monitor

Bugs:

  • [BUG#1] Ruler renders weirdly
  • [BUG#2] Changing track name doesn't validate when clicking away
  • [BUG#3] Audio tracks shouldn't provide "hide video" icon
  • [BUG#4] Ruler disappears when zooming too much
  • [BUG#5] Resize cursor icon is not aligned correctly when resizing (the center of the icon should be the edge of the clip)
  • [BUG#6] Cursor is drifting when moving clip
  • [BUG#7] Resize left side + move cause markers to lose position
  • [BUG#8] Openning kdenlive causes "new-delete-type-mismatch" memory error.
  • [BUG#9] Dropping of compositions does not end correctly (if you realese the composition, then click and drag elsewhere on timeline, a new composition is inserted)
  • [BUG#10] Resizing tracks when a composition is selected causes positionning problems.
  • [BUG#11] EffectList filter should expand category if children is a match
  • [BUG#12] Track expansion is buggy, because expanded size is too small to fit icons on HDPI displays
  • [BUG#13] Indicator of A-track for composition is mis-behaving (switch track randomly). Update: it was removed
  • [BUG#14] Collisions wrongly checked when changing track
  • [BUG#15] [UI] During clip move, the mouse should show an appropriate cursor (closed hand ?) and not be affected by clips' handles
  • [BUG#16] [UI] Right cliking on several selected clips clears selection, making grouping impossible
  • [BUG#17] On a multi-stream video, timeline thumbs are always computed for one stream, even though we insert a clip from another
  • [BUG#18] Search bar for effects is buggy: type a string, then erase part of it creates some glitch in the tree (and requests for "undefined" assets)

TODO:

  • Advanced trimming (overwrite, lift, ...)
  • Make sure snap is enabled only when user wants it and make max snap distance dependent of current scale
  • Fix recover (currently crashes)
  • Sequences (aka nested timeline)
  • Proper keyframe model
  • TimeWarp
  • Finish polishing bin
  • Deprecate "Position and Zoom" effect and convert older projects to "Transform" Update: Pos&Zoom was recently improved in MLT.. leave it?
  • Effect groups
mardelle updated the task description. (Show Details)
mardelle updated the task description. (Show Details)Mar 14 2017, 11:11 AM
mardelle updated the task description. (Show Details)
mardelle updated the task description. (Show Details)Mar 14 2017, 11:15 AM
alcinos updated the task description. (Show Details)Mar 14 2017, 11:32 AM
alcinos updated the task description. (Show Details)Mar 14 2017, 11:36 AM

BUG#1 Ruler renders weirdly

For more detail, see following picture:


Up is old timeline, time code are visible. Down is new timeline, timecodes are overlapping.

"UI to manage individual track height ?" -> what's wrong with current one ?

alcinos updated the task description. (Show Details)Mar 14 2017, 11:46 AM
alcinos updated the task description. (Show Details)Mar 14 2017, 12:08 PM

[BUG#6] Cursor is drifting when moving clip

To reproduce : place you cursor over a clip at a specific position (for eg. a marker), click and drag it around for a bit, release. The cursor position relative to the clip might now be off (sometimes by a non negligible amount).

This has nothing to do with model calls (happen even when suggestMove and requestClipMove are disabled). Might be rounding.

= Make trackHeaders great again =
For the record, old version:


New version:

Font is probably too big, Icons too small and too dark.
Limit between tracks is not clearly visible.

"UI to manage individual track height ?": currently tracks can be individually resized, but it would probably be nice to have a quick way to manage, for example a button to minimize a track (or make it go to default height). Maybe also a way to make all tracks minimized or reset to normal height.

mardelle updated the task description. (Show Details)Mar 14 2017, 7:24 PM
alcinos updated the task description. (Show Details)Mar 14 2017, 8:32 PM

[BUG#8] Openning kdenlive causes "new-delete-type-mismatch" memory error.

Here is the traceback for the record:

=================================================================
==16469==ERROR: AddressSanitizer: new-delete-type-mismatch on 0x60d00045dc30 in thread T0:
object passed to delete has wrong type:
size of the allocated type:   144 bytes;
size of the deallocated type: 16 bytes.
  #0 0x7ff6bb46ab80 in operator delete(void*, unsigned long) /build/gcc/src/gcc/libsanitizer/asan/asan_new_delete.cc:108
  #1 0x7ff6afd97410 in QObjectPrivate::deleteChildren() (/usr/lib/libQt5Core.so.5+0x2b2410)
  #2 0x7ff6afda0d6e in QObject::~QObject() (/usr/lib/libQt5Core.so.5+0x2bbd6e)
  #3 0x7ff6b42da43e in QQuickItem::~QQuickItem() (/usr/lib/libQt5Quick.so.5+0x1cd43e)
  #4 0x7ff6b42f3c1d  (/usr/lib/libQt5Quick.so.5+0x1e6c1d)
  #5 0x7ff6afd99bdf in QObject::event(QEvent*) (/usr/lib/libQt5Core.so.5+0x2b4bdf)
  #6 0x7ff6b42d6faa in QQuickItem::event(QEvent*) (/usr/lib/libQt5Quick.so.5+0x1c9faa)
  #7 0x7ff6b340234b in QApplicationPrivate::notify_helper(QObject*, QEvent*) (/usr/lib/libQt5Widgets.so.5+0x15334b)
  #8 0x7ff6b3409b60 in QApplication::notify(QObject*, QEvent*) (/usr/lib/libQt5Widgets.so.5+0x15ab60)
  #9 0x7ff6afd6d43f in QCoreApplication::notifyInternal2(QObject*, QEvent*) (/usr/lib/libQt5Core.so.5+0x28843f)
  #10 0x7ff6afd6fbcc in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (/usr/lib/libQt5Core.so.5+0x28abcc)
  #11 0x7ff6afdc1c42  (/usr/lib/libQt5Core.so.5+0x2dcc42)
  #12 0x7ff6a8d305a6 in g_main_context_dispatch (/usr/lib/libglib-2.0.so.0+0x4a5a6)
  #13 0x7ff6a8d3080f  (/usr/lib/libglib-2.0.so.0+0x4a80f)
  #14 0x7ff6a8d308bb in g_main_context_iteration (/usr/lib/libglib-2.0.so.0+0x4a8bb)
  #15 0x7ff6afdc204e in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (/usr/lib/libQt5Core.so.5+0x2dd04e)
  #16 0x7ff6afd6b899 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (/usr/lib/libQt5Core.so.5+0x286899)
  #17 0x7ff6afd73de3 in QCoreApplication::exec() (/usr/lib/libQt5Core.so.5+0x28ede3)
  #18 0xe227ca in main /home/nicolas/Documents/Developpement/Projets/kdenlive/src/main.cpp:154
  #19 0x7ff6aeec4290 in __libc_start_main (/usr/lib/libc.so.6+0x20290)
  #20 0x4beb29 in _start (/home/nicolas/Documents/Developpement/Projets/kdenlive/build/src/kdenlive+0x4beb29)

0x60d00045dc30 is located 0 bytes inside of 144-byte region [0x60d00045dc30,0x60d00045dcc0)
allocated by thread T0 here:
  #0 0x7ff6bb469e80 in operator new(unsigned long) /build/gcc/src/gcc/libsanitizer/asan/asan_new_delete.cc:60
  #1 0x7ff6b3d70fc9 in QQmlType::create(QObject**, void**, unsigned long) const (/usr/lib/libQt5Qml.so.5+0x267fc9)

SUMMARY: AddressSanitizer: new-delete-type-mismatch /build/gcc/src/gcc/libsanitizer/asan/asan_new_delete.cc:108 in operator delete(void*, unsigned long)
alcinos updated the task description. (Show Details)Mar 14 2017, 9:22 PM

Suspicious : each clip move cause "qml: SCALE CHANGED !!!!!! 0.8" to be printed, even though scale is not changed ?

mardelle updated the task description. (Show Details)Mar 14 2017, 10:05 PM
mardelle updated the task description. (Show Details)Mar 15 2017, 10:10 AM
frdbr added a comment.Mar 15 2017, 3:25 PM
This comment was removed by frdbr.
frdbr added a comment.Mar 15 2017, 3:25 PM
= Make trackHeaders great again =

For the record, old version:


New version:

Font is probably too big, Icons too small and too dark.
Limit between tracks is not clearly visible.

Hi @alcinos, check out this cool functionality that Blender has making the workflow faster. Notice how with a single click and drag of the mouse you can turn on/off the icons.

Also the headers could have a functionality to easily switch their position:

What do you guys think?


Screenshot of the current timeline status (new Qml timeline on the left, old timeline on the right)

alcinos updated the task description. (Show Details)Mar 27 2017, 2:09 PM
mardelle updated the task description. (Show Details)Mar 31 2017, 12:17 PM
mardelle updated the task description. (Show Details)Apr 2 2017, 11:43 AM
mardelle updated the task description. (Show Details)Apr 3 2017, 4:57 PM
mardelle updated the task description. (Show Details)Apr 24 2017, 11:27 AM
alcinos updated the task description. (Show Details)Apr 25 2017, 3:29 PM

Reopenning the composition bug, still present for me.
Steps to reproduce

  • Drag composition from asset list onto timeline
  • Release mouse
  • Click+move on any empty point of the timeline

Can you reproduce?

alcinos updated the task description. (Show Details)Apr 25 2017, 3:34 PM

No, I cannot reproduce the composition bug. Does it happen with every track ? Might be an issue affecting only some Qt versions. Which Qt are you using?

It happens anywhere within the Timeline's qml (including headers).
Qt version is 5.8.0-7, not sure this is relevant though

mardelle updated the task description. (Show Details)Aug 20 2017, 7:22 AM
alcinos updated the task description. (Show Details)Aug 20 2017, 6:54 PM

[BUG#14] Collisions wrongly checked when changing track

Easy way to reproduce:

  • insert clip in timeline
  • move it towards origin, trying to go past 0 (the clip should be correctly blocked, ie its in point doesn't become negative)
  • move mouse vertically, so as to trigger a track change

If done correctly, the clip will be displayed in an invalid position (in < 0). This just UI, though, because releasing the mouse cancels the move altogether, as expected.

Note that it may also happens if collision happens with other clips (not only origin)

alcinos updated the task description. (Show Details)Aug 20 2017, 7:04 PM
mardelle updated the task description. (Show Details)Aug 23 2017, 6:36 AM
mardelle updated the task description. (Show Details)Aug 23 2017, 6:46 AM
mardelle updated the task description. (Show Details)Aug 23 2017, 7:07 AM
mardelle updated the task description. (Show Details)Aug 24 2017, 12:14 PM
alcinos updated the task description. (Show Details)Aug 24 2017, 12:21 PM
mardelle updated the task description. (Show Details)Aug 24 2017, 12:40 PM
alcinos updated the task description. (Show Details)Aug 26 2017, 2:11 PM
mardelle updated the task description. (Show Details)Aug 27 2017, 7:08 AM
alcinos updated the task description. (Show Details)Sep 7 2017, 11:01 PM
frdbr moved this task from Feature ideas to Refactoring on the Kdenlive board.Nov 12 2017, 7:01 PM
mardelle updated the task description. (Show Details)Dec 1 2017, 2:23 PM
mardelle updated the task description. (Show Details)Aug 9 2018, 7:21 AM
jlskuz closed this task as Resolved.May 28 2023, 7:14 PM
jlskuz claimed this task.