本文整理汇总了Python中music21.common.wrapWeakref函数的典型用法代码示例。如果您正苦于以下问题:Python wrapWeakref函数的具体用法?Python wrapWeakref怎么用?Python wrapWeakref使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了wrapWeakref函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: testWeakref
def testWeakref(self):
from music21 import note
n = note.Note()
idStored = id(n)
wn = common.wrapWeakref(n)
n2 = common.unwrapWeakref(n)
self.assertEqual(id(n), id(n2))
示例2: setContainer
def setContainer(self, container):
# container is the Stream that contains
if container is None:
self._containerId = None
self._container = None
else:
self._containerId = id(container)
self._container = common.wrapWeakref(container)
示例3: client
def client(self, client):
# client is the Stream that this derivation lives on
if client is None:
self._clientId = None
self._client = None
else:
self._clientId = id(client)
self._client = common.wrapWeakref(client)
示例4: wrapWeakref
def wrapWeakref(self):
'''Wrap all stored objects with weakrefs.
'''
if not common.isWeakref(self._container):
# update id in case it has changed
self._containerId = id(self._container)
post = common.wrapWeakref(self._container)
self._container = post
示例5: add
def add(self, spanner, component):
"""Add a spanner and one or more component references.
The `spanner` is the object represent the connections, such as a Slur or GroupBracket.
The `component` is one or more (a list) objects, such as Note or Part.
If the spanner already exists, the component will be added to the components list.
>>> from music21 import *
>>> class TestMock(object): pass
>>> tm1 = TestMock()
>>> n1 = note.Note('c2')
>>> n2 = note.Note('g3')
>>> sp1 = Spanners()
>>> sp1.add(tm1, [n1, n2])
>>> len(sp1)
1
"""
idSpanner = id(spanner)
if idSpanner not in self.keys():
self._storage[idSpanner] = (common.wrapWeakref(spanner), [])
self._idRef[idSpanner] = [] # just a list
refPair = self._storage[idSpanner]
idList = self._idRef[idSpanner]
# presently this does not look for redundant entries
# store component as weak ref
if common.isListLike(component):
bundle = component
else: # just append one
bundle = [component]
for sub in bundle: # permit a lost of spanners
refPair[1].append(common.wrapWeakref(sub))
idList.append(id(sub))
示例6: client
def client(self, client):
# client is the Stream that this status lives on
self._client = common.wrapWeakref(client)
示例7: __setstate__
def __setstate__(self, state):
SlottedObject.__setstate__(self, state)
self._client = common.wrapWeakref(self._client)
示例8: __init__
def __init__(self, parent, stateInfo):
self.affectedTokens = []
self.parent = common.wrapWeakref(parent)
self.stateInfo = stateInfo
示例9: client
def client(self, referent):
self._client = common.wrapWeakref(referent)
示例10: __setstate__
def __setstate__(self, state):
common.SlottedObject.__setstate__(self, state)
if WEAKREF_ACTIVE:
self.siteWeakref = common.wrapWeakref(self.siteWeakref)
示例11: _setParent
def _setParent(self, parent):
if parent is not None:
if hasattr(parent, 'classes') and 'NotRest' in parent.classes:
self._parent = common.wrapWeakref(parent)
else:
self._parent = None
示例12: element
def element(self, expr):
self._source = common.wrapWeakref(expr)
示例13: corpus
def corpus(self, newCorpus):
self._corpus = common.wrapWeakref(newCorpus)
示例14: _setAndWrapSite
def _setAndWrapSite(self, site):
if WEAKREF_ACTIVE:
self.siteWeakref = common.wrapWeakref(site)
else:
self.siteWeakref = site
示例15: _setParent
def _setParent(self, parent):
self._parent = common.wrapWeakref(parent)