1
2 from Resource import StackingResource
3 from Util import lazy_attribute
4 from Disconnectable import Disconnectable
5 from Dependency import depends
6 import Task
9 """
10 Base class for all classes representing control elements on a
11 control surface
12 """
13 canonical_parent = None
14 name = ''
15 optimized_send_midi = True
16 _has_resource = False
17 _resource_type = StackingResource
18 _has_task_group = False
19
20 @depends(send_midi=None, register_control=None)
21 - def __init__(self, name = '', resource_type = None, optimized_send_midi = None, send_midi = None, register_control = None, *a, **k):
30
34
38
41
43 raise NotImplementedError
44
45 @property
48
49 @lazy_attribute
53
54 @lazy_attribute
55 @depends(parent_task_group=Task.TaskGroup)
56 - def _tasks(self, parent_task_group = None):
60
63
66