sonnum/pysonnum/sonnum.py

47 lines
No EOL
830 B
Python

class SoundNode:
def __init__(self, order, name):
self.order = order
self.name = name
self.properties = dict() # {k: v}
def __repr__(self):
return f'{self.order}:{self.name}'
def g(self, k):
return self.properties.get(k)
def s(self, k, v):
self.properties[k] = v
class Sonnum:
def __init__(self):
self.nodes = dict() # {order: name}
self.properties = dict() # {k: v}
def add_node(self, name):
order = len(self.nodes)
self.nodes[name] = SoundNode(order, name)
return self.nodes[name]
def node_by_name(self, name):
for order, node in self.nodes.items():
if node.name == name:
return node
def node_by_order(self, order):
return self.nodes.get(order)
def g(self, k):
return self.properties.get(k)
def s(self, k, v):
self.properties[k] = v