diff options
author | Campbell Barton <ideasman42@gmail.com> | 2011-07-28 09:09:31 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2011-07-28 09:09:31 +0400 |
commit | e2522cead2271522c71a14ce45cae407a32606ec (patch) | |
tree | 33f0923ee2fc8f4c7e655d3c9037d9c482f6984d /release/scripts/startup/bl_operators/screen_play_rendered_anim.py | |
parent | 784a68e8f1047de0e71beabbc44654ccad743910 (diff) |
report an error when user blender versions other then 2.4x for animation playback.
Diffstat (limited to 'release/scripts/startup/bl_operators/screen_play_rendered_anim.py')
-rw-r--r-- | release/scripts/startup/bl_operators/screen_play_rendered_anim.py | 26 |
1 files changed, 26 insertions, 0 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 4b3435eacbe..a38d817d738 100644 --- a/release/scripts/startup/bl_operators/screen_play_rendered_anim.py +++ b/release/scripts/startup/bl_operators/screen_play_rendered_anim.py @@ -110,6 +110,31 @@ class PlayRenderedAnim(bpy.types.Operator): cmd = [player_path] # extra options, fps controls etc. if preset == 'BLENDER24': + # ----------------------------------------------------------------- + # Check blender is not 2.5x until it supports playback again + try: + process = subprocess.Popen([player_path, '--version'], + stdout=subprocess.PIPE, + ) + except: + # ignore and allow the main execution to catch the problem. + process = None + + if process is not None: + process.wait() + out = process.stdout.read() + process.stdout.close() + out_split = out.strip().split() + if out_split[0] == b'Blender': + if not out_split[1].startswith(b'2.4'): + self.report({'ERROR'}, + "Blender %s doesn't support playback: %r" % + (out_split[1].decode(), player_path)) + return {'CANCELLED'} + del out, out_split + del process + # ----------------------------------------------------------------- + opts = ["-a", "-f", str(rd.fps), str(rd.fps_base), file] cmd.extend(opts) elif preset == 'DJV': @@ -146,5 +171,6 @@ class PlayRenderedAnim(bpy.types.Operator): self.report({'ERROR'}, "Couldn't run external animation player with command " "%r\n%s" % (" ".join(cmd), str(e))) + return {'CANCELLED'} return {'FINISHED'} |