diff options
author | Peter Schlaile <peter@schlaile.de> | 2007-12-23 20:27:06 +0300 |
---|---|---|
committer | Peter Schlaile <peter@schlaile.de> | 2007-12-23 20:27:06 +0300 |
commit | 690d7a85bd7862ce01111335913bc22391049470 (patch) | |
tree | 41fdcca83425f385bb99222846d6040b2b65dd00 /source/blender/src | |
parent | 74ebc7754729add77fa2b7dc9e74798a407bffed (diff) |
== Playback (peach request) ==
Correct playback frames per second when "Play" is pressed. (Play spawns a new instance of blender, it could pass an argument that sets the frames per second)
(double credit :)
Diffstat (limited to 'source/blender/src')
-rw-r--r-- | source/blender/src/buttons_scene.c | 4 | ||||
-rw-r--r-- | source/blender/src/playanim.c | 16 |
2 files changed, 18 insertions, 2 deletions
diff --git a/source/blender/src/buttons_scene.c b/source/blender/src/buttons_scene.c index 7a4093dd965..8fd74ddc08e 100644 --- a/source/blender/src/buttons_scene.c +++ b/source/blender/src/buttons_scene.c @@ -507,9 +507,9 @@ static void run_playanim(char *file) calc_renderwin_rectangle((G.scene->r.xsch*G.scene->r.size)/100, (G.scene->r.ysch*G.scene->r.size)/100, G.winpos, pos, size); #ifdef WIN32 - sprintf(str, "%s -a -p %d %d \"%s\"", bprogname, pos[0], pos[1], file); + sprintf(str, "%s -a -p %d %d -f %d %g \"%s\"", bprogname, pos[0], pos[1], G.scene->r.frs_sec, G.scene->r.frs_sec_base, file); #else - sprintf(str, "\"%s\" -a -p %d %d \"%s\"", bprogname, pos[0], pos[1], file); + sprintf(str, "\"%s\" -a -p %d %d -f %d %g \"%s\"", bprogname, pos[0], pos[1], G.scene->r.frs_sec, G.scene->r.frs_sec_base, file); #endif system(str); } diff --git a/source/blender/src/playanim.c b/source/blender/src/playanim.c index 828ff8e774e..e94366571db 100644 --- a/source/blender/src/playanim.c +++ b/source/blender/src/playanim.c @@ -362,6 +362,22 @@ void playanim(int argc, char **argv) printf("too few arguments for -p (need 2): skipping\n"); } break; + case 'f': + if (argc>3) { + double fps = atof(argv[2]); + double fps_base= atof(argv[3]); + if (fps == 0) { + fps = 1; + printf("invalid fps," + "forcing 1\n"); + } + swaptime = fps_base / fps; + argc-= 2; + argv+= 2; + } else { + printf("too few arguments for -f (need 2): skipping\n"); + } + break; default: printf("unknown option '%c': skipping\n", argv[1][1]); break; |