mirror of
https://github.com/onyx-and-iris/voicemeeter-compact.git
synced 2024-11-21 12:20:56 +00:00
updates to events, callbacks
This commit is contained in:
parent
fc20bb0c1e
commit
944ef9ca1c
@ -5,7 +5,7 @@ from typing import NamedTuple
|
||||
|
||||
from .builders import MainFrameBuilder
|
||||
from .data import _base_values, _configuration, _kinds_all
|
||||
from .errors import VMCompactErrors
|
||||
from .errors import VMCompactError
|
||||
from .menu import Menus
|
||||
from .subject import Subject
|
||||
|
||||
@ -34,8 +34,8 @@ class App(tk.Tk):
|
||||
super().__init__()
|
||||
|
||||
self._vmr = vmr
|
||||
self._vmr.event.ldirty = True
|
||||
self._vmr.event.remove(["mdirty", "midi"])
|
||||
self._vmr.event.add(["pdirty", "ldirty"])
|
||||
self._vmr.init_thread()
|
||||
icon_path = Path(__file__).parent.resolve() / "img" / "cat.ico"
|
||||
if icon_path.is_file():
|
||||
self.iconbitmap(str(icon_path))
|
||||
@ -51,6 +51,9 @@ class App(tk.Tk):
|
||||
self.drag_id = ""
|
||||
self.bind("<Configure>", self.dragging)
|
||||
|
||||
def __str__(self):
|
||||
return f"{type(self).__name__}App"
|
||||
|
||||
@property
|
||||
def target(self):
|
||||
"""returns the current interface"""
|
||||
@ -76,7 +79,7 @@ class App(tk.Tk):
|
||||
self.kind = kind
|
||||
|
||||
# register app as observer
|
||||
self.target.subject.add(self)
|
||||
self.target.subject.add([self.on_pdirty, self.on_ldirty])
|
||||
|
||||
self.bus_frame = None
|
||||
self.submix_frame = None
|
||||
@ -91,12 +94,12 @@ class App(tk.Tk):
|
||||
if self.kind.name == "potato":
|
||||
self.builder.create_banner()
|
||||
|
||||
def on_update(self, subject):
|
||||
"""called whenever notified of update"""
|
||||
|
||||
if subject == "pdirty" and _base_values.run_update:
|
||||
def on_pdirty(self):
|
||||
if _base_values.run_update:
|
||||
self.after(1, self.subject.notify, "pdirty")
|
||||
elif subject == "ldirty" and not _base_values.dragging:
|
||||
|
||||
def on_ldirty(self):
|
||||
if not _base_values.dragging:
|
||||
self.after(1, self.subject.notify, "ldirty")
|
||||
|
||||
def _destroy_top_level_frames(self):
|
||||
@ -137,5 +140,5 @@ def connect(kind_id: str, vmr) -> App:
|
||||
try:
|
||||
VMMIN_cls = _apps[kind_id]
|
||||
except KeyError:
|
||||
raise VMCompactErrors(f"Invalid kind: {kind_id}")
|
||||
raise VMCompactError(f"Invalid kind: {kind_id}")
|
||||
return VMMIN_cls(vmr)
|
||||
|
Loading…
Reference in New Issue
Block a user