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()