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; diff --git a/source/creator/creator.c b/source/creator/creator.c index 1feaf075e1c..6a780553607 100644 --- a/source/creator/creator.c +++ b/source/creator/creator.c @@ -194,6 +194,7 @@ static void print_help(void) printf (" -a \tPlayback \n"); printf (" -p \tOpen with lower left corner at , \n"); printf (" -m\t\tRead from disk (Don't buffer)\n"); + printf (" -f \t\tSpecify FPS to start with\n"); printf ("\nWindow options:\n"); printf (" -w\t\tForce opening with borders (default)\n");