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
path: root/source
diff options
context:
space:
mode:
authorPeter Schlaile <peter@schlaile.de>2007-12-23 20:27:06 +0300
committerPeter Schlaile <peter@schlaile.de>2007-12-23 20:27:06 +0300
commit690d7a85bd7862ce01111335913bc22391049470 (patch)
tree41fdcca83425f385bb99222846d6040b2b65dd00 /source
parent74ebc7754729add77fa2b7dc9e74798a407bffed (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')
-rw-r--r--source/blender/src/buttons_scene.c4
-rw-r--r--source/blender/src/playanim.c16
-rw-r--r--source/creator/creator.c1
3 files changed, 19 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;
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 <file(s)>\tPlayback <file(s)>\n");
printf (" -p <sx> <sy>\tOpen with lower left corner at <sx>, <sy>\n");
printf (" -m\t\tRead from disk (Don't buffer)\n");
+ printf (" -f <fps> <fps-base>\t\tSpecify FPS to start with\n");
printf ("\nWindow options:\n");
printf (" -w\t\tForce opening with borders (default)\n");