brisonus_app_eq/persistence/models.py

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)