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
diff options
context:
space:
mode:
authorJohnny Matthews <johnny.matthews@gmail.com>2005-04-14 22:27:11 +0400
committerJohnny Matthews <johnny.matthews@gmail.com>2005-04-14 22:27:11 +0400
commit4108a47720877b381b21a3bffd2e25ced0fa49d6 (patch)
treefabac98fa60f2e60736456839c6f72ed99e9f3f7 /source/blender/python/api2_2x/sceneRender.c
parent442f0d14114017ab02cf9fa194713dd74b99ecd7 (diff)
Adds getTimeCode() to Rendering Context so that you can get current frame in HH:MM:SS:FF string format
Diffstat (limited to 'source/blender/python/api2_2x/sceneRender.c')
-rw-r--r--source/blender/python/api2_2x/sceneRender.c49
1 files changed, 49 insertions, 0 deletions
diff --git a/source/blender/python/api2_2x/sceneRender.c b/source/blender/python/api2_2x/sceneRender.c
index 23137d85341..ddb2b1dcd92 100644
--- a/source/blender/python/api2_2x/sceneRender.c
+++ b/source/blender/python/api2_2x/sceneRender.c
@@ -256,6 +256,8 @@ static PyObject *RenderData_OldMapValue( BPy_RenderData * self,
static PyObject *RenderData_NewMapValue( BPy_RenderData * self,
PyObject * args );
+static PyObject *RenderData_getTimeCode( BPy_RenderData * self);
+
static void RenderData_dealloc( BPy_RenderData * self );
static PyObject *RenderData_getAttr( BPy_RenderData * self, char *name );
static PyObject *RenderData_repr( BPy_RenderData * self );
@@ -377,6 +379,8 @@ static PyMethodDef BPy_RenderData_methods[] = {
"(int) - get/set the current frame for rendering\n"},
{"endFrame", ( PyCFunction ) RenderData_EndFrame, METH_VARARGS,
"(int) - get/set the ending frame for rendering\n"},
+ {"getTimeCode", ( PyCFunction ) RenderData_getTimeCode, METH_NOARGS,
+ "get the current frame in HH:MM:SS:FF format\n"},
{"imageSizeX", ( PyCFunction ) RenderData_ImageSizeX, METH_VARARGS,
"(int) - get/set the image width in pixels\n"},
{"imageSizeY", ( PyCFunction ) RenderData_ImageSizeY, METH_VARARGS,
@@ -2024,3 +2028,48 @@ PyObject *RenderData_NewMapValue( BPy_RenderData * self, PyObject * args )
&self->renderContext->images, 1,
900 );
}
+
+//------------------------------------RenderData.getTimeCode() -----------
+PyObject *RenderData_getTimeCode( BPy_RenderData * self){
+ PyObject *ret = NULL;
+ char tc[12];
+ char h[3],m[3],s[3],f[3];
+ int hi,mi,si,fi,hold,fps,cfa;
+
+ fps = self->renderContext->frs_sec;
+ cfa = self->renderContext->cfra;
+ fi = self->renderContext->cfra % fps;
+ if(fi == 0)
+ fi = fps;
+
+ hi = (cfa - 1) / (fps*60*60);
+ hold = (cfa - 1) % (fps*60*60);
+ mi = hold / (fps*60);
+ hold = hold % (fps*60);
+ si = hold / fps;
+
+ if(hi > 99){
+ ret = PyString_FromString("Time Greater than 99 Hours!");
+ }
+ else{
+ if(hi > 9)
+ sprintf(h,"%d",hi);
+ else
+ sprintf(h,"0%d",hi);
+ if(mi > 9)
+ sprintf(m,"%d",mi);
+ else
+ sprintf(m,"0%d",mi);
+ if(si > 9)
+ sprintf(s,"%d",si);
+ else
+ sprintf(s,"0%d",si);
+ if(fi > 9)
+ sprintf(f,"%d",fi);
+ else
+ sprintf(f,"0%d",fi);
+ sprintf(tc,"%s:%s:%s:%s",h,m,s,f);
+ ret = PyString_FromString(tc);
+ }
+ return ret;
+}