          elif not os.path.isdir(input_aligned_dir):
              logger.warning("Aligned directory not found. All faces listed in the "
                             "alignments file will be converted")
          else:
              file_list = [path for path in get_image_paths(input_aligned_dir)]
              logger.info("Getting Face Hashes for selected Aligned Images")
              for face in tqdm(file_list, desc="Hashing Faces"):
                  face_hashes.append(read_image_hash(face))
              logger.debug("Face Hashes: %s", (len(face_hashes)))
              if not face_hashes:
 
</s> remove 
        final_faces = [face for face in faces.detected_faces]
        return final_faces
 </s> add         return faces.detected_faces </s> remove                        for filename in self._images.input_images]
 </s> add                        for filename in self._images.file_list] </s> remove         # Set executable based on whether previewing or not
        if self.args.preview and self.args.action in self._actions_can_preview:
            self.exe = 'ffplay'
            self.output = DataItem()

 </s> add  </s> remove         if not self._args.timelapse_input_a or not self._args.timelapse_input_b:
            raise ValueError("To enable the timelapse, you have to supply "
                             "all the parameters (--timelapse-input-A and "
                             "--timelapse-input-B).")

        timelapse_output = None
        if self._args.timelapse_output is not None:
            timelapse_output = str(get_folder(self._args.timelapse_output))

        for folder in (self._args.timelapse_input_a,
                       self._args.timelapse_input_b,
                       timelapse_output):
            if folder is not None and not os.path.isdir(folder):
                raise ValueError("The Timelapse path '{}' does not exist".format(folder))
 </s> add         if (not self._args.timelapse_input_a or
                not self._args.timelapse_input_b or
                not self._args.timelapse_output):
            raise FaceswapError("To enable the timelapse, you have to supply all the parameters "
                                "(--timelapse-input-A, --timelapse-input-B and "
                                "--timelapse-output).")
            file_list = get_image_paths(input_aligned_dir)
          elif not os.path.isdir(input_aligned_dir):
              logger.warning("Aligned directory not found. All faces listed in the "
                             "alignments file will be converted")
          else:
            file_list = get_image_paths(input_aligned_dir)
              logger.info("Getting Face Hashes for selected Aligned Images")
              for face in tqdm(file_list, desc="Hashing Faces"):
                  face_hashes.append(read_image_hash(face))
              logger.debug("Face Hashes: %s", (len(face_hashes)))
              if not face_hashes:
keep keep keep keep replace keep keep keep keep keep
 Bugfixes and minor updates:
  - Remove preview option from effmpeg tool
  - Remove json filetypes from GUI for alignments files
  - Capture and raise empty timelapse folder errors
  - Move convert to use centralized ImagesLoader 
scripts/convert.py