Commit graph

199 commits

Author SHA1 Message Date
John Kiril Swenson
243fbe44a3 Fix: Various crash/bug fixes with differing active scene and sequencer scene
There were many cases across the VSE codebase where the active scene
was used rather than the current sequencer scene.

Thus when the two differed many bugs could arise.
When changing cache settings, there was even a crash. In other cases,
operators/properties would just fail to register.

Pull Request: https://projects.blender.org/blender/blender/pulls/164154
2026-09-19 23:00:16 +02:00
Pablo Vazquez
2846da71be UI: Add tooltips to add effects/modifiers menus
Menus can now show a tooltip when called from a menu thanks to
0d06dbf124.

Add it to the Add Scene Effect and Add Modifier (strip) menus.
2026-09-17 19:06:12 +02:00
Guillermo Venegas
bad8871dc5 UI: Add UILayout::property_split_factor static value
This adds the `UILayout::property_split_factor` property which contains
the split factor used in the layout system, and avoids to use the this
as raw value all over the place.

Pull Request: https://projects.blender.org/blender/blender/pulls/163393
2026-09-09 00:27:44 +02:00
Falk David
bc1e5d3208 VSE: Add "Middle" option to show thumbnails in the middle of strips
This adds an option "Middle" to the existing thumbnail style setting.

The thumbnails overlay panel is updated. The `None` option is removed
and replaced with a checkbox `timeline_overlay.show_thumbnails`.

When using scene strips for storyboarding it's common to only want
a single thumbnail for each shot/strip. Additionally, when zoomed out,
having just a single thumbnail helps as well and avoids overlapping
start/end thumbnails.

The implementation can reuse all the code from the "Strip Ends"
thumbnail option so only one new function
`get_seq_strip_middle_thumbnail` is needed.
Note that because we get the (rounded) center frame of the content,
zooming the timeline does not query a different content frame for the
thumbnails but can get the (potentially) cached frame.

Pull Request: https://projects.blender.org/blender/blender/pulls/163382
2026-09-07 10:31:38 +02:00
John Kiril Swenson
ea1680d241 VSE: Add drag-and-drop support for text datablocks and text files
Note that to support "multiple text files dragged in at once" we need to
use file handlers, which can't be passed any custom data (e.g. can't set
"text" property before calling SEQUENCER_OT_effect_strip_add).  To get
around this I just added a new SEQUENCER_OT_text_strip_add rather than
try to change any file handler code.

