aws-deadline / deadline-cloud-for-cinema-4d

AWS Deadline Cloud for Cinema 4D
Apache License 2.0
6 stars 8 forks source link

Bug: Submitter does not open UI if there is no output path is specified #38

Closed yuanmich2 closed 3 months ago

yuanmich2 commented 4 months ago

Expected Behaviour

Click Extensions > Deadline Cloud Submitter Submission window appears Click the "Job Specific Settings" tab and edit my output directory

The "Job Specific Settings" tab overwrites the output directory, so we shouldn't need to have a valid output directory before setting it here.

Current Behaviour

Click Extensions > Deadline Cloud Submitter Nothing happens. The following error shows up in the console:

Failed to watch these AWS Deadline Cloud configurations: ['C:\\Users\\Administrator\\.aws\\sso\\cache']
Deadline UI launch failed
Traceback (most recent call last):
  File "C:\Program Files\Python310\Lib\site-packages\deadline\cinema4d_submitter\cinema4d_render_submitter.py", line 54, in show_submitter
    w = _show_submitter(None)
        ^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Python310\Lib\site-packages\deadline\cinema4d_submitter\cinema4d_render_submitter.py", line 273, in _show_submitter
    output_directories = Scene.get_output_directories(take=take)
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Python310\Lib\site-packages\deadline\cinema4d_submitter\scene.py", line 152, in get_output_directories
    path = render_data.GetFilename(c4d.RDATA_MULTIPASS_FILENAME)
           ^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'c4d.documents.RenderData' object has no attribute 'GetFilename'

Reproduction Steps

Install submitter Create a new C4D scene with no output directory specified Click Extensions > Deadline Cloud Submitter

Code Snippet

n/a

jericht commented 4 months ago

Hi, thanks for reporting this bug. We will take a look at this, it looks like we just need some error handling around this case.

epmog commented 3 months ago

Workaround is to turn off multipass in the render settings or ensure you have an output set in the render settings before opening.

Ahuge commented 3 months ago

We may just need to call .GetData() on the render_data object before calling GetFilename()

See this Deadline10 submitter it stores the render_data.GetData() object and then calls GetFilename() on that