Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
On 31/01/2017 at 13:24, xxxxxxxx wrote:
Hi,
I'm new to python in c4d. I am trying to load an image sequence and have the footage automatically calculate and set Timing to Range, and update the Range Start and Range End to match Movie Start Frame and Movie End Frame.
everything goes as planned until it comes time to set Range Start/End. If I print my variables I get...
start = shader[c4d.BITMAPSHADER_TIMING_FROM] end = shader[c4d.BITMAPSHADER_TIMING_TO] start1 = shader[c4d.BITMAPSHADER_TIMING_RANGEFROM] end1 = shader[c4d.BITMAPSHADER_TIMING_RANGETO]
print start print end print start1 print end1
my result is:
1 65 <c4d.BaseTime object at 0x000000000E1AF0D8 <c4d.BaseTime object at 0x000000000E1AF0D8
I am very confused by this. it seems as though something in python is broken. I would expect the final two results to still be integers, the default 0 and 120. I cant find anything in the sdk and I cant find any other information on line.
please help
On 01/02/2017 at 01:59, xxxxxxxx wrote:
As is written you get a basetime, which is a class who store a timing. For more information read. https://developers.maxon.net/docs/Cinema4DPythonSDK/html/modules/c4d/BaseTime/index.html
If you want to get a frame
start1.GetFrame(doc.GetFps())
If you want to set a frame
fps_number = 10 buffer_time = c4d.BaseTime(fps_number, doc.GetFps()) shader[c4d.BITMAPSHADER_TIMING_RANGEFROM] = buffer_time
On 01/02/2017 at 02:44, xxxxxxxx wrote:
Hi Eric,
welcome to the Plugin Café forums
gr4ph0s pretty much said everything. I just want to add a link to the C++ BaseTime manual, as it might contain some additional information worth reading for Python programmers as well.
On 01/02/2017 at 09:44, xxxxxxxx wrote:
Originally posted by xxxxxxxx As is written you get a basetime, which is a class who store a timing. If you want to set a frame buffer_time = c4d.BaseTime(fps_number, doc.GetFps()) shader[c4d.BITMAPSHADER_TIMING_RANGEFROM] = buffer_time
Originally posted by xxxxxxxx
As is written you get a basetime, which is a class who store a timing. If you want to set a frame
buffer_time = c4d.BaseTime(fps_number, doc.GetFps()) shader[c4d.BITMAPSHADER_TIMING_RANGEFROM] = buffer_time
Thank you! That was it. I still have not fully wrapped my head around it, but it worked.
On 01/02/2017 at 10:14, xxxxxxxx wrote:
Wow! the C++ documentation is like a real sdk! It already helped figure out how to add ao into render settings! Thank you!