# This file was automatically generated by SWIG (http://www.swig.org).
# Version 3.0.12
#
# Do not make changes to this file unless you know what you are doing--modify
# the SWIG interface file instead.

from sys import version_info as _swig_python_version_info
if _swig_python_version_info >= (2, 7, 0):
    def swig_import_helper():
        import importlib
        pkg = __name__.rpartition('.')[0]
        mname = '.'.join((pkg, '_oppai')).lstrip('.')
        try:
            return importlib.import_module(mname)
        except ImportError:
            return importlib.import_module('_oppai')
    _oppai = swig_import_helper()
    del swig_import_helper
elif _swig_python_version_info >= (2, 6, 0):
    def swig_import_helper():
        from os.path import dirname
        import imp
        fp = None
        try:
            fp, pathname, description = imp.find_module('_oppai', [dirname(__file__)])
        except ImportError:
            import _oppai
            return _oppai
        try:
            _mod = imp.load_module('_oppai', fp, pathname, description)
        finally:
            if fp is not None:
                fp.close()
        return _mod
    _oppai = swig_import_helper()
    del swig_import_helper
else:
    import _oppai
del _swig_python_version_info

try:
    _swig_property = property
except NameError:
    pass  # Python < 2.2 doesn't have 'property'.

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

def _swig_setattr_nondynamic(self, class_type, name, value, static=1):
    if (name == "thisown"):
        return self.this.own(value)
    if (name == "this"):
        if type(value).__name__ == 'SwigPyObject':
            self.__dict__[name] = value
            return
    method = class_type.__swig_setmethods__.get(name, None)
    if method:
        return method(self, value)
    if (not static):
        if _newclass:
            object.__setattr__(self, name, value)
        else:
            self.__dict__[name] = value
    else:
        raise AttributeError("You cannot add attributes to %s" % self)


def _swig_setattr(self, class_type, name, value):
    return _swig_setattr_nondynamic(self, class_type, name, value, 0)


def _swig_getattr(self, class_type, name):
    if (name == "thisown"):
        return self.this.own()
    method = class_type.__swig_getmethods__.get(name, None)
    if method:
        return method(self)
    raise AttributeError("'%s' object has no attribute '%s'" % (class_type.__name__, name))


def _swig_repr(self):
    try:
        strthis = "proxy of " + self.this.__repr__()
    except __builtin__.Exception:
        strthis = ""
    return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)

try:
    _object = object
    _newclass = 1
except __builtin__.Exception:
    class _object:
        pass
    _newclass = 0


def ezpp_new():
    """ezpp_new() -> ezpp_t"""
    return _oppai.ezpp_new()

def ezpp_free(ez):
    """
    ezpp_free(ezpp_t ez)

    Parameters
    ----------
    ez: ezpp_t

    """
    return _oppai.ezpp_free(ez)

def ezpp(ez, map):
    """
    ezpp(ezpp_t ez, char * map) -> int

    Parameters
    ----------
    ez: ezpp_t
    map: char *

    """
    return _oppai.ezpp(ez, map)

def ezpp_pp(ez):
    """
    ezpp_pp(ezpp_t ez) -> float

    Parameters
    ----------
    ez: ezpp_t

    """
    return _oppai.ezpp_pp(ez)

def ezpp_stars(ez):
    """
    ezpp_stars(ezpp_t ez) -> float

    Parameters
    ----------
    ez: ezpp_t

    """
    return _oppai.ezpp_stars(ez)

def ezpp_set_autocalc(ez, autocalc):
    """
    ezpp_set_autocalc(ezpp_t ez, int autocalc)

    Parameters
    ----------
    ez: ezpp_t
    autocalc: int

    """
    return _oppai.ezpp_set_autocalc(ez, autocalc)

def ezpp_autocalc(ez):
    """
    ezpp_autocalc(ezpp_t ez) -> int

    Parameters
    ----------
    ez: ezpp_t

    """
    return _oppai.ezpp_autocalc(ez)

