# 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, '_marsyas')).lstrip('.')
        try:
            return importlib.import_module(mname)
        except ImportError:
            return importlib.import_module('_marsyas')
    _marsyas = 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('_marsyas', [dirname(__file__)])
        except ImportError:
            import _marsyas
            return _marsyas
        try:
            _mod = imp.load_module('_marsyas', fp, pathname, description)
        finally:
            if fp is not None:
                fp.close()
        return _mod
    _marsyas = swig_import_helper()
    del swig_import_helper
else:
    import _marsyas
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

class SwigPyIterator(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, SwigPyIterator, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, SwigPyIterator, name)

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _marsyas.delete_SwigPyIterator
    __del__ = lambda self: None

    def value(self):
        return _marsyas.SwigPyIterator_value(self)

    def incr(self, n=1):
        return _marsyas.SwigPyIterator_incr(self, n)

    def decr(self, n=1):
        return _marsyas.SwigPyIterator_decr(self, n)

    def distance(self, x):
        return _marsyas.SwigPyIterator_distance(self, x)

    def equal(self, x):
        return _marsyas.SwigPyIterator_equal(self, x)

    def copy(self):
        return _marsyas.SwigPyIterator_copy(self)

    def next(self):
        return _marsyas.SwigPyIterator_next(self)

    def __next__(self):
        return _marsyas.SwigPyIterator___next__(self)

    def previous(self):
        return _marsyas.SwigPyIterator_previous(self)

    def advance(self, n):
        return _marsyas.SwigPyIterator_advance(self, n)

    def __eq__(self, x):
        return _marsyas.SwigPyIterator___eq__(self, x)

    def __ne__(self, x):
        return _marsyas.SwigPyIterator___ne__(self, x)

    def __iadd__(self, n):
        return _marsyas.SwigPyIterator___iadd__(self, n)

    def __isub__(self, n):
        return _marsyas.SwigPyIterator___isub__(self, n)

    def __add__(self, n):
        return _marsyas.SwigPyIterator___add__(self, n)

    def __sub__(self, *args):
        return _marsyas.SwigPyIterator___sub__(self, *args)
    def __iter__(self):
        return self
SwigPyIterator_swigregister = _marsyas.SwigPyIterator_swigregister
SwigPyIterator_swigregister(SwigPyIterator)

