Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Carlisle <carlisle.b3d@gmail.com>2022-02-12 04:53:29 +0300
committerAaron Carlisle <carlisle.b3d@gmail.com>2022-02-12 04:56:51 +0300
commit517afcc858b09ecb51e73b2cfbcaffeba75a9933 (patch)
tree4f9e8dd60701071589db3ead029e39bc3600252e /release
parent27d3140b1363b852f449c81f941974fbd644464a (diff)
Fix T91423: View Animation not working with stereoscopic animations
The animation playback did not take into account individual stereoscopic views. This patch fixes this by playing back the active view render. Reviewed By: campbellbarton Maniphest Tasks: T91423 Differential Revision: https://developer.blender.org/D14070
Diffstat (limited to 'release')
-rw-r--r--release/scripts/startup/bl_operators/screen_play_rendered_anim.py18
1 files changed, 12 insertions, 6 deletions
diff --git a/release/scripts/startup/bl_operators/screen_play_rendered_anim.py b/release/scripts/startup/bl_operators/screen_play_rendered_anim.py
index 6d60c58cc3a..9e654b43d96 100644
--- a/release/scripts/startup/bl_operators/screen_play_rendered_anim.py
+++ b/release/scripts/startup/bl_operators/screen_play_rendered_anim.py
@@ -74,6 +74,12 @@ class PlayRenderedAnim(Operator):
# file_path = bpy.path.abspath(rd.filepath) # UNUSED
is_movie = rd.is_movie_format
+ views_format = rd.image_settings.views_format
+ if rd.use_multiview and views_format == 'INDIVIDUAL':
+ view_suffix = rd.views.active.file_suffix
+ else:
+ view_suffix = ""
+
# try and guess a command line if it doesn't exist
if preset == 'CUSTOM':
player_path = prefs.filepaths.animation_player
@@ -82,16 +88,16 @@ class PlayRenderedAnim(Operator):
if is_movie is False and preset in {'FRAMECYCLER', 'RV', 'MPLAYER'}:
# replace the number with '#'
- file_a = rd.frame_path(frame=0)
+ file_a = rd.frame_path(frame=0, view=view_suffix)
# TODO, make an api call for this
frame_tmp = 9
- file_b = rd.frame_path(frame=frame_tmp)
+ file_b = rd.frame_path(frame=frame_tmp, view=view_suffix)
while len(file_a) == len(file_b):
frame_tmp = (frame_tmp * 10) + 9
- file_b = rd.frame_path(frame=frame_tmp)
- file_b = rd.frame_path(frame=int(frame_tmp / 10))
+ file_b = rd.frame_path(frame=frame_tmp, view=view_suffix)
+ file_b = rd.frame_path(frame=int(frame_tmp / 10), view=view_suffix)
file = ("".join((c if file_b[i] == c else "#")
for i, c in enumerate(file_a)))
@@ -100,7 +106,7 @@ class PlayRenderedAnim(Operator):
else:
path_valid = True
# works for movies and images
- file = rd.frame_path(frame=scene.frame_start, preview=scene.use_preview_range)
+ file = rd.frame_path(frame=scene.frame_start, preview=scene.use_preview_range, view=view_suffix)
file = bpy.path.abspath(file) # expand '//'
if not os.path.exists(file):
err_msg = tip_("File %r not found") % file
@@ -109,7 +115,7 @@ class PlayRenderedAnim(Operator):
# one last try for full range if we used preview range
if scene.use_preview_range and not path_valid:
- file = rd.frame_path(frame=scene.frame_start, preview=False)
+ file = rd.frame_path(frame=scene.frame_start, preview=False, view=view_suffix)
file = bpy.path.abspath(file) # expand '//'
err_msg = tip_("File %r not found") % file
if not os.path.exists(file):