def ezpp_data(ez, data, data_size):
    """
    ezpp_data(ezpp_t ez, char * data, int data_size) -> int

    Parameters
    ----------
    ez: ezpp_t
    data: char *
    data_size: int

    """
    return _oppai.ezpp_data(ez, data, data_size)

def ezpp_aim_stars(ez):
    """
    ezpp_aim_stars(ezpp_t ez) -> float

    Parameters
    ----------
    ez: ezpp_t

    """
    return _oppai.ezpp_aim_stars(ez)

def ezpp_speed_stars(ez):
    """
    ezpp_speed_stars(ezpp_t ez) -> float

    Parameters
    ----------
    ez: ezpp_t

    """
    return _oppai.ezpp_speed_stars(ez)

def ezpp_aim_pp(ez):
    """
    ezpp_aim_pp(ezpp_t ez) -> float

    Parameters
    ----------
    ez: ezpp_t

    """
    return _oppai.ezpp_aim_pp(ez)

def ezpp_speed_pp(ez):
    """
    ezpp_speed_pp(ezpp_t ez) -> float

    Parameters
    ----------
    ez: ezpp_t

    """
    return _oppai.ezpp_speed_pp(ez)

def ezpp_acc_pp(ez):
    """
    ezpp_acc_pp(ezpp_t ez) -> float

    Parameters
    ----------
    ez: ezpp_t

    """
    return _oppai.ezpp_acc_pp(ez)

def ezpp_accuracy_percent(ez):
    """
    ezpp_accuracy_percent(ezpp_t ez) -> float

    Parameters
    ----------
    ez: ezpp_t

    """
    return _oppai.ezpp_accuracy_percent(ez)

def ezpp_n300(ez):
    """
    ezpp_n300(ezpp_t ez) -> int

    Parameters
    ----------
    ez: ezpp_t

    """
    return _oppai.ezpp_n300(ez)

def ezpp_n100(ez):
    """
    ezpp_n100(ezpp_t ez) -> int

    Parameters
    ----------
    ez: ezpp_t

    """
    return _oppai.ezpp_n100(ez)

def ezpp_n50(ez):
    """
    ezpp_n50(ezpp_t ez) -> int

    Parameters
    ----------
    ez: ezpp_t

    """
    return _oppai.ezpp_n50(ez)

def ezpp_nmiss(ez):
    """
    ezpp_nmiss(ezpp_t ez) -> int

    Parameters
    ----------
    ez: ezpp_t

    """
    return _oppai.ezpp_nmiss(ez)

def ezpp_ar(ez):
    """
    ezpp_ar(ezpp_t ez) -> float

    Parameters
    ----------
    ez: ezpp_t

    """
    return _oppai.ezpp_ar(ez)

def ezpp_cs(ez):
    """
    ezpp_cs(ezpp_t ez) -> float

    Parameters
    ----------
    ez: ezpp_t

    """
    return _oppai.ezpp_cs(ez)

def ezpp_od(ez):
    """
    ezpp_od(ezpp_t ez) -> float

    Parameters
    ----------
    ez: ezpp_t

    """
    return _oppai.ezpp_od(ez)

def ezpp_hp(ez):
    """
    ezpp_hp(ezpp_t ez) -> float

    Parameters
    ----------
    ez: ezpp_t

    """
    return _oppai.ezpp_hp(ez)

def ezpp_artist(ez):
    """
    ezpp_artist(ezpp_t ez) -> char *

    Parameters
    ----------
    ez: ezpp_t

    """
    return _oppai.ezpp_artist(ez)

def ezpp_artist_unicode(ez):
    """
    ezpp_artist_unicode(ezpp_t ez) -> char *

    Parameters
    ----------
    ez: ezpp_t

    """
    return _oppai.ezpp_artist_unicode(ez)

