Page MenuHome

VSE new python operators
Needs ReviewPublic

Authored by Richard Antalik (ISS) on Thu, Jan 31, 5:46 PM.

Details

Summary

Continuation of D4199.

TODO's

SEQUENCER_OT_CrossfadeSounds
Fades should be logarithmic with audio:

  • this is a bit more complex actually. tl;dr Harmonic sounds do mix in a different way then non-harmonic
  • I will treat this as a feature request (Do it, when I will look at this todo and feel like I have nothing better to do)

Crash on ceated keyframe remove in curve editor:

  • I will create bug report and fix after I finish higher priority patches & bugs

SEQUENCER_OT_RippleDelete, SEQUENCER_OT_Duplicate_clear_offsets, SEQUENCER_OT_ExtendToFill, SEQUENCER_OT_Concatenate,
Collision detection:

  • None was implemented. If user is not satisfied with result, he can always undo
  • If users will request this feature, I will raise priority, otherwise I would deal with this when rewrite of sequencer timeline will be on table

Excluded operators

SEQUENCER_OT_ZoomVertical

  • Step zooming(by mouse wheel) in marked as TODO in v2d C code
  • I will not be able to tinker with v2d code now. Should I include this operator as temporary replacement of missing functionality?

SEQUENCER_OT_PreviewAndCutMode

  • Merged with cut operator
  • Should be included in next iteration

SEQUENCER_OT_Move

  • I may add "secondary" function to grab operator to "jog" with strips, but leave this excluded for now.

SEQUENCER_OT_SelectChannelStrips

  • I will have to sort these out fairly early, as they by large part influence the workflow. Probably after next iteration

API

Standalone functions used for type handling such as is_2_input_effect, is_effect, ... should be eliminated by including necessary properties for all strips in RNA(input_count, is_effect in this case)
low-level functions like duplicate_strip should be method of strip, so we can have duplicated strip returned: dup = strip.duplicate()
Should I implement these features in this patch?

Idea is, that with reasonably complete API, and interpreted runtime you have almost unlimited possibilities of control. I can already imagine using node editor to create custom operators, probably even without need to modify C code.
Or am I abusing RNA system too much by building a object model for sequencer?

Diff Detail

Repository
rB Blender

Event Timeline