          logger.debug(retval)
          return retval
  
      @property
      def pool_processes(self):
          """ return the maximum number of pooled processes to use """
          if self.args.singleprocess:
              retval = 1
          elif self.args.jobs > 0:
              retval = min(self.args.jobs, total_cpus(), self.images.images_found)
          else:
              retval = min(total_cpus(), self.images.images_found)
 
</s> remove         elif self.args.jobs > 0:
            retval = min(self.args.jobs, total_cpus(), self.images.images_found)
 </s> add         elif self._args.jobs > 0:
            retval = min(self._args.jobs, total_cpus(), self._images.images_found) </s> remove             retval = min(total_cpus(), self.images.images_found)
 </s> add             retval = min(total_cpus(), self._images.images_found) </s> remove     def queue_size(self):
        """ Set 16 for single process otherwise 32 """
        if self.args.singleprocess:
 </s> add     def _queue_size(self):
        """ int: Size of the converter queues. 16 for single process otherwise 32 """
        if self._args.singleprocess: </s> remove     def count_images(self):
        """ Number of images or frames """
        if self.is_video:
            retval = int(count_frames(self.args.input_dir, fast=True))
 </s> add     @property
    def is_video(self):
        """bool: ``True`` if the input is a video file otherwise ``False``. """
        return self._is_video

    @property
    def input_images(self):
        """str or list: Path to the video file if the input is a video otherwise list of
        image paths. """
        return self._input_images

    @property
    def images_found(self):
        """int: The number of frames that exist in the video file, or the folder of images. """
        return self._images_found

    def _count_images(self):
        """ Get the number of Frames from a video file or folder of images.

        Returns
        -------
        int
            The number of frames in the image source
        """
        if self._is_video:
            retval = int(count_frames(self._args.input_dir, fast=True)) </s> remove             retval = len(self.input_images)
 </s> add             retval = len(self._input_images)
    def _pool_processes(self):
        """ int: The number of threads to run in parallel. Based on user options and number of
        available processors. """
        if self._args.singleprocess:
          logger.debug(retval)
          return retval
  
      @property
    def _pool_processes(self):
        """ int: The number of threads to run in parallel. Based on user options and number of
        available processors. """
        if self._args.singleprocess:
    def _pool_processes(self):
        """ int: The number of threads to run in parallel. Based on user options and number of
        available processors. """
        if self._args.singleprocess:
    def _pool_processes(self):
        """ int: The number of threads to run in parallel. Based on user options and number of
        available processors. """
        if self._args.singleprocess:
              retval = 1
          elif self.args.jobs > 0:
              retval = min(self.args.jobs, total_cpus(), self.images.images_found)
          else:
              retval = min(total_cpus(), self.images.images_found)
keep keep keep keep replace replace replace keep keep keep keep keep
 Smart Masks to Convert (#957)

- scripts.convert - Use Smart Masks for Convert
    * Make on-the-fly conversion an explicit option

- Move BlurMask to lib.faces_detect

- tools.preview - Fix for smart masks
    * Subclass from tk.Tk
    * Options to lib.gui.control_helper
    *variable cleanup

- lib.logger - Demote more tensorflow deprecation messages

- Documentation:
    * lib.faces_detect.BlurMask
    * plugins.convert.mask
    * lib.convert
    * scripts.convert
    * scripts.fsmedia
    * tools.preview 
scripts/convert.py