Suggestion: Make the Sequencer contents into data-block, which can override the switched to Scene-Sequencer contents

It is quite a limitation that you can’t switch scene without switching the contents of the Sequencer too. If this was possible you could use the sequencer to switch cameras and scenes in the 3d view, which would be very useful for ex. grease pencil or animatic storytelling.

As I understand it, is one of the reasons for the Sequencer being inside scenes is that the render settings also are nested inside the scene data structure, but instead of moving the entire Sequencer data outside of scenes, maybe just the content of the sequencer could be converted into data-blocks, like the texts in the Text Editor, the images in the Image Editor, or the videos in the Movie Clip editor. If this step is too complicated maybe the content of the Sequencer could be set up as a override function, where a dropdown could be used to determine the current sequence and not change, when changing scene.

Codewise I guess the VSE copy/paste code could more or less be mirrored, so users could load/save the sequencer contents(all strips “copied” and then saved), or “paste” (all edited strips data loaded from disk and “pasted” into the sequence).

image

The dropdown(like the data-block selector in the Text Editor header), should contain a Current Scene setting, so everything will work as it is now, but if a new sequence is added or loaded, the Current Scene edited sequence data would be stored in ram, so the selected edited strip data can replace it. The same thing would happen when changing scenes, if Current Scene isn’t selected in the dropdown, then selected edited strip data will override it, while the current Scene contents is saved in ram.

I don’t know if this will solve the recursive problems of rendering 3d view scene strips of the current scene, but basically Blender could work around this when rendering, by always copying the current vse scene to a new scene only used for rendering and delete it afterwards.

5 Likes

Personally I think using an id datablock for the sequence editor is something we should do. In short term there is one feedback loop that we should be limiting (scene strip to self). In the long run this is just a step towards a more flexible pipeline.

Next to the render setting also check color management setting and if there is any breakage in this workflow. Not sure how to handle caches….

Note that this change isn’t as straight forward as it seems. It impacts scene data, animation system, depsgraph, python api, blend file breakage, Id management. I would advice to look at these areas as well as some effects artists and addon devs as well.

1 Like

@JeroenBakker Thank you for sharing your thoughts of this topic.

There are some great doors opening if the feedback loop could be worked around ex. switching cameras in the 3d view from the Sequencer’s scene strips(2.79):

Or having a sequencer channel input node in the compositor(The compositor-Up-fork):

Or roundtrip strips in the compositor, the tracker, 2d editor(masks), 3d editor etc.

Or having sequences and strips show up in the Asset Browser and Outliner for organization, render-versions or as drag and drop elements. Or as swapping data-blocks between ex. storyboard, animatic, various versions of renders.