[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [12980] trunk/blender/source: == Playback (peach request) ==
Peter Schlaile
peter at schlaile.de
Sun Dec 23 18:27:06 CET 2007
Revision: 12980
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=12980
Author: schlaile
Date: 2007-12-23 18:27:06 +0100 (Sun, 23 Dec 2007)
Log Message:
-----------
== 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 :)
Modified Paths:
--------------
trunk/blender/source/blender/src/buttons_scene.c
trunk/blender/source/blender/src/playanim.c
trunk/blender/source/creator/creator.c
Modified: trunk/blender/source/blender/src/buttons_scene.c
===================================================================
--- trunk/blender/source/blender/src/buttons_scene.c 2007-12-23 17:01:44 UTC (rev 12979)
+++ trunk/blender/source/blender/src/buttons_scene.c 2007-12-23 17:27:06 UTC (rev 12980)
@@ -507,9 +507,9 @@
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);
}
Modified: trunk/blender/source/blender/src/playanim.c
===================================================================
--- trunk/blender/source/blender/src/playanim.c 2007-12-23 17:01:44 UTC (rev 12979)
+++ trunk/blender/source/blender/src/playanim.c 2007-12-23 17:27:06 UTC (rev 12980)
@@ -362,6 +362,22 @@
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;
Modified: trunk/blender/source/creator/creator.c
===================================================================
--- trunk/blender/source/creator/creator.c 2007-12-23 17:01:44 UTC (rev 12979)
+++ trunk/blender/source/creator/creator.c 2007-12-23 17:27:06 UTC (rev 12980)
@@ -194,6 +194,7 @@
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");
More information about the Bf-blender-cvs
mailing list