# Path: consort/tools/HashCachingObject.py
# class HashCachingObject(abctools.AbjadValueObject):
# 
#     ### CLASS VARIABLES ###
# 
#     __slots__ = (
#         '_format',
#         '_hash',
#         )
# 
#     ### INITIALIZER ###
# 
#     def __init__(self):
#         self._format = None
#         self._hash = None
# 
#     ### SPECIAL METHODS ###
# 
#     #@profile
#     def __eq__(self, expr):
#         if isinstance(expr, type(self)):
#             if format(self) == format(expr):
#                 return True
#         return False
# 
#     #@profile
#     def __format__(self, format_specification=''):
#         if self._format is None:
#             agent = systemtools.StorageFormatAgent(self)
#             self._format = agent.get_storage_format()
#         return self._format
# 
#     #@profile
#     def __hash__(self):
#         if self._hash is None:
#             self._hash = hash((type(self), format(self)))
#         return self._hash


import abc
import abjad
import collections
        import consort
        import consort
        import consort
        import consort
        import consort
        import consort
        import consort
        import consort
from abjad.tools import instrumenttools
from abjad.tools import indicatortools
from abjad.tools import pitchtools
from consort.tools.HashCachingObject import HashCachingObject
class PitchHandler(HashCachingObject):

    ### CLASS VARIABLES ###

    __slots__ = (
        '_deviations',
        '_forbid_repetitions',
        '_grace_expressions',
        '_logical_tie_expressions',
        '_pitch_application_rate',
        '_pitch_operation_specifier',
        '_pitch_specifier',
        '_pitches_are_nonsemantic',
        '_use_self_as_seed_key',
        )

    ### INITIALIZER ###

    def __init__(
        self,
        deviations=None,
        forbid_repetitions=None,
        grace_expressions=None,
        logical_tie_expressions=None,
        pitch_application_rate=None,
        pitch_specifier=None,
        pitch_operation_specifier=None,
        pitches_are_nonsemantic=None,
        use_self_as_seed_key=None,
        ):

# Path: consort/tools/HashCachingObject.py
# class HashCachingObject(abctools.AbjadValueObject):
# 
#     ### CLASS VARIABLES ###
# 
#     __slots__ = (
#         '_format',
#         '_hash',
#         )
# 
#     ### INITIALIZER ###
# 
#     def __init__(self):
#         self._format = None
#         self._hash = None
# 
#     ### SPECIAL METHODS ###
# 
#     #@profile
#     def __eq__(self, expr):
#         if isinstance(expr, type(self)):
#             if format(self) == format(expr):
#                 return True
#         return False
# 
#     #@profile
#     def __format__(self, format_specification=''):
#         if self._format is None:
#             agent = systemtools.StorageFormatAgent(self)
#             self._format = agent.get_storage_format()
#         return self._format
# 
#     #@profile
#     def __hash__(self):
#         if self._hash is None:
#             self._hash = hash((type(self), format(self)))
#         return self._hash


# Path: consort/tools/PitchHandler.py
import abc
import abjad
import collections
        import consort
        import consort
        import consort
        import consort
        import consort
        import consort
        import consort
        import consort
from abjad.tools import instrumenttools
from abjad.tools import indicatortools
from abjad.tools import pitchtools
from consort.tools.HashCachingObject import HashCachingObject

class PitchHandler(HashCachingObject):

    ### CLASS VARIABLES ###

    __slots__ = (
        '_deviations',
        '_forbid_repetitions',
        '_grace_expressions',
        '_logical_tie_expressions',
        '_pitch_application_rate',
        '_pitch_operation_specifier',
        '_pitch_specifier',
        '_pitches_are_nonsemantic',
        '_use_self_as_seed_key',
        )

    ### INITIALIZER ###

    def __init__(
        self,
        deviations=None,
        forbid_repetitions=None,
        grace_expressions=None,
        logical_tie_expressions=None,
        pitch_application_rate=None,
        pitch_specifier=None,
        pitch_operation_specifier=None,
        pitches_are_nonsemantic=None,
        use_self_as_seed_key=None,
        ):

        HashCachingObject.__init__(self)