音乐乐器与乐谱相关知识详解
1. 乐器铰接与数据访问
1.1 乐器铰接
在乐器基础类(InstrumentBase)中包含了一个铰接列表,结合父引用,能轻松累积乐器的完整铰接集。具体做法是先获取乐器自身的铰接,再通过父引用找到乐器所属的家族,添加其中的铰接,接着沿着指针找到乐器类别,依此类推。以下是 InstrumentBase 类中的实现代码:
class InstrumentBase(object):
def __init__(self, name, parent=None):
self.__name = name
self.__parent = parent
self.__articulations = []
def get_native_articulations(self):
return list(self.__articulations) # 列表可变,但每个铰接不可变
def get_articulations(self):
art_list = self.get_native_articulations()
parent = self.parent
while parent is not None:
art_list.extend(parent.get_native_articulations())
parent = parent.parent
return art_list
</
超级会员免费看
订阅专栏 解锁全文
663

被折叠的 条评论
为什么被折叠?



