[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [26162] trunk/blender: Patch #20693: add parameters for FPS and wait timer for screen cast

Joshua Leung aligorith at gmail.com
Thu Jan 21 11:28:24 CET 2010


Revision: 26162
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=26162
Author:   aligorith
Date:     2010-01-21 11:28:19 +0100 (Thu, 21 Jan 2010)

Log Message:
-----------
Patch #20693:  add parameters for FPS and wait timer for screen cast

This patch by Guillaume Lecocq (lguillaume) adds user preference settings for setting the playback frame-rate and delay between captured frames for the screencasting feature. 

-- 

I've made a few tweaks for a few minor issues
- Made DNA vars for these settings shorts instead of ints, reducing the number of unnecessary extra pad vars 
- Added version patching to ensure that these settings are initialised by default
- Made tooltips for the settings more descriptive

Modified Paths:
--------------
    trunk/blender/release/scripts/ui/space_userpref.py
    trunk/blender/source/blender/editors/interface/resources.c
    trunk/blender/source/blender/editors/screen/screendump.c
    trunk/blender/source/blender/makesdna/DNA_userdef_types.h
    trunk/blender/source/blender/makesrna/intern/rna_userdef.c

Modified: trunk/blender/release/scripts/ui/space_userpref.py
===================================================================
--- trunk/blender/release/scripts/ui/space_userpref.py	2010-01-21 10:19:54 UTC (rev 26161)
+++ trunk/blender/release/scripts/ui/space_userpref.py	2010-01-21 10:28:19 UTC (rev 26162)
@@ -416,6 +416,13 @@
         col.separator()
         col.separator()
         col.separator()
+        
+        col.label(text="Screencast:")
+        col.prop(system, "screencast_fps")
+        col.prop(system, "screencast_wait_time")     
+        col.separator()
+        col.separator()
+        col.separator()
 
         #column = split.column()
         #colsplit = column.split(percentage=0.85)

Modified: trunk/blender/source/blender/editors/interface/resources.c
===================================================================
--- trunk/blender/source/blender/editors/interface/resources.c	2010-01-21 10:19:54 UTC (rev 26161)
+++ trunk/blender/source/blender/editors/interface/resources.c	2010-01-21 10:28:19 UTC (rev 26162)
@@ -1373,6 +1373,10 @@
 	if (U.anim_player_preset == 0) {
 		U.anim_player_preset =1 ;
 	}
+	if (U.scrcastfps == 0) {
+		U.scrcastfps = 10;
+		U.scrcastwait = 50;
+	}
 
 	/* funny name, but it is GE stuff, moves userdef stuff to engine */
 // XXX	space_set_commmandline_options();

Modified: trunk/blender/source/blender/editors/screen/screendump.c
===================================================================
--- trunk/blender/source/blender/editors/screen/screendump.c	2010-01-21 10:19:54 UTC (rev 26161)
+++ trunk/blender/source/blender/editors/screen/screendump.c	2010-01-21 10:28:19 UTC (rev 26162)
@@ -38,6 +38,7 @@
 #include "DNA_scene_types.h"
 #include "DNA_screen_types.h"
 #include "DNA_space_types.h"
+#include "DNA_userdef_types.h"
 
 #include "BKE_context.h"
 #include "BKE_global.h"
@@ -226,7 +227,7 @@
 	int cfra= 1;
 	
 	/* we need this as local variables for renderdata */
-	rd.frs_sec= 10;
+	rd.frs_sec= U.scrcastfps;
 	rd.frs_sec_base= 1.0f;
 	
 	if(BKE_imtype_is_movie(rd.imtype)) {
@@ -279,9 +280,10 @@
 			*do_update= 1;
 			
 			cfra++;
+
 		}
 		else 
-			PIL_sleep_ms(50);
+			PIL_sleep_ms(U.scrcastwait);
 	}
 	
 	if(mh)

Modified: trunk/blender/source/blender/makesdna/DNA_userdef_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_userdef_types.h	2010-01-21 10:19:54 UTC (rev 26161)
+++ trunk/blender/source/blender/makesdna/DNA_userdef_types.h	2010-01-21 10:28:19 UTC (rev 26162)
@@ -341,8 +341,11 @@
 	short ndof_pan, ndof_rotate;
 	short curssize, ipo_new;
 	short color_picker_type;
-	short pad2[3];
+	short pad2;
 
+	short scrcastfps;		/* frame rate for screencast to be played back */
+	short scrcastwait;		/* milliseconds between screencast snapshots */
+
 	char versemaster[160];
 	char verseuser[160];
 	float glalphaclip;

Modified: trunk/blender/source/blender/makesrna/intern/rna_userdef.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_userdef.c	2010-01-21 10:19:54 UTC (rev 26161)
+++ trunk/blender/source/blender/makesrna/intern/rna_userdef.c	2010-01-21 10:28:19 UTC (rev 26162)
@@ -2322,6 +2322,16 @@
 	RNA_def_property_ui_text(prop, "Audio Channels", "Sets the audio channel count.");
 	RNA_def_property_update(prop, 0, "rna_UserDef_audio_update");
 
+	prop= RNA_def_property(srna, "screencast_fps", PROP_INT, PROP_NONE);
+	RNA_def_property_int_sdna(prop, NULL, "scrcastfps");
+	RNA_def_property_range(prop, 10, 50);
+	RNA_def_property_ui_text(prop, "FPS", "Frame rate for the screencast to be played back.");
+
+	prop= RNA_def_property(srna, "screencast_wait_time", PROP_INT, PROP_NONE);
+	RNA_def_property_int_sdna(prop, NULL, "scrcastwait");
+	RNA_def_property_range(prop, 50, 1000);
+	RNA_def_property_ui_text(prop, "Wait Timer (ms)", "Time in milliseconds between each frame recorded for screencast.");
+
 #if 0
 	prop= RNA_def_property(srna, "verse_master", PROP_STRING, PROP_NONE);
 	RNA_def_property_string_sdna(prop, NULL, "versemaster");





More information about the Bf-blender-cvs mailing list