          frame, faces = self.get_frame()
          press = self.get_keys()
  
          while True:
              self.help.render()
              cv2.imshow("Frame", frame)
              cv2.imshow("Faces", faces)
              key = cv2.waitKey(1)
  
              if self.window_closed(is_windows, is_conda, key):
                  queue_manager.terminate_queues()
                  break
  
 
</s> remove             if key:
 </s> add             if key and key != -1: </s> remove             self.interface.set_redraw(False)
 </s> add  </s> remove             elif navigation["frame_idx"] in (0, navigation["max_frame"]):
 </s> add             if navigation["frame_idx"] in (0, navigation["max_frame"]): </s> remove         self.save()
 </s> add     # Landmarks stored as list instead of numpy array
    def has_legacy_landmarks_list(self):
        """ check for legacy landmarks stored as list """
        logger.debug("checking legacy landmarks as list")
        retval = not all(isinstance(face["landmarks_xy"], np.ndarray)
                         for faces in self.data.values()
                         for face in faces)
        return retval

    def update_legacy_landmarks_list(self):
        """ Update landmarksXY to landmarks_xy and save alignments """
        update_count = 0
        for alignments in self.data.values():
            for alignment in alignments:
                test = alignment["landmarks_xy"]
                if not isinstance(test, np.ndarray):
                    alignment["landmarks_xy"] = np.array(test, dtype="float32")
                    update_count += 1
        logger.debug("Updated landmarks_xy: %s", update_count)
            if self.interface.redraw():
                self.help.render()
                cv2.imshow("Frame", frame)
                cv2.imshow("Faces", faces)
                self.interface.set_redraw(False)
            key = cv2.waitKey(1000)
          frame, faces = self.get_frame()
          press = self.get_keys()
  
          while True:
            if self.interface.redraw():
                self.help.render()
                cv2.imshow("Frame", frame)
                cv2.imshow("Faces", faces)
                self.interface.set_redraw(False)
            key = cv2.waitKey(1000)
            if self.interface.redraw():
                self.help.render()
                cv2.imshow("Frame", frame)
                cv2.imshow("Faces", faces)
                self.interface.set_redraw(False)
            key = cv2.waitKey(1000)
            if self.interface.redraw():
                self.help.render()
                cv2.imshow("Frame", frame)
                cv2.imshow("Faces", faces)
                self.interface.set_redraw(False)
            key = cv2.waitKey(1000)
            if self.interface.redraw():
                self.help.render()
                cv2.imshow("Frame", frame)
                cv2.imshow("Faces", faces)
                self.interface.set_redraw(False)
            key = cv2.waitKey(1000)
  
              if self.window_closed(is_windows, is_conda, key):
                  queue_manager.terminate_queues()
                  break
  
keep keep keep keep replace replace replace replace keep keep keep keep keep
 lib.alignments - Auto update legacy list landmarks to numpy array 
tools/lib_alignments/jobs_manual.py