37 lines
745 B
Python
37 lines
745 B
Python
from dataclasses import dataclass, asdict, field
|
|
from typing import Dict, List, Any, Optional
|
|
from datetime import datetime
|
|
|
|
@dataclass
|
|
class FilterConfig:
|
|
type: str
|
|
frequency: float
|
|
q: float
|
|
gain: float
|
|
slope: int
|
|
enable: bool
|
|
|
|
|
|
|
|
@dataclass
|
|
class ChannelConfig:
|
|
delay_data: float
|
|
vol_data: float
|
|
mix_left_data: float
|
|
mix_right_data: float
|
|
filters: List[FilterConfig]
|
|
|
|
@dataclass
|
|
class ParamConfig:
|
|
name: str
|
|
created_at: str
|
|
description: str
|
|
channels: Dict[int, ChannelConfig] = field(default_factory=dict)
|
|
|
|
@dataclass
|
|
class ProjectData:
|
|
name: str
|
|
created_at: str
|
|
last_modified: str
|
|
description: str
|
|
params: Dict[str, ParamConfig] = field(default_factory=dict) |