diff --git a/photobooth_pygame.py b/photobooth_pygame.py index 1de7311..057374c 100644 --- a/photobooth_pygame.py +++ b/photobooth_pygame.py @@ -828,25 +828,22 @@ class PB: if self.cam: self.cam.exit() except: pass self.cam = None; errs = 0 - _nb_retry = 0 - while _nb_retry < 10: - _nb_retry += 1 - time.sleep(3) - _usb_reset_done() - try: - c = gp.Camera(); c.init() - self.cam = c; self.prev_actif = True - print("Caméra reconnectée automatiquement") - break - except Exception as re: - print(f"Reconnexion échouée ({_nb_retry}): {re}") + for _nb_retry in range(10): + time.sleep(3) + _usb_reset_done() + try: + c = gp.Camera(); c.init() + self.cam = c; self.prev_actif = True + print("Caméra reconnectée automatiquement") + break + except Exception as re: + print(f"Reconnexion échouée ({_nb_retry+1}): {re}") + else: + # 10 tentatives échouées → bascule en simulation + self.sim = True + print("Caméra introuvable → mode simulation") else: - # 10 tentatives échouées → bascule en simulation - self.sim = True - print("Caméra introuvable → mode simulation") - errs = 0 - else: - time.sleep(0.3) + time.sleep(0.1) else: time.sleep(0.05) @@ -1249,7 +1246,7 @@ class PB: else: with self.flock: if self.frame: - lv = pygame.transform.scale(self.frame, (fw, fh)) + lv = _pfit(self.frame, fw, fh) self.scr.blit(lv, (fx, fy)) else: pygame.draw.rect(self.scr, (25, 25, 25), (fx, fy, fw, fh)) @@ -1354,7 +1351,11 @@ class PB: self.scr.blit(info,(W//2-info.get_width()//2,H-90)) def draw_capture(self): - self._lv(); self._overlay(90) + if self._is_pell(): + self._draw_pellicule(show_live=False) + self._overlay(70) + else: + self._lv(); self._overlay(90) s=self._txt("Prise de vue...","md"); self._c(s,H//2-s.get_height()//2) # ── Galerie ───────────────────────────────────────────────────────────────