[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