Cinema 4d Deadline Submission Script - Use Take Frame Range not working in 10.3

HI,

When I try submitting with “Use Take Frame Range” Checked it does not submit.

I use custom render settings per take with different frame ranges, so there is no easy way around this.

I’m using Cinema 2023.2.2 Wit the latest Deadline Stuff (10.3.0.9) In previous versions this did work.

Any help would be great!

ML

1 Like

Could you try the file on this post? Cinema4D R2023.2 submission error - #3 by Justin_B

If it doesn’t work, could you open the C4D console and try submitting so we can get the error message out?

Thanks for the heads up. This does work for us.

Thanks again!

ML

1 Like

Other people using deadline submitter with C4D 2026 here’s a fix for deadline to submit actual takes frame range and not always the manual frame range from render settings :

On your deadline repo \DeadlineRepository10\submission\Cinema4D\Main\deadlinec4d
Change SubmitC4DToDeadline.py line 2051 with this :

                    if useTakeFrames:

                        doc = c4d.documents.GetActiveDocument()

                        takeData = doc.GetTakeData()

                        effectiveRenderData, \_ = take.GetEffectiveRenderData(takeData)

                        fps = doc.GetFps()

                        bc = effectiveRenderData.GetDataInstance()

                        

                        frameMode = bc.GetLong(c4d.RDATA_FRAMESEQUENCE)

                        

                        if frameMode == c4d.RDATA_FRAMESEQUENCE_MANUAL:

                            startFrame = int(bc.GetTime(c4d.RDATA_FRAMEFROM).Get() \* fps)

                            endFrame   = int(bc.GetTime(c4d.RDATA_FRAMETO  ).Get() \* fps)

                        else:

                            \# Switcher temporairement vers ce take pour lire sa scene time

                            prevTake = takeData.GetCurrentTake()

                            takeData.SetCurrentTake(take)

                            if frameMode == c4d.RDATA_FRAMESEQUENCE_ALLFRAMES:

                                startFrame = doc.GetMinTime().GetFrame(fps)

                                endFrame   = doc.GetMaxTime().GetFrame(fps)

                            elif frameMode == c4d.RDATA_FRAMESEQUENCE_PREVIEWRANGE:

                                startFrame = doc.GetLoopMinTime().GetFrame(fps)

                                endFrame   = doc.GetLoopMaxTime().GetFrame(fps)

                            else:

                                startFrame = doc.GetTime().GetFrame(fps)

                                endFrame   = startFrame

                            takeData.SetCurrentTake(prevTake)

                        

                        takeFrames = "%s-%s" % (startFrame, endFrame)

                        jobContents\["Frames"\] = takeFrames