class Map_String_MarControlPtr(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, Map_String_MarControlPtr, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, Map_String_MarControlPtr, name)
    __repr__ = _swig_repr

    def iterator(self):
        return _marsyas.Map_String_MarControlPtr_iterator(self)
    def __iter__(self):
        return self.iterator()

    def __nonzero__(self):
        return _marsyas.Map_String_MarControlPtr___nonzero__(self)

    def __bool__(self):
        return _marsyas.Map_String_MarControlPtr___bool__(self)

    def __len__(self):
        return _marsyas.Map_String_MarControlPtr___len__(self)
    def __iter__(self):
        return self.key_iterator()
    def iterkeys(self):
        return self.key_iterator()
    def itervalues(self):
        return self.value_iterator()
    def iteritems(self):
        return self.iterator()

    def __getitem__(self, key):
        return _marsyas.Map_String_MarControlPtr___getitem__(self, key)

    def __delitem__(self, key):
        return _marsyas.Map_String_MarControlPtr___delitem__(self, key)

    def has_key(self, key):
        return _marsyas.Map_String_MarControlPtr_has_key(self, key)

    def keys(self):
        return _marsyas.Map_String_MarControlPtr_keys(self)

    def values(self):
        return _marsyas.Map_String_MarControlPtr_values(self)

    def items(self):
        return _marsyas.Map_String_MarControlPtr_items(self)

    def __contains__(self, key):
        return _marsyas.Map_String_MarControlPtr___contains__(self, key)

    def key_iterator(self):
        return _marsyas.Map_String_MarControlPtr_key_iterator(self)

    def value_iterator(self):
        return _marsyas.Map_String_MarControlPtr_value_iterator(self)

    def __setitem__(self, *args):
        return _marsyas.Map_String_MarControlPtr___setitem__(self, *args)

    def asdict(self):
        return _marsyas.Map_String_MarControlPtr_asdict(self)

    def __init__(self, *args):
        this = _marsyas.new_Map_String_MarControlPtr(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def empty(self):
        return _marsyas.Map_String_MarControlPtr_empty(self)

    def size(self):
        return _marsyas.Map_String_MarControlPtr_size(self)

    def swap(self, v):
        return _marsyas.Map_String_MarControlPtr_swap(self, v)

    def begin(self):
        return _marsyas.Map_String_MarControlPtr_begin(self)

    def end(self):
        return _marsyas.Map_String_MarControlPtr_end(self)

    def rbegin(self):
        return _marsyas.Map_String_MarControlPtr_rbegin(self)

    def rend(self):
        return _marsyas.Map_String_MarControlPtr_rend(self)

    def clear(self):
        return _marsyas.Map_String_MarControlPtr_clear(self)

    def get_allocator(self):
        return _marsyas.Map_String_MarControlPtr_get_allocator(self)

    def count(self, x):
        return _marsyas.Map_String_MarControlPtr_count(self, x)

    def erase(self, *args):
        return _marsyas.Map_String_MarControlPtr_erase(self, *args)

    def find(self, x):
        return _marsyas.Map_String_MarControlPtr_find(self, x)

    def lower_bound(self, x):
        return _marsyas.Map_String_MarControlPtr_lower_bound(self, x)

    def upper_bound(self, x):
        return _marsyas.Map_String_MarControlPtr_upper_bound(self, x)
    __swig_destroy__ = _marsyas.delete_Map_String_MarControlPtr
    __del__ = lambda self: None
Map_String_MarControlPtr_swigregister = _marsyas.Map_String_MarControlPtr_swigregister
Map_String_MarControlPtr_swigregister(Map_String_MarControlPtr)

class MarSystem(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, MarSystem, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, MarSystem, name)

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr

    def tick(self):
        return _marsyas.MarSystem_tick(self)

    def process(self, arg2, out):
        return _marsyas.MarSystem_process(self, arg2, out)

    def update(self):
        return _marsyas.MarSystem_update(self)

    def addMarSystem(self, msys):
        return _marsyas.MarSystem_addMarSystem(self, msys)

    def setParent(self, parent):
        return _marsyas.MarSystem_setParent(self, parent)

    def getChildMarSystem(self, childPath):
        return _marsyas.MarSystem_getChildMarSystem(self, childPath)

    def getType(self):
        return _marsyas.MarSystem_getType(self)

    def getName(self):
        return _marsyas.MarSystem_getName(self)

    def getPrefix(self):
        return _marsyas.MarSystem_getPrefix(self)

    def toString(self):
        return _marsyas.MarSystem_toString(self)

    def toStringShort(self):
        return _marsyas.MarSystem_toStringShort(self)

    def setControl(self, arg2, arg3):
        return _marsyas.MarSystem_setControl(self, arg2, arg3)

    def getControl(self, arg2):
        return _marsyas.MarSystem_getControl(self, arg2)

    def hasControl(self, arg2):
        return _marsyas.MarSystem_hasControl(self, arg2)

    def linkControl(self, arg2, arg3):
        return _marsyas.MarSystem_linkControl(self, arg2, arg3)

    def getControls(self):
        return _marsyas.MarSystem_getControls(self)

    def updControl(self, *args):
        return _marsyas.MarSystem_updControl(self, *args)

    def toHtml(self):
        return _marsyas.MarSystem_toHtml(self)
    __swig_destroy__ = _marsyas.delete_MarSystem
    __del__ = lambda self: None
MarSystem_swigregister = _marsyas.MarSystem_swigregister
MarSystem_swigregister(MarSystem)

class Vector_String(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, Vector_String, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, Vector_String, name)
    __repr__ = _swig_repr

    def iterator(self):
        return _marsyas.Vector_String_iterator(self)
    def __iter__(self):
        return self.iterator()

    def __nonzero__(self):
        return _marsyas.Vector_String___nonzero__(self)

    def __bool__(self):
        return _marsyas.Vector_String___bool__(self)

    def __len__(self):
        return _marsyas.Vector_String___len__(self)

    def __getslice__(self, i, j):
        return _marsyas.Vector_String___getslice__(self, i, j)

    def __setslice__(self, *args):
        return _marsyas.Vector_String___setslice__(self, *args)

    def __delslice__(self, i, j):
        return _marsyas.Vector_String___delslice__(self, i, j)

    def __delitem__(self, *args):
        return _marsyas.Vector_String___delitem__(self, *args)

    def __getitem__(self, *args):
        return _marsyas.Vector_String___getitem__(self, *args)

    def __setitem__(self, *args):
        return _marsyas.Vector_String___setitem__(self, *args)

    def pop(self):
        return _marsyas.Vector_String_pop(self)

    def append(self, x):
        return _marsyas.Vector_String_append(self, x)

    def empty(self):
        return _marsyas.Vector_String_empty(self)

    def size(self):
        return _marsyas.Vector_String_size(self)

    def swap(self, v):
        return _marsyas.Vector_String_swap(self, v)

    def begin(self):
        return _marsyas.Vector_String_begin(self)

    def end(self):
        return _marsyas.Vector_String_end(self)

    def rbegin(self):
        return _marsyas.Vector_String_rbegin(self)

    def rend(self):
        return _marsyas.Vector_String_rend(self)

    def clear(self):
        return _marsyas.Vector_String_clear(self)

    def get_allocator(self):
        return _marsyas.Vector_String_get_allocator(self)

    def pop_back(self):
        return _marsyas.Vector_String_pop_back(self)

    def erase(self, *args):
        return _marsyas.Vector_String_erase(self, *args)

    def __init__(self, *args):
        this = _marsyas.new_Vector_String(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def push_back(self, x):
        return _marsyas.Vector_String_push_back(self, x)

    def front(self):
        return _marsyas.Vector_String_front(self)

    def back(self):
        return _marsyas.Vector_String_back(self)

    def assign(self, n, x):
        return _marsyas.Vector_String_assign(self, n, x)

    def resize(self, *args):
        return _marsyas.Vector_String_resize(self, *args)

    def insert(self, *args):
        return _marsyas.Vector_String_insert(self, *args)

    def reserve(self, n):
        return _marsyas.Vector_String_reserve(self, n)

    def capacity(self):
        return _marsyas.Vector_String_capacity(self)
    __swig_destroy__ = _marsyas.delete_Vector_String
    __del__ = lambda self: None
Vector_String_swigregister = _marsyas.Vector_String_swigregister
Vector_String_swigregister(Vector_String)

class MarSystemManager(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, MarSystemManager, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, MarSystemManager, name)
    __repr__ = _swig_repr

    def __init__(self):
        this = _marsyas.new_MarSystemManager()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def create(self, *args):
        return _marsyas.MarSystemManager_create(self, *args)

    def loadFromFile(self, arg2):
        return _marsyas.MarSystemManager_loadFromFile(self, arg2)

    def registerPrototype(self, arg2, arg3):
        return _marsyas.MarSystemManager_registerPrototype(self, arg2, arg3)

    def registeredPrototypes(self):
        return _marsyas.MarSystemManager_registeredPrototypes(self)

    def getMarSystem(self, src, parent=None):
        return _marsyas.MarSystemManager_getMarSystem(self, src, parent)
    __swig_destroy__ = _marsyas.delete_MarSystemManager
    __del__ = lambda self: None
MarSystemManager_swigregister = _marsyas.MarSystemManager_swigregister
MarSystemManager_swigregister(MarSystemManager)

class MarControlPtr(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, MarControlPtr, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, MarControlPtr, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _marsyas.new_MarControlPtr(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _marsyas.delete_MarControlPtr
    __del__ = lambda self: None

    def isInvalid(self):
        return _marsyas.MarControlPtr_isInvalid(self)
    if _newclass:
        from_natural = staticmethod(_marsyas.MarControlPtr_from_natural)
    else:
        from_natural = _marsyas.MarControlPtr_from_natural
    if _newclass:
        from_real = staticmethod(_marsyas.MarControlPtr_from_real)
    else:
        from_real = _marsyas.MarControlPtr_from_real
    if _newclass:
        from_bool = staticmethod(_marsyas.MarControlPtr_from_bool)
    else:
        from_bool = _marsyas.MarControlPtr_from_bool
    if _newclass:
        from_string = staticmethod(_marsyas.MarControlPtr_from_string)
    else:
        from_string = _marsyas.MarControlPtr_from_string
    if _newclass:
        from_realvec = staticmethod(_marsyas.MarControlPtr_from_realvec)
    else:
        from_realvec = _marsyas.MarControlPtr_from_realvec

    def getType(self):
        return _marsyas.MarControlPtr_getType(self)

    def getName(self):
        return _marsyas.MarControlPtr_getName(self)

    def setValue_natural(self, x):
        return _marsyas.MarControlPtr_setValue_natural(self, x)

    def setValue_real(self, x):
        return _marsyas.MarControlPtr_setValue_real(self, x)

    def setValue_bool(self, x):
        return _marsyas.MarControlPtr_setValue_bool(self, x)

    def setValue_string(self, x):
        return _marsyas.MarControlPtr_setValue_string(self, x)

    def setValue_realvec(self, x):
        return _marsyas.MarControlPtr_setValue_realvec(self, x)

    def to_natural(self):
        return _marsyas.MarControlPtr_to_natural(self)

    def to_real(self):
        return _marsyas.MarControlPtr_to_real(self)

    def to_string(self):
        return _marsyas.MarControlPtr_to_string(self)

    def to_bool(self):
        return _marsyas.MarControlPtr_to_bool(self)

    def to_realvec(self):
        return _marsyas.MarControlPtr_to_realvec(self)
MarControlPtr_swigregister = _marsyas.MarControlPtr_swigregister
MarControlPtr_swigregister(MarControlPtr)

def MarControlPtr_from_natural(x):
    return _marsyas.MarControlPtr_from_natural(x)
MarControlPtr_from_natural = _marsyas.MarControlPtr_from_natural

def MarControlPtr_from_real(x):
    return _marsyas.MarControlPtr_from_real(x)
MarControlPtr_from_real = _marsyas.MarControlPtr_from_real

def MarControlPtr_from_bool(x):
    return _marsyas.MarControlPtr_from_bool(x)
MarControlPtr_from_bool = _marsyas.MarControlPtr_from_bool

def MarControlPtr_from_string(x):
    return _marsyas.MarControlPtr_from_string(x)
MarControlPtr_from_string = _marsyas.MarControlPtr_from_string

def MarControlPtr_from_realvec(x):
    return _marsyas.MarControlPtr_from_realvec(x)
MarControlPtr_from_realvec = _marsyas.MarControlPtr_from_realvec

class realvec(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, realvec, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, realvec, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _marsyas.new_realvec(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _marsyas.delete_realvec
    __del__ = lambda self: None

    def maxval(self):
        return _marsyas.realvec_maxval(self)

    def minval(self):
        return _marsyas.realvec_minval(self)

    def mean(self):
        return _marsyas.realvec_mean(self)

    def median(self):
        return _marsyas.realvec_median(self)

    def sum(self):
        return _marsyas.realvec_sum(self)

    def std(self):
        return _marsyas.realvec_std(self)

    def var(self):
        return _marsyas.realvec_var(self)

    def getRows(self):
        return _marsyas.realvec_getRows(self)

    def getCols(self):
        return _marsyas.realvec_getCols(self)

    def getSize(self):
        return _marsyas.realvec_getSize(self)

    def getData(self):
        return _marsyas.realvec_getData(self)

    def transpose(self):
        return _marsyas.realvec_transpose(self)

    def sort(self):
        return _marsyas.realvec_sort(self)

    def abs(self):
        return _marsyas.realvec_abs(self)

    def sqr(self):
        return _marsyas.realvec_sqr(self)

    def sqroot(self):
        return _marsyas.realvec_sqroot(self)

    def normMaxMin(self):
        return _marsyas.realvec_normMaxMin(self)

    def stretch(self, size):
        return _marsyas.realvec_stretch(self, size)

    def setval(self, *args):
        return _marsyas.realvec_setval(self, *args)

    def appendRealvec(self, newValues):
        return _marsyas.realvec_appendRealvec(self, newValues)

    def apply(self, func):
        return _marsyas.realvec_apply(self, func)

    def norm(self, *args):
        return _marsyas.realvec_norm(self, *args)

    def renorm(self, old_mean, old_std, new_mean, new_std):
        return _marsyas.realvec_renorm(self, old_mean, old_std, new_mean, new_std)

    def getSubVector(self, startPos, length):
        return _marsyas.realvec_getSubVector(self, startPos, length)

    def covariance(self, res):
        return _marsyas.realvec_covariance(self, res)

    def covariance2(self, res):
        return _marsyas.realvec_covariance2(self, res)

    def search(self, val):
        return _marsyas.realvec_search(self, val)

    def __str__(self):
        return _marsyas.realvec___str__(self)

    def print_(self):
        return _marsyas.realvec_print_(self)

    def __len__(self):
        return _marsyas.realvec___len__(self)

    def __getitem__(self, i):
        return _marsyas.realvec___getitem__(self, i)

    def __setitem__(self, i, x):
        return _marsyas.realvec___setitem__(self, i, x)
realvec_swigregister = _marsyas.realvec_swigregister
realvec_swigregister(realvec)

class Collection(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, Collection, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, Collection, name)
    __repr__ = _swig_repr

    def __init__(self):
        this = _marsyas.new_Collection()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _marsyas.delete_Collection
    __del__ = lambda self: None

    def size(self):
        return _marsyas.Collection_size(self)

    def setName(self, name):
        return _marsyas.Collection_setName(self, name)

    def entry(self, i):
        return _marsyas.Collection_entry(self, i)

    def labelEntry(self, i):
        return _marsyas.Collection_labelEntry(self, i)

    def getSize(self):
        return _marsyas.Collection_getSize(self)

    def getNumLabels(self):
        return _marsyas.Collection_getNumLabels(self)

    def getLabelNames(self):
        return _marsyas.Collection_getLabelNames(self)

    def labelNum(self, label):
        return _marsyas.Collection_labelNum(self, label)

    def labelName(self, i):
        return _marsyas.Collection_labelName(self, i)

    def hasLabels(self):
        return _marsyas.Collection_hasLabels(self)

    def add(self, *args):
        return _marsyas.Collection_add(self, *args)

    def name(self):
        return _marsyas.Collection_name(self)

    def shuffle(self):
        return _marsyas.Collection_shuffle(self)

    def read(self, filename):
        return _marsyas.Collection_read(self, filename)

    def write(self, filename):
        return _marsyas.Collection_write(self, filename)

    def labelAll(self, label):
        return _marsyas.Collection_labelAll(self, label)

    def toLongString(self):
        return _marsyas.Collection_toLongString(self)

    def concatenate(self, cls):
        return _marsyas.Collection_concatenate(self, cls)
Collection_swigregister = _marsyas.Collection_swigregister
Collection_swigregister(Collection)

# This file is compatible with both classic and new-style classes.


