              self.stop_playback()
          frame_count = self._det_faces.filter.count
          if self._current_nav_frame_count == frame_count:
              logger.trace("Filtered count has not changed. Returning")
              return False
          if self._globals.tk_filter_mode.get() == "Misaligned Faces":
              self._det_faces.tk_face_count_changed.set(True)
          max_frame = max(0, frame_count - 1)
          logger.debug("Filtered frame count has changed. Updating from %s to %s",
                       self._current_nav_frame_count, frame_count)
 
</s> remove     def _check_face_count_change(self):
        """ Check whether the face count for the current filter has changed, and update the
        transport scale appropriately.

        Perform additional check on whether the current frame still meets the selected navigation
        mode filter criteria.

        Returns
        -------
        bool
            ``True`` if the currently active frame no longer meets the filter criteria otherwise
            ``False``
        """
        filter_mode = self._globals.filter_mode
        if filter_mode not in ("No Faces", "Multiple Faces"):
            return False
        if not self.nav_scale_callback(reset_progress=False):
            return False
        face_count = len(self._det_faces.current_faces[self._globals.frame_index])
        if (filter_mode == "No Faces" and face_count != 0) or (filter_mode == "Multiple Faces"
                                                               and face_count < 2):
            return True
        return False

 </s> add  </s> remove         face_count_change = self._check_face_count_change()
 </s> add         face_count_change = not self._det_faces.filter.frame_meets_criteria </s> remove         face_count_change = self._check_face_count_change()
        if face_count_change:
            position += 1
 </s> add         face_count_change = not self._det_faces.filter.frame_meets_criteria </s> remove 
        Returns
        -------
        bool
            ``True`` if the navigation scale has been updated otherwise ``False``
 </s> add  </s> remove         if reset_progress:
            self._globals.tk_transport_index.set(0)
        return True
 </s> add 
              self.stop_playback()
          frame_count = self._det_faces.filter.count
          if self._current_nav_frame_count == frame_count:
              logger.trace("Filtered count has not changed. Returning")

          if self._globals.tk_filter_mode.get() == "Misaligned Faces":
              self._det_faces.tk_face_count_changed.set(True)
          max_frame = max(0, frame_count - 1)
          logger.debug("Filtered frame count has changed. Updating from %s to %s",
                       self._current_nav_frame_count, frame_count)
keep keep keep keep replace keep keep keep keep keep
 Bugfixes - Manual Tool
  - Update total frames count on a face count change
  - Correct navigation position when decrementing frame after edit changes the filter criteria 
tools/manual/frameviewer/control.py