As this VSE Quick Tasks has been closed on devtalk, I’ll insert it here instead: https://devtalk.blender.org/t/quick-tasks-for-the-video-sequence-editor-a-list-of-suggestions/10341
A list of suggestions for VSE Quick Tasks:
- Add splice function to remove cuts from the same strip with consecutive frame numbers over a cut: https://github.com/tin2tin/join_through_splits
- Add Slide, where the adjacent handles are selected but the handles are deselected of the original selected strips. When using Grab the strip position is changed in the timeline, but not the contents of the strip. Insert this function into Slip operators.
- Add Roll, which trims the In point of one and the Out point of the other, while leaving the combined duration of the two clips unchanged.
- Add Ripple Trim.
- Correct linked_handles to the current function to be assigned to (Left/Right setting) to Mouse(which it actually is, but currently must be set to NONE to work).
- Add LEFT and RIGHT settings to linked_handles so they can be added to the menu: Select > Handles > Linked Left/Right
This selection is the first step of Roll trimming:
https://developer.blender.org/T6882 - When using Slip then auto-select both handles of all selected strips - because with both handles selected inside the strip and Grab performs a Slip.
- Expose currently active hover state to Python API, so context-sensitive menus and mouse cursors can be added to the VSE.
- Add hover states to all VSE elements like: Strip-types, handle, adjoined cuts, empty space, playhead etc.
- Make the Time Sidebar Panel use meaningful values.
- On import, detect resolution, colorspace, timecode, and aspect of the source clip.
- In import panel, add checkbox to copy source resolution, colorspace and aspect to Output Dimensions. Default on for first clip like the fps checkbox.
- Add sort in Filebrowser after timecode.
- Expose Source Aspect, colorspace in Source Sidebar Panel(Code is already in Movie Clip/Motion Tracker)
- Support drag and drop of multiple files from File Browser.
- Delete Proxies(Code is already existing in Movie Clip/Motion Tracker). https://developer.blender.org/D6139
- Meta, Adjustment Layer, and Scene strips can have both Video and Audio, but audio attributes are missing. The sound sidebar panel needs to be exposed too for these types of strips and also drawing of waveforms on the strips.
- Scene Strips: Separate Camera Override(using the currently active camera in scene) from Selected Camera. When a camera is selected it is currently not possible to go back to Camera override mode.
- Menu > Strip > Add Modifier should work on the entire selection, when selected in the menu, but not when selected in the Sidebar > Modifiers menu(unless +Alt is pressed).
- Speed Effect Panel: The Speed Factor widget needs limits. When in Frame Number, then limit to Number of frames of the active strip. When in Speed, limit to positive values. When in Scale limit to values between 0 and 1(or use a % scale of 1->100). The panel also needs a redesign: https://developer.blender.org/D6110
- Add Speed Strip for audio strips, it’s basically the pitch value which should be controlled.
- Let Speed and Pitch determine the out frame value of the affected strips.
- Add a SMPTE widget for timecodes ex. 11:22:33:44 https://blender.community/c/rightclickselect/c0cbbc/
- Allow for High Frame Rate (HFR) formatting of timecodes: https://developer.blender.org/T53661
- API: Add ability for python to pause/resume the ‘strip collision’ detection (like happens in the grab operator) so a python function can move a large number of strips without blender moving the strips up and down.
- In the Strip tab in the Sidebar, all functions should work on the full selection when +Alt is pressed. Ex. changing the color of a color strip with +Alt pressed should change the color of all selected color strips. Or the font of all text strips should be changed.
- Expose more ffmpeg options and add the command-line options to the API.
- Add an outline, multiline options to the texts in the Text Strip: https://blender.community/c/rightclickselect/xTdbbc/
- Text Alignment of Text Strips: https://blender.community/c/rightclickselect/JQdbbc/
- Add import of subtitles.
- Add a meaningful UI widget to replace the Sound Strip Pan widget, designed as a movable position between 5 surround speakers: https://developer.blender.org/T69684#784663
- Add VapourSynth support in the Blender built-in ffmpeg build: https://github.com/m-ab-s/media-autobuild_suite/commit/1e6181a698816701b4a291dc524c50262ee806ce On VapourSynth: http://www.vapoursynth.com/ RCS: https://blender.community/c/rightclickselect/Cnbbbc/
- Add “Wait for input” setting to Pick Linked(shortcut: L), Select Linked Handles(Alt+Select), Select Linked Time(Ctrl+Select), so they can be used as tools accessed from the Menu. Maybe useful code: https://developer.blender.org/rBS870b4b673511094cf0beaeaf07305407ccdda47a
- Batch add single input effect strips to all selected strips.
- Bug: A stacked pile of effect strips gets randomly autoselected when you try to move a single effect strip(that can be done in the source panel without troubles).
OLD EXISTING PATCHES NEEDING UPDATE:
- Proper Timecode SMPTE in widgets: https://developer.blender.org/D71
- Override render engine: https://developer.blender.org/D2924
- Render speedup AVI JPEG:https://developer.blender.org/rB9c3e41b4f66f663ab8cd27b4d2bf3aa297b478c5
- Multi-threaded render: https://developer.blender.org/D4119
DESIGN PROPOSALS:
- Text Strips: Design Proposal: Text Strips
- Effect Strips: Design Proposal: Effect Strips vs. Strip Settings
- Proxies: Design Proposal: Proxy use in the Video Sequence Editor
- Toolbar: Design Proposal: - VSE Toolbar
GSoC Proposals:
GENERAL VSE IDEAS:
-
Range is a global setting, so when switching scenes you’ll have to re-adjust the range every time. It’s particular annoying when switching from a Scene with a lot of footage to a Scene with almost no footage. So make range a local value of scenes. This is crucial for this workflow: Media organization and editing workflow in Blender Video Sequence Editor - YouTube
-
Ctrl + Left Mouse on Playhead should select all strips at Current Frame. Currently is Ctrl + Left Mouse on either side of Playhead selecting all strips to these respective sides.
-
Scaling instead of cropping, when changing resolution: Video Editing - Changing Resolution does not work anymore? - Compositing and Post Processing - Blender Artists Community
-
Add Text outlines, if possible: Right-Click Select — Blender Community
-
Add centered alignment for multiline texts(not just text-block): Right-Click Select — Blender Community
-
Add new line entry to text strips or commit this workaround patch: D10775 VSE & Text Editor Add: Send to Strip
-
Glow is not multithreaded, it’s needed to ex. workaround making text outlines: Add_text_strip_outline.py · GitHub
-
Add auto-range, new users constantly make a fuss about only being able to see the first 250 frames without knowing why: Right-Click Select — Blender Community
-
Add waveform to Meta and Scene strips: Right-Click Select — Blender Community
-
Add strip parenting: Right-Click Select — Blender Community GitHub - snuq/VSEQF: VSE Quick Functions Addon For Blender. Improve the Blender video editor with new workflows and functions.
-
Cache, keep some cached frames behind playhead for reverse playing, while reverse playing, do reverse caching, add caching of the beginning of range when range end is met.
-
Display the Transform settings for the VSE in the Statusbar while transforming, not the 3D View ones.
-
Draw the content text of Text strips in the context area of the strip with a big font(same area where waveforms, or colors are drawn on strips)
-
Expose “Remove all gaps” - right now it isn’t exposed anywhere:
-
Make Remove Gaps and Expand ignore locked channels/strips, locked should mean that these stips can’t be moved or split - very useful for having ex. audio channels with music.
-
Scale and use subsampling on the proxy files to the project resolution before the proxy files are rendered - since adding them afterwards will make the files too slow to play.
-
As it is super annoying to have proxy files scattered all over your HDD, maybe in the System/VSE preferences, a path to the proxy files could be set up and using this as the default location
bpy.utils.user_resource('DATAFILES')
It would make cleaning up proxies so much faster, and there could even be a simple operator to clean up the proxy files? -
Add Solo to Channel Headers: https://blender.chat/channel/vse?msg=o6Mdnav6v7HZQBM85
-
Fill Gaps: https://archive.blender.org/developer/differential/0007/0007842/index.html
-
Roll & Slide: https://archive.blender.org/developer/differential/0009/0009829/index.html
-
Transitions: https://archive.blender.org/developer/differential/0010/0010207/index.html
-
Handels: https://archive.blender.org/developer/differential/0010/0010317/index.html
-
Compare view mode: https://archive.blender.org/developer/differential/0010/0010503/index.html
-
Improved MultiCam: https://archive.blender.org/developer/differential/0010/0010521/index.html
-
Surround: https://archive.blender.org/developer/differential/0012/0012114/index.html
MORE COMPLICATED:
-
As Davinci Resolve 18.4 will be including the I/O of the OpenTimelineIO format, maybe it is time to consider how to implement it in Blender. Here’s a project with C bindings for OTIO: https://github.com/OpenTimelineIO/OpenTimelineIO-C-Bindings
-
Make a design of how to simplify performance enhancements like in the UI: cache, cache to disk, single proxy, multi proxy, auto proxy etc:A complete redesign of the VSE proxy-system is needed - #2 by tintwotin
-
Copy the key-frame drawing and interaction from the Timeline editor onto the strips.
-
Add a fixed size proxy option, so all proxies gets scaled to the same X value. Currently mixing 4k and 2k proxies results in huge difference in playback fps of the proxies.
-
Draw animated color strips as gradients instead of animating them during playback: D11580 Sequencer: Do not redraw during playback. Liked by Pablo: BLENDER 3 = FAST | Blender.Today LIVE #156 - YouTube
-
Surround(Reference: D11933 VSE UI: Add Mono, Stereo, 4 Surround, 5.1 Surround and 7.1 Surround Pan Preset Buttons):
-
UI to display sound position in between surround speakers.
-
Use degrees instead of magic value.
-
Support for placing sound strip in LFE(sub) is missing.
-
Import of multi channel files as multiple mono strips(add multi-channel channel selector), with correctly panned positions added.
-
A centralized UI place (in ex. Timeline Editor?) to set-up both playback and render Audio Channels settings.
-
Limit audio export options according to Audio Channels setting. Ex. Ac3 only supports up to 5.1(and not 7.1).
-
Implement multi-file drag and drop: D12159 Fix to enable drag-and-drop multiple files
-
The Add > Scene menu should have an option to generate a new scene: UV IMPROVEMENTS! - Blender.Today LIVE #185 - YouTube
-
The Add > Clip menu should have an option to generate a new Movie Clip data block.
-
The Add > Mask menu should have an option to generate a new Image data block.
-
In the code of Blender the words Sequence and Strip are used as synonyms, but in the UI there is a difference, so when grabbing a strip to move it, shouldn’t the text be Strip Slide instead of Sequence Slide.
VERY HARD:
- Enable “Copy to Selected” for Text strip fonts: Is it possible to copy text settings? - Blender Stack Exchange Or update the old Extra Actions add-on(easy): operators_extra_actions.py · rBAC
Not necessarily quick tasks:
-
Missing functionality of the overlap modes: Design: Missing functionality in the edit modes in the VSE Ex. in Expand, users would expect all enabled channels to be cut at the insertion point and the inserted strip would push all following strips to make place for the new strip. For comparison, here’s drag and drop in the open source Shotcut editor:
-
It is actually possible to move or manipulate locked strips with ex. split, delete, insert & remove gaps, overwrite, and expand over a locked strip(+more?), and it shouldn’t, imo. A locked strip shouldn’t be able to be manipulated in any way. The only operator a locked strip should accept is Unlock.
-
Liberate Sequencer Data, by moving Sequence data out of Scene and into data blocks, which will allow for better integration everywhere in Blender: https://devtalk.blender.org/t/suggestion-make-the-sequencer-contents-into-data-block-which-can-override-the-switched-to-scene-sequencer-contents/16562