forked from bartvdbraak/blender
bring back the play option from 2.4x
This commit is contained in:
parent
48b59330fe
commit
db6c4ba11e
@ -28,7 +28,9 @@ import os
|
||||
def guess_player_path(preset):
|
||||
import sys
|
||||
|
||||
if preset == 'BLENDER24':
|
||||
if preset == 'INTERNAL':
|
||||
return bpy.app.binary_path
|
||||
elif preset == 'BLENDER24':
|
||||
player_path = "blender"
|
||||
|
||||
if sys.platform == "darwin":
|
||||
@ -110,32 +112,7 @@ class PlayRenderedAnim(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
|
||||
# -----------------------------------------------------------------
|
||||
|
||||
if preset in {'BLENDER24', 'INTERNAL'}:
|
||||
opts = ["-a", "-f", str(rd.fps), str(rd.fps_base),
|
||||
"-j", str(scene.frame_step), file]
|
||||
cmd.extend(opts)
|
||||
|
@ -66,6 +66,7 @@ class RENDER_PT_render(RenderButtonsPanel, Panel):
|
||||
row = layout.row()
|
||||
row.operator("render.render", text="Image", icon='RENDER_STILL')
|
||||
row.operator("render.render", text="Animation", icon='RENDER_ANIMATION').animation = True
|
||||
row.operator("render.play_rendered_anim", text="Play", icon='RENDER_ANIMATION')
|
||||
|
||||
layout.prop(rd, "display_mode", text="Display")
|
||||
|
||||
|
@ -1950,9 +1950,6 @@ void init_userdef_do_versions(void)
|
||||
if (U.dbl_click_time == 0) {
|
||||
U.dbl_click_time = 350;
|
||||
}
|
||||
if (U.anim_player_preset == 0) {
|
||||
U.anim_player_preset = 1;
|
||||
}
|
||||
if (U.scrcastfps == 0) {
|
||||
U.scrcastfps = 10;
|
||||
U.scrcastwait = 50;
|
||||
|
@ -3450,7 +3450,7 @@ static void rna_def_userdef_filepaths(BlenderRNA *brna)
|
||||
StructRNA *srna;
|
||||
|
||||
static EnumPropertyItem anim_player_presets[] = {
|
||||
/*{0, "INTERNAL", 0, "Internal", "Built-in animation player"}, *//* doesn't work yet! */
|
||||
{0, "INTERNAL", 0, "Internal", "Built-in animation player"}, /* doesn't work yet! */
|
||||
{1, "BLENDER24", 0, "Blender 2.4", "Blender command line animation playback - path to Blender 2.4"},
|
||||
{2, "DJV", 0, "Djv", "Open source frame player: http://djv.sourceforge.net"},
|
||||
{3, "FRAMECYCLER", 0, "FrameCycler", "Frame player from IRIDAS"},
|
||||
|
@ -53,6 +53,7 @@ set(INC_SYS
|
||||
|
||||
set(SRC
|
||||
intern/wm.c
|
||||
intern/wm_playanim.c
|
||||
intern/wm_cursors.c
|
||||
intern/wm_dragdrop.c
|
||||
intern/wm_draw.c
|
||||
|
1136
source/blender/windowmanager/intern/wm_playanim.c
Normal file
1136
source/blender/windowmanager/intern/wm_playanim.c
Normal file
File diff suppressed because it is too large
Load Diff
@ -453,16 +453,14 @@ static int set_env(int argc, const char **argv, void *UNUSED(data))
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int playback_mode(int UNUSED(argc), const char **UNUSED(argv), void *UNUSED(data))
|
||||
static int playback_mode(int argc, const char **argv, void *UNUSED(data))
|
||||
{
|
||||
extern void playanim(int argc, const char **argv);
|
||||
|
||||
/* not if -b was given first */
|
||||
if (G.background == 0) {
|
||||
#if 0 /* TODO, bring player back? */
|
||||
playanim(argc, argv); /* not the same argc and argv as before */
|
||||
#else
|
||||
fprintf(stderr, "Playback mode not supported in blender 2.6x\n");
|
||||
exit(0);
|
||||
#endif
|
||||
exit(0); /* 2.4x didn't do this */
|
||||
}
|
||||
|
||||
return -2;
|
||||
@ -1272,11 +1270,6 @@ int main(int argc, const char **argv)
|
||||
|
||||
BLI_threadapi_init();
|
||||
|
||||
RNA_init();
|
||||
RE_engines_init();
|
||||
|
||||
init_nodesystem();
|
||||
|
||||
initglobals(); /* blender.c */
|
||||
|
||||
IMB_init();
|
||||
@ -1297,6 +1290,15 @@ int main(int argc, const char **argv)
|
||||
BLI_argsParse(ba, 1, NULL, NULL);
|
||||
#endif
|
||||
|
||||
|
||||
/* after level 1 args, this is so playanim skips RNA init */
|
||||
RNA_init();
|
||||
|
||||
RE_engines_init();
|
||||
init_nodesystem();
|
||||
/* end second init */
|
||||
|
||||
|
||||
#if defined(WITH_PYTHON_MODULE) || defined(WITH_HEADLESS)
|
||||
G.background = 1; /* python module mode ALWAYS runs in background mode (for now) */
|
||||
#else
|
||||
|
Loading…
Reference in New Issue
Block a user