def ezpp_title(ez):
    """
    ezpp_title(ezpp_t ez) -> char *

    Parameters
    ----------
    ez: ezpp_t

    """
    return _oppai.ezpp_title(ez)

def ezpp_title_unicode(ez):
    """
    ezpp_title_unicode(ezpp_t ez) -> char *

    Parameters
    ----------
    ez: ezpp_t

    """
    return _oppai.ezpp_title_unicode(ez)

def ezpp_version(ez):
    """
    ezpp_version(ezpp_t ez) -> char *

    Parameters
    ----------
    ez: ezpp_t

    """
    return _oppai.ezpp_version(ez)

def ezpp_creator(ez):
    """
    ezpp_creator(ezpp_t ez) -> char *

    Parameters
    ----------
    ez: ezpp_t

    """
    return _oppai.ezpp_creator(ez)

def ezpp_ncircles(ez):
    """
    ezpp_ncircles(ezpp_t ez) -> int

    Parameters
    ----------
    ez: ezpp_t

    """
    return _oppai.ezpp_ncircles(ez)

def ezpp_nsliders(ez):
    """
    ezpp_nsliders(ezpp_t ez) -> int

    Parameters
    ----------
    ez: ezpp_t

    """
    return _oppai.ezpp_nsliders(ez)

def ezpp_nspinners(ez):
    """
    ezpp_nspinners(ezpp_t ez) -> int

    Parameters
    ----------
    ez: ezpp_t

    """
    return _oppai.ezpp_nspinners(ez)

def ezpp_nobjects(ez):
    """
    ezpp_nobjects(ezpp_t ez) -> int

    Parameters
    ----------
    ez: ezpp_t

    """
    return _oppai.ezpp_nobjects(ez)

def ezpp_odms(ez):
    """
    ezpp_odms(ezpp_t ez) -> float

    Parameters
    ----------
    ez: ezpp_t

    """
    return _oppai.ezpp_odms(ez)

def ezpp_mode(ez):
    """
    ezpp_mode(ezpp_t ez) -> int

    Parameters
    ----------
    ez: ezpp_t

    """
    return _oppai.ezpp_mode(ez)

def ezpp_combo(ez):
    """
    ezpp_combo(ezpp_t ez) -> int

    Parameters
    ----------
    ez: ezpp_t

    """
    return _oppai.ezpp_combo(ez)

def ezpp_max_combo(ez):
    """
    ezpp_max_combo(ezpp_t ez) -> int

    Parameters
    ----------
    ez: ezpp_t

    """
    return _oppai.ezpp_max_combo(ez)

def ezpp_mods(ez):
    """
    ezpp_mods(ezpp_t ez) -> int

    Parameters
    ----------
    ez: ezpp_t

    """
    return _oppai.ezpp_mods(ez)

def ezpp_score_version(ez):
    """
    ezpp_score_version(ezpp_t ez) -> int

    Parameters
    ----------
    ez: ezpp_t

    """
    return _oppai.ezpp_score_version(ez)

def ezpp_time_at(ez, i):
    """
    ezpp_time_at(ezpp_t ez, int i) -> float

    Parameters
    ----------
    ez: ezpp_t
    i: int

    """
    return _oppai.ezpp_time_at(ez, i)

def ezpp_strain_at(ez, i, difficulty_type):
    """
    ezpp_strain_at(ezpp_t ez, int i, int difficulty_type) -> float

    Parameters
    ----------
    ez: ezpp_t
    i: int
    difficulty_type: int

    """
    return _oppai.ezpp_strain_at(ez, i, difficulty_type)

def ezpp_set_aim_stars(ez, aim_stars):
    """
    ezpp_set_aim_stars(ezpp_t ez, float aim_stars)

    Parameters
    ----------
    ez: ezpp_t
    aim_stars: float

    """
    return _oppai.ezpp_set_aim_stars(ez, aim_stars)

