mirror of
https://github.com/onyx-and-iris/voicemeeter-compact.git
synced 2026-04-18 05:23:31 +00:00
ldirty, pdelay, ldelay added. changes to how levels are fetched
ldirty added, true iff level value has changed. fetching level arrays moved to highest level of the app. pdelay and ldelay added to _base_vals dataclass.
This commit is contained in:
@@ -61,6 +61,11 @@ class App(tk.Tk):
|
||||
|
||||
# start pdirty watcher
|
||||
self.upd_pdirty()
|
||||
self.strip_levels = None
|
||||
self.bus_levels = None
|
||||
self._strip_levels = None
|
||||
self._bus_levels = None
|
||||
self.watch_levels()
|
||||
|
||||
self.resizable(False, False)
|
||||
if _base_vals.themes_enabled:
|
||||
@@ -85,6 +90,14 @@ class App(tk.Tk):
|
||||
def pdirty(self, val):
|
||||
self._pdirty = val
|
||||
|
||||
@property
|
||||
def ldirty(self):
|
||||
return self._ldirty
|
||||
|
||||
@ldirty.setter
|
||||
def ldirty(self, val):
|
||||
self._ldirty = val
|
||||
|
||||
@property
|
||||
def configuration(self):
|
||||
return configuration["app"]
|
||||
@@ -155,7 +168,27 @@ class App(tk.Tk):
|
||||
|
||||
def upd_pdirty_step(self):
|
||||
self.pdirty = self.target.pdirty
|
||||
self.after(1, self.upd_pdirty_step)
|
||||
self.after(_base_vals.pdelay, self.upd_pdirty_step)
|
||||
|
||||
def watch_levels(self):
|
||||
self.after(1, self.watch_levels_step)
|
||||
|
||||
def watch_levels_step(self):
|
||||
"""
|
||||
Continuously fetch level arrays, only update
|
||||
if ldirty
|
||||
"""
|
||||
self._strip_levels = self.target.strip_levels
|
||||
self._bus_levels = self.target.bus_levels
|
||||
|
||||
self.ldirty = not (
|
||||
self.strip_levels == self._strip_levels
|
||||
and self.bus_levels == self._bus_levels
|
||||
)
|
||||
if self.ldirty:
|
||||
self.strip_levels = self._strip_levels
|
||||
self.bus_levels = self._bus_levels
|
||||
self.after(_base_vals.ldelay, self.watch_levels_step)
|
||||
|
||||
def dragging(self, event, *args):
|
||||
if event.widget is self:
|
||||
|
||||
Reference in New Issue
Block a user