mirror of
https://github.com/onyx-and-iris/xair-api-python.git
synced 2024-11-24 22:00:57 +00:00
db789b8342
Type annotation Self removed. python version requirement changed. tomli added as runtime dependency if py ver < 3.11 minor version bump.
67 lines
1.1 KiB
Python
67 lines
1.1 KiB
Python
from dataclasses import dataclass
|
|
|
|
"""
|
|
# osc slightly different, interface would need adjusting to support this mixer.
|
|
|
|
@dataclass
|
|
class X32KindMap:
|
|
id_: str = "X32"
|
|
num_dca: int = 8
|
|
num_strip: int = 32
|
|
num_bus: int = 16
|
|
num_fx: int = 8
|
|
num_rtn: int = 6
|
|
"""
|
|
|
|
|
|
@dataclass
|
|
class KindMap:
|
|
def __str__(self) -> str:
|
|
return self.id_
|
|
|
|
|
|
@dataclass
|
|
class MR18KindMap(KindMap):
|
|
# note ch 17-18 defined as aux rtn
|
|
id_: str
|
|
num_dca: int = 4
|
|
num_strip: int = 16
|
|
num_bus: int = 6
|
|
num_fx: int = 4
|
|
num_rtn: int = 4
|
|
|
|
|
|
@dataclass
|
|
class XR16KindMap(KindMap):
|
|
id_: str
|
|
num_dca: int = 4
|
|
num_strip: int = 16
|
|
num_bus: int = 4
|
|
num_fx: int = 4
|
|
num_rtn: int = 4
|
|
|
|
|
|
@dataclass
|
|
class XR12KindMap(KindMap):
|
|
id_: str
|
|
num_dca: int = 4
|
|
num_strip: int = 12
|
|
num_bus: int = 2
|
|
num_fx: int = 4
|
|
num_rtn: int = 4
|
|
|
|
|
|
_kinds = {
|
|
"XR18": MR18KindMap(id_="XR18"),
|
|
"MR18": MR18KindMap(id_="MR18"),
|
|
"XR16": XR16KindMap(id_="XR16"),
|
|
"XR12": XR12KindMap(id_="XR12"),
|
|
}
|
|
|
|
|
|
def get(kind_id):
|
|
return _kinds[kind_id]
|
|
|
|
|
|
all = list(kind for kind in _kinds.values())
|