This should be backwards compatible; scripts can continue to call
effect_strip_add. But we might want to move to the new operator for 6.0
(see #154702).

Ref: !163440
2026-09-05 11:52:10 -05:00
John Kiril Swenson
d42b8e3728 VSE: Always list all clip, mask and scene datablocks in the Add menu
Previously, if more than ten of these IDs existed, it would hide the
list and fall back to the operator's enum search popup.

This is a just a remnant from when you couldn't use spacebar to search
menus and some submenus couldn't scroll (see 9e5577db47).

Instead of enum search, we can get native search of the submenu
on spacebar by just registering them as actual `MenuType`s.

This enum search also got in the way of any attempts to make an "import
then add" macro, which would help address #146635. Note that this is
also why we loop creating `operator`s here rather than applying a single
`operator_enum`.

Pull Request: https://projects.blender.org/blender/blender/pulls/163069
2026-09-04 17:37:35 +02:00
John Kiril Swenson
ab061c0cab VSE: Set Rendersize, Scale to Fit for scene/movieclip/text/effect strips
Following on from !161300, this patch updates the following operators to
support _all_ non-sound strips (including movieclip, effect, and text
strips):
- Set Render Size
- Scale/Stretch to Fit/Fill

In the text strip case, the operators work on the visible "boundbox" in
the preview, rather than the raw `ImBuf` it renders out to.

Text strips have some properties relative to the current scene
resolution, so those must be reset when "setting render size". When we
add more relative properties to other strip types they will be dealt
with here too.

This also fixes bugs where scene strips and image sequences with
differing image resolutions would not draw correct bounding boxes.

Pull Request: https://projects.blender.org/blender/blender/pulls/162164
2026-07-31 18:41:28 +02:00
Philipp Oeser
e3ad232028 VSE: Support "Set Render Size" for scene and color strips
Add a new `strip_source_size_get` which supports scene and color strips
aside from the existing image (sequences) and movie strips, setting the
current scene resolution to that source size.

This `strip_source_size_get` will be used elsewhere in future cleanup
and fix patches.

Pull Request: https://projects.blender.org/blender/blender/pulls/161300

---------

Co-authored-by: John Kiril Swenson <john@blender.org>
2026-07-30 22:03:13 +02:00
Nika Kutsniashvili
2664811a96 UI: Reorganize Playback popover
"Playback" popover was getting too large with new additions coming in
frequently, and most of the vertical space was taken up by the least
useful options.

This PR groups settings in the popover in different subpanels and
closes one by default to save on real estate.

In the Sequencer editor, an additional subpanel appears.
"Sync Scene Time" setting, which was sitting in the footer, exposed,
was moved here.

Images in the PR.

Pull Request: https://projects.blender.org/blender/blender/pulls/161508
2026-07-27 18:13:05 +02:00
Falk David
5f61194404 VSE: Update scene strip content length when scene changes length
Part of https://projects.blender.org/blender/blender/issues/160377

Fixes: #145521

For scenes (and especially with !140271) it is not unusual for the length
to change. This is not so much a problem for e.g. video and audio files
where we don't expect the length to change during the same Blender
session.

When storing the length of the scene in the strip, updating that length
becomes very tricky. Scenes can be linked, properties can be overriden,
etc. so it's not as simple as adding an RNA update function to the
scene start and end. The solution is to compute the strip length
dynamically for scene strips instead of storing its length in DNA.

So this PR tries another approach: the strip always gets the length from
the scene it references. This ensures that we get the updates "for free"
because everytime the strip needs its length, it gets the right and
up-to-date one.

Changes:
- Implement `content_length()` and related getters and setters that
computes scene strip frame number dynamically. Note: Existing usage of
`Strip::len` in versioning was not changed because `Strip::scene` might
not be valid before linking, see `blendfile_versioning_*` tests.
- Remove 'Update Scene Frame Range' from UI
- Deprecate the operator `SEQUENCER_OT_scene_frame_range_update`.
Using it will log the following in the console:

`WARNING SEQUENCER_OT_scene_frame_range_update is deprecated and will be
removed in 6.0. Operator`

Co-authored-by: Habib Gahbiche <habib@blender.org>
Pull Request: https://projects.blender.org/blender/blender/pulls/144146
2026-07-16 17:10:27 +02:00
Campbell Barton
6ca49c2e43 Cleanup: remove unused variables, wrap long lines 2026-07-15 10:40:58 +10:00
il4n
fcc881f65e VSE: Improve meta strip selection logic
This patch makes a couple small changes to meta strip selection to
make it more intuitive:

- Don't select meta strip contents whenever a meta strip is selected
  - This was a holdover from back when there was no proper transform
    code for meta strips and was necessary at the time.
  - However nowadays this is not very useful; better to avoid tampering
    with the selection state.
- Leave meta strip contents deselected after initial creation.
- When separating a meta strip, expand the current selection with the
  former meta strip contents, auto-selecting them.
  - This lets the user immediately apply an operator on the resulting
    separated strips afterwards.

Finally, also poll away the unmeta operator if the active strip isn't
selected. This is to avoid confusion where there could be selected
strips that differ from the active one.

Pull Request: https://projects.blender.org/blender/blender/pulls/161102
2026-07-09 20:16:45 +02:00
John Kiril Swenson
19f51d25b1 VSE: Add Ripple Delete Operator
Part of the Ripple Editing project: #153963

This PR adds a ripple version of the delete operator for removing strips
from the edit timeline while closing gaps left behind.

There is an `all_channels` property for controlling whether the ripple
happens on just the strips occupied by the deleted strips, as well as an
option `markers` which determines whether markers are rippled too.

It adds a keyboard shortcut (<kbd>Shift+X</kbd>), and the item is added
to the context menu.

After ripple deleting, there can be cases where strips overlap.
Currently this follows existing overlap mode logic, which can be
awkward, but a companion PR exists to resolve these issues: !160608

Pull Request: https://projects.blender.org/blender/blender/pulls/160607
2026-07-03 12:27:29 +02:00
John Kiril Swenson
64768b984e VSE: Add Select All by Type and clean up Select Grouped
The names for `Select Grouped` types were often misleading and
incorrect.

For two of them, it would just select certain strip types:
- `Global Type` would either select all visual or all audio strips.
- `Effect Type` would either select all effect or all non-effect strips.

We can replace these with a new `Select All by Type` menu just like
the 3D viewport, and add all the other strip types while we're at it.

For the rest, improve them by explaining exactly what kinds of strips
get selected with each type, and add fuller tooltips with more
information.

Also add support to the VSE preview too (it was broken before) and
the Shift+G keybind there, and modernize most of the code.

Pull Request: https://projects.blender.org/blender/blender/pulls/155826
2026-06-18 20:01:47 +02:00
Eitan Traurig
b207b277e3 UI: Add missing delete and duplicate icons
- Add Duplicate and Delete icons
- Reorder Delete by moving to the bottom

Pull Request: https://projects.blender.org/blender/blender/pulls/159814
2026-06-13 13:07:58 +02:00
Eitan Traurig
09bf85e8de UI: Add missing Copy/Paste icons
Images in the PR.

Pull Request: https://projects.blender.org/blender/blender/pulls/159663
2026-06-06 10:36:12 +02:00
John Kiril Swenson
cf1b6795fe VSE: Reorganize and clean up context menu
The right-click context menu is quite messy and hard to parse.
Do the following:

- Only show options that are possible with the current state. Hide some
  options if nothing is selected, and hide even more if nothing is
  active.
- Add icons for some operators like delete/duplicate/meta.
- Fix showing keyboard shortcuts for slip and snap.
- Add "Set Render Range to Selected" to the context menu for easy access.
- Show Movie Strip options on first level rather than hiding them in a
  submenu. Same for color tags.
- Visually group various ops based on their function (editing vs.
  timeline-wide vs. transitions vs. grouping etc).

Pull Request: https://projects.blender.org/blender/blender/pulls/159498
2026-06-05 18:23:42 +02:00
golden-dragon
5f4bec8a2e VSE: Implement composition guides overlay in preview
This patch adds all composition guides in 3D viewport cameras to the VSE
preview. All drawing code has moved to `ed_draw.cc` for reuse.

To match camera guides, there is an overlays toggle (on by default), and
individual guides may be enabled in the Preview N-panel (all off by
default).

Co-authored-by: John Kiril Swenson <john@blender.org>
Pull Request: https://projects.blender.org/blender/blender/pulls/157117
2026-05-29 18:24:03 +02:00
Aras Pranckevicius
4557472d86 ffmpeg: Remove proxy "time code" files
When building video file proxies, Blender would also build "time code"
files (*.blen_tc) to aid seeking within the video files. General
seeking in video files has improved a lot (generally since 3.3, but
also a handful of fixes since then). Thus "timecode index" files are
no longer needed. Remove all mentions of "timecode indices" from proxy
user interface.

As a side effect, this PR also fixes several mismatches between
proxies & original source media, which were mostly visible in
high framerate or variable frame rate media.

Co-authored-by: Richard Antalik <iss@noreply.localhost>
Pull Request: https://projects.blender.org/blender/blender/pulls/158840
2026-05-23 08:00:14 +02:00
Falk David
a1f0e91f95 VSE: Add support for compositor modifier assets
This adds initial support for compositor modifier assets.

Right now, every compositor node tree that is marked as an asset will
show up in the strip modifier `Add` menu.
* Node trees can be marked as an asset by right-clicking the data-block
  selector and selecting `Mark as Asset`.
* In the asset browser, assets can be moved into catalogs (requires
  saving the file with the asset).
* Node group assets that are in catalogs will show up in a menu/submenu
  in the modifier "Add" menu.

The existing compositor node group essentials are automatically showing
up in the "Add" menu. The ones that can be used as modifiers include:
* `Camera & Lens Effects`:
   * `Chromatic Aberration`
   * `Sensor Noise`
   * `Vignette`
* `Creative`
   * `Sepia`
   * `Split Toning`
   * `Tune Image`
   * `Unsharp Mask`

Note: Existing compositing node assets need to be re-saved in the
current version of Blender to correctly be showing up in the "Add" menu.

Pull Request: https://projects.blender.org/blender/blender/pulls/157461
2026-05-18 18:20:55 +02:00
Pratik Borhade
1de9c374c3 UI: Add Scrubbing Region
This patch adds a new region type for scrubbing the entire playback
range. For now, it is only drawn on top of the VSE preview playback
controls footer (as part of the three point editing / Media Bin
project), but the `RGN_TYPE_SCRUBBING` region type is general
enough to be reused elsewhere.

To allow pulling up/down the VSE preview scrub region along with the
playback controls footer in one click-drag movement, a new
`RGN_STACK_ON_PREV` alignment option is added, which forwards drags
from/to the previous region when reaching maximum sizes.

Original design task ref: #155275

Pull Request: https://projects.blender.org/blender/blender/pulls/155377
2026-05-14 21:39:11 +02:00
Clément Foucault
0cd9551299 Fix: Viewport: Allow overriding solid mode background type
This PR allow the override setting in the scene strip editor
to override the target strip world.

This allows a more easy way to control the background color
of the sequence using the sequencer scene world color.

This was requested by the story tool artist Pablo Fournier.

Pull Request: https://projects.blender.org/blender/blender/pulls/149656
2026-03-26 15:05:39 +01:00
Bastien Montagne
3eca25942f Merge branch 'blender-v5.1-release' 2026-03-11 12:15:41 +01:00
Pratik Borhade
eb0c6363f9 Fix: VSE: Python error invoking context menu
Invoking context menu in Sequencer editor without scene raises following
errror. Add poll check to avoid it.

See PR description for error and steps

Pull Request: https://projects.blender.org/blender/blender/pulls/155395
2026-03-11 11:28:16 +01:00
Pratik Borhade
b77ffcb88b Cleanup: Redundant line
Extra line inside if block which is not necessary.
2026-03-09 12:15:00 +05:30
John Kiril Swenson
8be9b57c9b VSE: Add "All Channels" snap option
This patch adds the ability to enable/disable "All Channel" snapping.
By default it is enabled and has identical behavior as before, but if
disabled, transformed strips will only snap to other strips on the same
channel.

Further rationale is described in the PR.

Pull Request: https://projects.blender.org/blender/blender/pulls/154545
2026-03-04 07:01:02 +01:00
Aras Pranckevicius
04aea5a4e9 VSE: Compositor based effects/transitions
Implements compositor-based Effects in VSE (#150636). Compositor
effects can be of all currently existing effect kinds:

Two input effects (transitions):
- Similar built-in effects: Cross fade, Wipe.
- Created on two selected strips.
- When creating a node group for them, the group input has
  "Input 1", "Input 2" and a float "Effect Fader" (0..1 over strip
  range) inputs.
- Expected use case: transitions or fancy combination of two strips.

Single input effects:
- Similar built-in effects: Blur, Glow.
- Created on one selected strip.
- When creating a node group for them, the group input has "Input"
  and a float "Effect Fader" (0..1 over strip range) inputs.
- Expected use case: post-processing of input in screen-space
  (different from strip modifiers, which operate in local space
  before strip transform is applied).

Zero-input effects:
- Similar built-in effects: Solid Color, Text.
- Created when no strips are selected.
- When creating a node group for them, the group input only has a
  float "Effect Fader" (0..1 over strip range) input.
- Expected use case: gradients, procedural textures.

General notes:

Menu item to create a Compositor strip is in top level menu; next to
Adjustment strip. It is not under "effect" or "transition" since
compositor strip can be 1 or 0 inputs.

Properties inspector for compositor strips displays their inputs (as
for any other effect), and the compositor node tree selector.

Note that this PR does not change anything in how effect inputs are
selected within VSE - the new Compositor effect works just like any
other effect that already exists. You create a new strip with none,
one or two strips selected, and that are the inputs of the effect.
These can be swapped (for two input effects) or reassigned later with
the usual operators.

Implementation notes:

The actual compositor effect code is very small; most of the work
inside the PR was:
- Changes across VSE codebase to allow non-fixed amount of inputs.
  Since Compositor strip type can have either 0, 1 or 2 inputs now.
- Various places related to depsgraph & co, where it was handling
  strip Compositor Modifiers; very similar code has been added to
  also handle Compositor Effects.
- Just like compositor modifier, the compositor effect right now
  only works on the CPU. Getting both to use GPU is future task.

Pull Request: https://projects.blender.org/blender/blender/pulls/150694
2026-02-17 19:19:34 +01:00
Bipin Yadav
7d8fb0e00e VSE: Show thumbnails at strip ends by default
Implements design #151070: by default show thumbnails only at strip
ends. Less clutter, and fewer thumbnails to load. There is an option
to show thumbnails across the whole strip (i.e. previous behavior).

Pull Request: https://projects.blender.org/blender/blender/pulls/151148
2026-02-07 08:39:33 +01:00
John Kiril Swenson
d04c20a752 VSE: Add strip retiming icon
Any added retiming keys to a strip were drawn permanently, and toggling
off "Show Retiming Keys" would just make them slightly more transparent.
This is a bit obtrusive and just adds unnecessary visual noise.

With this patch, show an icon in the strip header to indicate that there
are retiming keys present, and hide the icon when in retiming mode to
take up less space.

Pull Request: https://projects.blender.org/blender/blender/pulls/153683
2026-02-03 22:34:56 +01:00
John Kiril Swenson
5ca5dec822 Fix: VSE: Re-add trailing dots to menu entries that open file browser
Original PR !150924 was accidentally overwritten with !150950.
This patch reinstates !150924.

Pull Request: https://projects.blender.org/blender/blender/pulls/153706
2026-02-01 04:56:35 +01:00
John Kiril Swenson
6f9556c561 Cleanup: UI: Standardize ellipsis for menu operators
This patch standardizes ellipses on labels that require further input
from the user before running the operator as per our
HIG.

- PR does not include buttons (e.g. "Purge" in Outliner) and only
  modifies menu items.
- PR does not include operators that wait for input from the user during
  modal operation (e.g. `view3d.select_box`, `paint.sample_color`).
- Some usage of ellipses were removed since they were only present to
  indicate the start of the sentence (to be finished by submenu items).
  E.g. "Make Local...", "Sort Elements...", "Move..." do not require extra
  input from the user.

Pull Request: https://projects.blender.org/blender/blender/pulls/150950
2025-12-04 23:04:28 +01:00
Jacques Lucke
2cbfbcafa4 Fix: VSE: add trailing dots to menu entries that open file browser
This is consistent with other menus like the file menu.

Pull Request: https://projects.blender.org/blender/blender/pulls/150924
2025-12-02 09:00:06 +01:00
Jacques Lucke
432a65f00b VSE: add Search entry in add menu
Adding the `Search...` entry in the add menu in the VSE makes it more consistent
with other add menus (like in the 3d view, modifier and node editor).

Pull Request: https://projects.blender.org/blender/blender/pulls/150921
2025-12-02 08:58:17 +01:00
golden dragon
f2dfc50fc9 VSE: Add Echo sound modifier
Adds Echo sound modifier to the video sequencer. The actual
echo effect calculation code was recently added to Audaspace
library; that is already in blender main.

The effect can be controlled using Delay, Feedback and Mix
parameters.

Pull Request: https://projects.blender.org/blender/blender/pulls/150449
2025-12-01 11:15:08 +01:00
golden-dragon
d295416d61 VSE: Sound Pitch Modifier
This modifier allows altering the sound strip pitch by semitones
(plus "cents" which is 1/100 of a semitone), in +/- one octave range,
or by direct numeric ratio. The pitch correction quality can also be
adjusted.

Pull Request: https://projects.blender.org/blender/blender/pulls/148880
2025-11-04 17:48:46 +01:00
Philipp Oeser
0bcc088a36 Fix #147934: VSE: Reset retiming never active
Caused by 2b53ed9add

The "is not None" check wasnt not working because it was used against a
boolean.
(Also bring two occasions of the "is_retiming" in sync)

Pull Request: https://projects.blender.org/blender/blender/pulls/147960
2025-10-14 11:48:30 +02:00
Campbell Barton
1216651ca9 PyAPI: make internal modules explicitly "private"
Rename modules in `./scripts/modules/` to use an underscore prefix to
make it clear they aren't intended to be part of public API's. This
also means there is no implication that these modules should be stable,
allowing us to change them based on Blender's internal usage.

The following modules have been marked as private:

- `animsys_refactor`
- `bl_console_utils`
- `bl_i18n_utils`
- `bl_previews_utils`
- `bl_rna_utils`
- `bl_text_utils`
- `bl_ui_utils`
- `bpy_restrict_state`
- `console_python`
- `console_shell`
- `graphviz_export`
- `keyingsets_utils`
- `rna_info`
- `rna_manual_reference`
- `rna_xml`

Note that we could further re-arrange these modules
(under `_bpy_internal` in some cases), this change is mainly to mark
them as private, further changes can be handed on a case-by-case basis.

Ref !147773
2025-10-13 09:35:09 +00:00
John Kiril Swenson
99b9f6cafc Fix #147655: VSE: Sequencer scene datablock missing in combined view
UI code forgot to check for `SEQUENCER_PREVIEW` view type.
2025-10-13 00:01:38 +02:00
Damien Picard
227ce1711a Cleanup: Remove unused color balance modifier draw function
Sequencer modifiers are no longer drawn from Python since 866fcd0a09.
The function `draw_color_balance` that draws the Color Balance
modifier is no longer called anywhere, so it can be removed.

Pull Request: https://projects.blender.org/blender/blender/pulls/147571
2025-10-09 10:42:22 +02:00
Campbell Barton
cc1a3f19b4 Cleanup: resolve various pylint warnings from recent changes 2025-10-07 10:19:46 +11:00
Richard Antalik
f385327442 VSE: Move Strip properties to Properties editor
Goal of this PR is mainly to improve flexibility and of VSE layout and
screen space efficiency.

Previously, strip properties were displayed in timeline sidebar. This
was limiting, because if you want to display as much properties as
possible, the timeline area had to be taller, but this was at the
expense of space available for preview. However there is plenty of
space in properties editor, which is mostly unused in VSE. Therefore
strip properties were moved to the properties editor.

ID pinning and path displayed in top section aren't drawn, since strip
is not an ID and can not be pinned. Since there is more space for
properties, various panels are changed to be open by default.
Mainly transform and time panels, since they are used often.

There is one minor change: The waveform display property
of sound strip was previously hidden, if timeline area had per strip
waveform display overlay set. This is no longer possible to do and the
property is always visible.

Pull Request: https://projects.blender.org/blender/blender/pulls/140395
2025-10-03 17:33:17 +02:00
Kace
c989add4cd VSE: Sound pitch correction
Add sound pitch correction functionality, so that retimed sound strips
can preserve their original pitch.

This has been implemented as a GSoC 2025 project. Actual pitch
correction is done with Rubberband library, which has been already
included into Blender 5.0 library builds; and then most of the other
code has been in Audaspace, which was already updated within Blender
tree earlier.

So this PR just flips on Rubberband build option, and adds the
checkbox to VSE sound strips for pitch correction (on by default for
newly created sound strips). Pitch correction works with both
simple whole-strip retiming, as well as more complex retiming setups
where different parts of the strip use different speeds.

Co-authored-by: Aras Pranckevicius <aras@nesnausk.org>
Pull Request: https://projects.blender.org/blender/blender/pulls/143347
2025-10-03 09:42:48 +02:00
Richard Antalik
698268f927 VSE: Remove transform effect
Functionality has been replaced by strip transform properties. Transform
strips in existing files will be replaced with gaussian blur with radius
of 0 to preserve modifiers and overall strip stack.

Pull Request: https://projects.blender.org/blender/blender/pulls/147003
2025-10-01 13:37:54 +02:00
Brecht Van Lommel
7147227a40 Python API: Make context.tool_settings never null
Since 1122a05cb6 tool settings could return None, but we do not check this
consistently in scripts. Now always return some tool settings, since it's difficult
to verify and easy to forget proper null checks in e.g. operator poll functions.

The sequencer UI code was updated to continue showing tool settings only when
there is a sequencer scene.

Co-authored-by: Sergey Sharybin <sergey@blender.org>
Pull Request: https://projects.blender.org/blender/blender/pulls/146166
2025-09-29 16:54:40 +02:00
Omar Emara
73fcbaf7c4 VSE: Add Compositor modifier
This patch adds a new Compositor modifier that applies a compositing
node group on a sequencer strip. This patch also introduces the concept
of a compositor node tree space subtype, where we now have a Scene and a
Sequencer subtypes. Practically, this just means that node like the
Render Layers node will not be available in the node editor in the
Sequencer subtype.

Future improvements includes:

- The compositor context is recreated on every modifier application,
  while it should ideally be persistent somehow to make use of the
  compositor static cache. This might require work from the compositor
  side by moving the static cache outside of the context and make it
  thread safe if needed. See `Render.compositor` for an example on
  persistent context.
- GPU execution is not supported. This just needs a GPU context to be
  bound before execution, but the tricky part is getting a GPU context.
  See `render::Compositor::execute` for an example on bounding a GPU
  context and why it is less straight forward.
- Node inputs are not exposed on the sequencer modifier interface. An
  approach similar to Geometry Nodes modifier could be used, look at
  `update_input_properties_from_node_tree` for reference, but notice
  that Geometry Nodes naturally exempt the main Geometry socket because
  Geometry inputs can't be exposed, but for the compositor, we will have
  to exempt the main Color and Mask sockets manually. !145971

Co-authored-by: Aras Pranckevicius <aras@nesnausk.org>
Co-authored-by: Falk David <falk@blender.org>
Pull Request: https://projects.blender.org/blender/blender/pulls/139634
2025-09-26 08:40:42 +02:00
Pablo Vazquez
e77261f306 UI: Move Render Preview operators to View menu
Move operators inside the "Render Preview" menu back to the View menu.

This does not include "Render Viewport Keyframes", see #146749

See PR for details and screenshots.

Pull Request: https://projects.blender.org/blender/blender/pulls/146756
2025-09-25 12:24:35 +02:00
Pablo Vazquez
4193cb4f17 UI: Rename animation footers to Playback Controls
Rename the menu item "Footer" in Animation/VSE to "Playback Controls".

This only affects the menu item label under `View`, in the following editors:
* Dope Sheet
* Graph Editor
* NLA Editor
* Sequencer

The name "footer" has issues:

* It's not descriptive of what it does/contains.
* It can be moved to the top, so no longer a footer.
* When used in other editors, it may contain different things so it
  is unexpected what to find in it.

See PR for screenshots.

Pull Request: https://projects.blender.org/blender/blender/pulls/146727
2025-09-25 12:16:32 +02:00
Falk David
2b53ed9add Fix: VSE: Python errors when no sequencer scene is present
There were multiple places in the UI code that assumed
that the sequencer scene and tool settings exist, when
they might not.
2025-09-23 11:51:54 +02:00
Dalai Felinto
851e5b55af VSE: Story Tools: Add Scene Strip Menu improvements
- Show unassigned scene assets directly under Assets.
- Use Icons for Assets label.
- Only show "Scenes" when there are Assets.
- Don't show scene assets on the "Scenes" list.

The design about changing the operator default behaviour will be
addressed separately. This patch only changes the UI.

Design ref: #145522
Ref: !146574
2025-09-22 17:19:03 +02:00
Pablo Vazquez
fa6be590d9 UI: Move OpenGL render operators to sub-menu
Move 3D Viewport and Sequencer OpenGL render operators into a
"Render Preview" sub-menu.

The goal is to make the operation more clear, and being able to add
new entries to render the active scene or Sequencer scene (handy when
using the new "Sync Scene").

This also reduces the length of the `View` menu which in some cases
can get quite long.

See PR for details and screenshots.

Resolves #146302

Pull Request: https://projects.blender.org/blender/blender/pulls/146316
2025-09-16 10:44:29 +02:00