voicemeeter-compact/vmcompact/data.py
onyx-and-iris 26832b3cb9 changes to level updates
strip/bus levels compared by index iteratively.

strip/bus level array size added to _base_vals dataclass. Helps to keep track of level array size when switching between kinds.

level_offset class attributes added to strip/bus/gainlayer labelframe classes.

watch_levels adjusted to only updated frames when a level has changed.
2022-04-14 17:25:26 +01:00

44 lines
1011 B
Python

from dataclasses import dataclass
from voicemeeter import kinds
@dataclass
class BaseValues:
level_height: int = 100
level_width: int = 80
# are we dragging a scale with mouse 1
in_scale_button_1: bool = False
# are we dragging main window with mouse 1
dragging: bool = False
# direction the gui extends
extends_horizontal: bool = True
# a vban connection established
vban_connected: bool = False
# are themes enabled
themes_enabled: bool = True
# are we using a theme
using_theme: bool = False
# bus assigned as current submix
submixes: int = 0
# pdirty delay
pdelay: int = 5
# ldirty delay
ldelay: int = 50
# size of strip level array for a kind
strip_level_array_size: int = None
# size of bus level array for a kind
bus_level_array_size: int = None
_base_vals = BaseValues()
_kinds = {kind.id: kind for kind in kinds.all}
_kinds_all = _kinds.values()
def kind_get(kind_id):
return _kinds[kind_id]