Refactoring Blockers
Open, HighPublic

Description

Issues that need to be fixed for 17.12 Refactoring release:

  • copy / paste clips
  • project duration
  • composition : move a_track correctly
  • geometry keyframes (transform,etc)
  • slowmotion effect
  • fix adding clip in bin (corruption with color clip id because of unfinished porting to new method)
  • split audio
  • define target track (audio/video) for operations
  • Clicking away (eg at an empty place of the timeline) should clear clip selection
  • Allow compositions in groups
  • Copy/paste compositions
  • Insert several clips (boiko: https://phabricator.kde.org/D8928 )
  • Track effects
  • Track addition/deletion
  • Bin corruption
  • Open older project file (works but untested)
  • Adjust effects when cutting / resizing clip (in progress)
  • Check audio mix when using several copies of same clip (older Kdenlive versions used different producers, check if mix is clicky)
  • Tracks not resizable when default size is smaller than track header icons
  • Match frame feature lost
  • Do not auto split audio clips when inserting in timeline
  • Fix errors/crash in clip drag (from clip monitor or subclip)
  • Reimplement disable timeline in/out for editing (jbm)
  • monitor effect scene not hidden when deleting effect using it (jbm)
  • reimplement rotoscoping effect (jbm: https://phabricator.kde.org/D10772 )
  • monitor scene vertical offset compared to monitor image (jbm)
  • remove all unused files in source code - in progress jbm
  • Left resize is broken (alcinos)
  • Change item speed in timeline doesn't work if clip is grouped (jbm)
  • Insert does not cut clips in upper/lower tracks (jbm)
  • lock track does not prevent inserting clips (jbm)
  • restore automatic track feature for compositions (jbm)
  • fix freeze on proxy creation (mutex locking issue)
  • rewrite clip jobs (transcode)
  • cutting grouped clips does not correctly regroup

Related Objects

StatusAssignedTask
OpenNone
OpenNone
OpenNone
afarid created this task.Oct 2 2017, 8:28 PM
  • copy/paste clips not working
  • favourites effects dont work, nor you can drag them
  • effects:
    • missing effects: No transform?
    • effects without variables:
      • position and zoom
      • rotate
    • favourites not working
    • no contextual menu
  • length of the project? where is defined.? colored tracks go up to 10' instead of using the last clip on track as size of the project
mardelle updated the task description. (Show Details)Oct 4 2017, 10:00 AM
mardelle updated the task description. (Show Details)
mardelle updated the task description. (Show Details)Oct 4 2017, 7:01 PM
alcinos updated the task description. (Show Details)Oct 6 2017, 3:06 AM
alcinos updated the task description. (Show Details)Oct 6 2017, 5:22 AM
mardelle updated the task description. (Show Details)Oct 6 2017, 8:21 AM
mardelle updated the task description. (Show Details)Oct 9 2017, 1:27 AM
albertokde updated the task description. (Show Details)Oct 13 2017, 10:53 AM
mardelle updated the task description. (Show Details)Oct 23 2017, 5:57 PM
alcinos updated the task description. (Show Details)Oct 30 2017, 8:42 PM
afarid renamed this task from 17.12 Blockers to Refactoring Blockers.Nov 9 2017, 8:43 PM
afarid updated the task description. (Show Details)
afarid updated the task description. (Show Details)Nov 10 2017, 1:36 PM
boiko added a subscriber: boiko.Nov 14 2017, 11:51 AM

Hi

Could you guys please let me know which items you are working on? I would like to help on these blocker items but want to avoid duplicated efforts.

I would like to know more about the "project duration" item, is it just wrongly calculated or what is the problem exactly?

Thanks

boiko added a comment.Nov 14 2017, 1:30 PM

So, I will try to fix the "Insert several clips" item, ok?

@boiko sounds good. You have to insert clips using the appropriate function of the timelinemodel, and then group them while the user is dragging (to make sure they all move together) and finally ungroup when the user release them. Let me know if anything goes wrong

boiko added a comment.Nov 14 2017, 4:43 PM

@boiko sounds good. You have to insert clips using the appropriate function of the timelinemodel, and then group them while the user is dragging (to make sure they all move together) and finally ungroup when the user release them. Let me know if anything goes wrong

Thank you for the hints. Just to make sure I am following the correct route: I should use the instance of GroupsModel to group the items right after they are created, correct?

Not directly. The code you are writing will probably be sitting in the timeline qml, and you don't have direct access to groupmodel from there (it is not advisable anyways to access it directly). Rather use requestClipsGroup/requestClipsUngroup from timelineModel.

boiko added a comment.Nov 14 2017, 4:53 PM

Not directly. The code you are writing will probably be sitting in the timeline qml, and you don't have direct access to groupmodel from there (it is not advisable anyways to access it directly). Rather use requestClipsGroup/requestClipsUngroup from timelineModel.

Got it. My plan was to handle that inside requestClip{Insertion,Creation} but I guess it makes more sense to do that from the QML side indeed (to handle the ungrouping), let me try it this way.

Well actually, you probably need a helper function to add several clips consecutively starting from a given (track, position). The right place to implement this is TimelineFunctions. The signature should be along the lines of

static bool requestAddMultipleClips(std::shared_ptr<TimelineItemModel> timeline, const std::vector<int>& binIds, QList<int>& clipIds);

where cliIpIds is a return parameter of the ids of the created clips (if successful). This function repeatedly call requestClipInsertion (the version with undo/redo), unless a conflict is found.

Then you handle grouping/ungrouping from the dropArea in QML (timeline.qml:194)

Hope this makes sense.

boiko added a comment.Nov 14 2017, 8:56 PM

@alcinos It does make sense. I got a bit lost in all those timeline classes, but soon they will be familiar :)

boiko added a comment.EditedNov 17 2017, 5:13 PM

@alcinos one more question: So, I insert the first clip, and in order to insert the next one I need to adjust the position accordingly. How can I do that? I mean, how can I fetch the duration of the clip I just added in order to increment the position

Thanks

Well if you called called requestClipInsertion, then you got back the id of the clip you just added. Then the clipModel has a getPlaytime() method that do what you want. I see that there is no direct getter for the length in the timeline class (there is one for position though, getClipPosition), but you can create your own getter for that on the same model.

Note that there is also a way to retrieve a pointer to the clip (getClipPtr), but beware that you should only ever call getters of the clip, not try to modify it directly. For example, do NOT try to call directly ClipModel::requestResize (this should only be called from the appropriate function(s) of the TimelineModel)

mardelle updated the task description. (Show Details)Jan 16 2018, 9:44 PM
mardelle updated the task description. (Show Details)
mardelle updated the task description. (Show Details)Feb 1 2018, 1:12 PM
mardelle updated the task description. (Show Details)Feb 2 2018, 2:18 PM
mardelle updated the task description. (Show Details)Feb 2 2018, 2:55 PM
mardelle updated the task description. (Show Details)Feb 2 2018, 5:46 PM
mardelle updated the task description. (Show Details)Feb 20 2018, 8:37 PM
mardelle updated the task description. (Show Details)Feb 20 2018, 8:54 PM
mardelle updated the task description. (Show Details)Feb 20 2018, 8:58 PM
mardelle updated the task description. (Show Details)Feb 21 2018, 8:55 AM
mardelle updated the task description. (Show Details)Feb 21 2018, 9:25 AM
mardelle updated the task description. (Show Details)Feb 21 2018, 9:35 AM
mardelle updated the task description. (Show Details)Feb 21 2018, 10:08 AM
boiko added a comment.Feb 21 2018, 2:15 PM

Hi, I see that "Insert several clips" is marked as done, is that counting on my changes or was that already done by someone else?
I am asking just to know if my branch is still relevant (I basically addressed all the comments, just didn't have the time yet to write tests) or if I should close/remove it.

alcinos updated the task description. (Show Details)Feb 22 2018, 2:04 PM
mardelle updated the task description. (Show Details)Feb 22 2018, 5:40 PM
mardelle updated the task description. (Show Details)Feb 23 2018, 1:02 PM
mardelle updated the task description. (Show Details)Feb 23 2018, 1:38 PM
mardelle updated the task description. (Show Details)Feb 23 2018, 4:25 PM
mardelle updated the task description. (Show Details)Feb 23 2018, 4:40 PM
mardelle updated the task description. (Show Details)Feb 25 2018, 11:03 AM
mardelle updated the task description. (Show Details)Feb 26 2018, 5:43 PM
mardelle updated the task description. (Show Details)Mar 5 2018, 5:58 PM
mardelle updated the task description. (Show Details)Mar 13 2018, 8:20 AM
mardelle updated the task description. (Show Details)Mar 20 2018, 7:23 PM
mardelle updated the task description. (Show Details)May 8 2018, 7:54 PM
mardelle updated the task description. (Show Details)Aug 9 2018, 7:22 AM