                                "This command allows you to easily execute "
                                "common ffmpeg tasks.")
      SORT = cli.SortArgs(SUBPARSER,
                          "sort",
                          "This command lets you sort images using various "
                          "methods.")
      GUI = GuiArgs(SUBPARSER,
                    "gui",
                    "Launch the Faceswap Tools Graphical User Interface.")
      PARSER.set_defaults(func=bad_args)
      ARGUMENTS = PARSER.parse_args()
      ARGUMENTS.func(ARGUMENTS)
 
</s> remove                               "This command allows you to easily execute "
                              "common ffmpeg tasks.")
 </s> add                               "This command allows you to easily execute common ffmpeg tasks.") </s> remove                                "This command lets you perform various tasks "
                               "pertaining to an alignments file.")
 </s> add                                "This command lets you perform various tasks pertaining to an "
                               "alignments file.")
    PREVIEW = cli.PreviewArgs(SUBPARSER,
                              "preview",
                              "This command allows you to preview swaps to tweak convert "
                              "settings.") </s> remove     _tools_warning = "Please backup your data and/or test the tool you want "
    _tools_warning += "to use with a smaller data set to make sure you "
    _tools_warning += "understand how it works."
    print(_tools_warning)
 </s> add     _TOOLS_WARNING = "Please backup your data and/or test the tool you want "
    _TOOLS_WARNING += "to use with a smaller data set to make sure you "
    _TOOLS_WARNING += "understand how it works."
    print(_TOOLS_WARNING) </s> remove             choices=MASK_TYPES, info=MASK_INFO)
 </s> add             choices=MASK_TYPES, gui_radio=True, info=MASK_INFO) </s> remove class CommandTab(ttk.Frame):  # pylint: disable=too-many-ancestors
 </s> add class ToolsNotebook(ttk.Notebook):  # pylint:disable=too-many-ancestors
    """ Tools sit in their own tab, but need to inherit objects from the main command notebook """
    def __init__(self, parent):
        super().__init__(parent)
        self.actionbtns = parent.actionbtns


class CommandTab(ttk.Frame):  # pylint:disable=too-many-ancestors
                        "This command lets you sort images using various methods.")
                                "This command allows you to easily execute "
                                "common ffmpeg tasks.")
      SORT = cli.SortArgs(SUBPARSER,
                          "sort",
                        "This command lets you sort images using various methods.")
                        "This command lets you sort images using various methods.")
                        "This command lets you sort images using various methods.")
                        "This command lets you sort images using various methods.")
                        "This command lets you sort images using various methods.")
      PARSER.set_defaults(func=bad_args)
      ARGUMENTS = PARSER.parse_args()
      ARGUMENTS.func(ARGUMENTS)
keep keep keep keep replace replace replace replace replace keep keep keep
 Convert settings tool (#737)

* Initial prediction pipeline and display

* Patch faces from convert pipeline. Load configs

* Add tkinter canvas for image display

* Radio buttons to config gui. Standardise config gui. Remove dssim loss from realface

* Add action frame

* Live update cli options

* Live update config changes

* Quicker frame loading. Refresh faces button callback

* remove debug code

* Add saving and reloading config buttons

* Reduce lag with threading

* Busy indicator + geometry updates

* Fix options canvas resizing

* Add global config saving and resetting

* tools to own tab

* Rename tool to 'preview'

* geometry tweak

* pep8 fixes 
tools.py