def ezpp_set_speed_stars(ez, speed_stars):
    """
    ezpp_set_speed_stars(ezpp_t ez, float speed_stars)

    Parameters
    ----------
    ez: ezpp_t
    speed_stars: float

    """
    return _oppai.ezpp_set_speed_stars(ez, speed_stars)

def ezpp_set_base_ar(ez, ar):
    """
    ezpp_set_base_ar(ezpp_t ez, float ar)

    Parameters
    ----------
    ez: ezpp_t
    ar: float

    """
    return _oppai.ezpp_set_base_ar(ez, ar)

def ezpp_set_base_od(ez, od):
    """
    ezpp_set_base_od(ezpp_t ez, float od)

    Parameters
    ----------
    ez: ezpp_t
    od: float

    """
    return _oppai.ezpp_set_base_od(ez, od)

def ezpp_set_base_cs(ez, cs):
    """
    ezpp_set_base_cs(ezpp_t ez, float cs)

    Parameters
    ----------
    ez: ezpp_t
    cs: float

    """
    return _oppai.ezpp_set_base_cs(ez, cs)

def ezpp_set_base_hp(ez, hp):
    """
    ezpp_set_base_hp(ezpp_t ez, float hp)

    Parameters
    ----------
    ez: ezpp_t
    hp: float

    """
    return _oppai.ezpp_set_base_hp(ez, hp)

def ezpp_set_mode_override(ez, mode_override):
    """
    ezpp_set_mode_override(ezpp_t ez, int mode_override)

    Parameters
    ----------
    ez: ezpp_t
    mode_override: int

    """
    return _oppai.ezpp_set_mode_override(ez, mode_override)

def ezpp_set_mode(ez, mode):
    """
    ezpp_set_mode(ezpp_t ez, int mode)

    Parameters
    ----------
    ez: ezpp_t
    mode: int

    """
    return _oppai.ezpp_set_mode(ez, mode)

def ezpp_set_mods(ez, mods):
    """
    ezpp_set_mods(ezpp_t ez, int mods)

    Parameters
    ----------
    ez: ezpp_t
    mods: int

    """
    return _oppai.ezpp_set_mods(ez, mods)

def ezpp_set_combo(ez, combo):
    """
    ezpp_set_combo(ezpp_t ez, int combo)

    Parameters
    ----------
    ez: ezpp_t
    combo: int

    """
    return _oppai.ezpp_set_combo(ez, combo)

def ezpp_set_nmiss(ez, nmiss):
    """
    ezpp_set_nmiss(ezpp_t ez, int nmiss)

    Parameters
    ----------
    ez: ezpp_t
    nmiss: int

    """
    return _oppai.ezpp_set_nmiss(ez, nmiss)

def ezpp_set_score_version(ez, score_version):
    """
    ezpp_set_score_version(ezpp_t ez, int score_version)

    Parameters
    ----------
    ez: ezpp_t
    score_version: int

    """
    return _oppai.ezpp_set_score_version(ez, score_version)

def ezpp_set_accuracy_percent(ez, accuracy_percent):
    """
    ezpp_set_accuracy_percent(ezpp_t ez, float accuracy_percent)

    Parameters
    ----------
    ez: ezpp_t
    accuracy_percent: float

    """
    return _oppai.ezpp_set_accuracy_percent(ez, accuracy_percent)

def ezpp_set_accuracy(ez, n100, n50):
    """
    ezpp_set_accuracy(ezpp_t ez, int n100, int n50)

    Parameters
    ----------
    ez: ezpp_t
    n100: int
    n50: int

    """
    return _oppai.ezpp_set_accuracy(ez, n100, n50)

def ezpp_set_end(ez, end):
    """
    ezpp_set_end(ezpp_t ez, int end)

    Parameters
    ----------
    ez: ezpp_t
    end: int

    """
    return _oppai.ezpp_set_end(ez, end)

