From 81d5787fb029406e656e423050ddb211dae1ae56 Mon Sep 17 00:00:00 2001 From: Brett Williams Date: Mon, 22 May 2023 15:10:25 -0500 Subject: [PATCH] Fix scheduler issues with multiple blender cameras --- scheduler_gui.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/scheduler_gui.py b/scheduler_gui.py index 87c585b..8416789 100755 --- a/scheduler_gui.py +++ b/scheduler_gui.py @@ -304,10 +304,13 @@ class ScheduleJob(Frame): if self.blender_cameras_frame: self.blender_cameras_frame.pack_forget() - show_cams_checkbutton = Checkbutton(pack_frame, text='Multiple Cameras', offvalue=False, onvalue=True, + # multiple cameras checkbox + camera_count = len(scene_data.get('cameras', [])) if scene_data else 0 + show_cams_checkbutton = Checkbutton(pack_frame, text=f'Multiple Cameras ({camera_count})', offvalue=False, + onvalue=True, variable=self.blender_multiple_cameras, command=draw_scene_cams) show_cams_checkbutton.pack(side=LEFT, padx=5) - show_cams_checkbutton['state'] = NORMAL if scene_data and scene_data.get('cameras', None) else DISABLED + show_cams_checkbutton['state'] = NORMAL if camera_count > 1 else DISABLED def submit_job(self): @@ -343,8 +346,8 @@ class ScheduleJob(Frame): job_json['args']['export_format'] = self.output_format.get() # multiple camera rendering - selected_cameras = self.blender_cameras_list.getCheckedItems() if self.blender_cameras_list else None - if selected_cameras: + if self.blender_cameras_list and self.blender_multiple_cameras.get(): + selected_cameras = self.blender_cameras_list.getCheckedItems() for cam in selected_cameras: job_copy = copy.deepcopy(job_json) job_copy['args']['camera'] = cam.split('-')[0].strip()