@classmethod
def check_all(cls, tools=True, encoding=True, c_ext=True):
    """
        Perform all checks.

        Return a tuple of booleans ``(errors, warnings, c_ext_warnings)``.

        :param bool tools: if ``True``, check aeneas tools
        :param bool encoding: if ``True``, check shell encoding
        :param bool c_ext: if ``True``, check Python C extensions
        :rtype: (bool, bool, bool)
        """
    if cls.check_ffprobe():
        return True, False, False
    if cls.check_ffmpeg():
        return True, False, False
    if cls.check_espeak():
        return True, False, False
    if tools and cls.check_tools():
        return True, False, False
    warnings = False
    c_ext_warnings = False
    if encoding:
        warnings = cls.check_shell_encoding()
    if c_ext:
        c_ext_warnings = cls.check_cdtw() or c_ext_warnings
        c_ext_warnings = cls.check_cmfcc() or c_ext_warnings
        c_ext_warnings = cls.check_cew() or c_ext_warnings
    return False, warnings, c_ext_warnings