def ezpp_set_end_time(ez, end):
    """
    ezpp_set_end_time(ezpp_t ez, float end)

    Parameters
    ----------
    ez: ezpp_t
    end: float

    """
    return _oppai.ezpp_set_end_time(ez, end)

def ezpp_dup(ez, mapfile):
    """
    ezpp_dup(ezpp_t ez, char * mapfile) -> int

    Parameters
    ----------
    ez: ezpp_t
    mapfile: char *

    """
    return _oppai.ezpp_dup(ez, mapfile)

def ezpp_data_dup(ez, data, data_size):
    """
    ezpp_data_dup(ezpp_t ez, char * data, int data_size) -> int

    Parameters
    ----------
    ez: ezpp_t
    data: char *
    data_size: int

    """
    return _oppai.ezpp_data_dup(ez, data, data_size)
ERR_MORE = _oppai.ERR_MORE
ERR_SYNTAX = _oppai.ERR_SYNTAX
ERR_TRUNCATED = _oppai.ERR_TRUNCATED
ERR_NOTIMPLEMENTED = _oppai.ERR_NOTIMPLEMENTED
ERR_IO = _oppai.ERR_IO
ERR_FORMAT = _oppai.ERR_FORMAT
ERR_OOM = _oppai.ERR_OOM

def errstr(err):
    """
    errstr(int err) -> char *

    Parameters
    ----------
    err: int

    """
    return _oppai.errstr(err)

def oppai_version():
    """oppai_version()"""
    return _oppai.oppai_version()

def oppai_version_str():
    """oppai_version_str() -> char *"""
    return _oppai.oppai_version_str()
MODE_STD = _oppai.MODE_STD
MODE_TAIKO = _oppai.MODE_TAIKO
DIFF_SPEED = _oppai.DIFF_SPEED
DIFF_AIM = _oppai.DIFF_AIM
MODS_NOMOD = _oppai.MODS_NOMOD
MODS_NF = _oppai.MODS_NF
MODS_EZ = _oppai.MODS_EZ
MODS_TD = _oppai.MODS_TD
MODS_HD = _oppai.MODS_HD
MODS_HR = _oppai.MODS_HR
MODS_SD = _oppai.MODS_SD
MODS_DT = _oppai.MODS_DT
MODS_RX = _oppai.MODS_RX
MODS_HT = _oppai.MODS_HT
MODS_NC = _oppai.MODS_NC
MODS_FL = _oppai.MODS_FL
MODS_AT = _oppai.MODS_AT
MODS_SO = _oppai.MODS_SO
MODS_AP = _oppai.MODS_AP
MODS_PF = _oppai.MODS_PF
MODS_KEY4 = _oppai.MODS_KEY4
MODS_KEY5 = _oppai.MODS_KEY5
MODS_KEY6 = _oppai.MODS_KEY6
MODS_KEY7 = _oppai.MODS_KEY7
MODS_KEY8 = _oppai.MODS_KEY8
MODS_FADEIN = _oppai.MODS_FADEIN
MODS_RANDOM = _oppai.MODS_RANDOM
MODS_CINEMA = _oppai.MODS_CINEMA
MODS_TARGET = _oppai.MODS_TARGET
MODS_KEY9 = _oppai.MODS_KEY9
MODS_KEYCOOP = _oppai.MODS_KEYCOOP
MODS_KEY1 = _oppai.MODS_KEY1
MODS_KEY3 = _oppai.MODS_KEY3
MODS_KEY2 = _oppai.MODS_KEY2
MODS_SCOREV2 = _oppai.MODS_SCOREV2
MODS_TOUCH_DEVICE = _oppai.MODS_TOUCH_DEVICE
MODS_NOVIDEO = _oppai.MODS_NOVIDEO
MODS_SPEED_CHANGING = _oppai.MODS_SPEED_CHANGING
MODS_MAP_CHANGING = _oppai.MODS_MAP_CHANGING
# This file is compatible with both classic and new-style classes.


