                  continue
  
              frame, faces = self.get_frame()
              self.interface.set_redraw(False)
  
          cv2.destroyAllWindows()
  
      def window_closed(self, is_windows, is_conda, key):
 
</s> remove             yield {"frame_fullname": frame,
                   "frame_name": filename,
                   "frame_extension": file_extension}
 </s> add             retval = {"frame_fullname": frame,
                      "frame_name": filename,
                      "frame_extension": file_extension}
            logger.trace(retval)
            yield retval </s> remove                               desc="Sort alignment indexes",
                              total=self.alignments.frames_count):
 </s> add                               desc="Sort alignment indexes", total=self.alignments.frames_count): </s> remove             sorted_alignments = sorted([item for item in alignments],
                                       key=lambda x: (x[self.axis]))
 </s> add             sorted_alignments = sorted([item for item in alignments], key=lambda x: (x[self.axis])) </s> remove         logger.trace(retval)
 </s> add         logger.trace("'%s': %s", frame, retval)
            logger.trace("Redraw requested")
                  continue
  
            logger.trace("Redraw requested")
              frame, faces = self.get_frame()
              self.interface.set_redraw(False)
  
          cv2.destroyAllWindows()
  
      def window_closed(self, is_windows, is_conda, key):
keep add keep keep keep keep keep keep
 Add Face Hashes to Alignments (#550)

* Convert main scripts to use face hashes

* Alignment tool: Use hashes, add logging, add face rename function

* More logging. Update Manual tool to work with hashing 
tools/lib_alignments/jobs_manual.py