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?