diff --git a/photobooth_pygame.py b/photobooth_pygame.py index e86704d..b9fc314 100644 --- a/photobooth_pygame.py +++ b/photobooth_pygame.py @@ -784,25 +784,14 @@ class PB: if self.cam is None: raise RuntimeError("camera None") if self.cap_demande: - # Le liveview est déjà actif (capture_preview() tourne en continu) - # → le miroir est DÉJÀ levé, on déclenche uniquement l'obturateur - print("Capture demandée — déclenchement obturateur...") - triggered = False - try: - cfg_c = self.cam.get_config() - rl = cfg_c.get_child_by_name('eosremoterelease') - rl.set_value('Immediate') - self.cam.set_config(cfg_c) - triggered = True - print("eosremoterelease=Immediate OK") - except Exception as ex: - print(f"eosremoterelease indispo ({ex}), trigger_capture fallback") - if not triggered: - self.cam.trigger_capture() + # Le liveview est actif (capture_preview() tourne) → miroir DÉJÀ levé + # trigger_capture() en liveview = obturateur seul, pas de mouvement miroir + print("Capture demandée — trigger_capture...") + self.cam.trigger_capture() ch = None - deadline = time.time() + 15 + deadline = time.time() + 12 while time.time() < deadline: - ev_type, ev_data = self.cam.wait_for_event(500) + ev_type, ev_data = self.cam.wait_for_event(200) if ev_type == gp.GP_EVENT_FILE_ADDED: print(f"Fichier reçu : {ev_data.name}") cf = gp.CameraFile() @@ -810,17 +799,8 @@ class PB: nom = f"photo_{datetime.now().strftime('%Y%m%d_%H%M%S_%f')}.jpg" ch = str(PHOTOS_DIR/nom); cf.save(ch) print(f"Photo sauvegardée : {nom}"); break - elif ev_type == gp.GP_EVENT_TIMEOUT: - pass # normal, on continue d'attendre if ch is None: - print("AVERTISSEMENT : aucun fichier reçu dans les 15s") - # Réinitialise le remote release sans toucher au viewfinder - try: - cfg_c = self.cam.get_config() - rl = cfg_c.get_child_by_name('eosremoterelease') - rl.set_value('None') - self.cam.set_config(cfg_c) - except: pass + print("AVERTISSEMENT : aucun fichier reçu dans les 12s") self.cap_result=ch; self.cap_demande=False; self.cap_done.set() errs = 0; post_capture_grace = 8 else: