mirror of
https://github.com/onyx-and-iris/voicemeeter-compact.git
synced 2026-04-18 05:23:31 +00:00
use subject class to notify of busmix update
update messageboxes
This commit is contained in:
@@ -1,15 +1,19 @@
|
||||
import logging
|
||||
import tkinter as tk
|
||||
from tkinter import ttk
|
||||
|
||||
from .data import _base_values, _configuration
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class Banner(ttk.Frame):
|
||||
def __init__(self, parent):
|
||||
super().__init__()
|
||||
self.parent = parent
|
||||
self.submix = tk.StringVar()
|
||||
self.submix.set(self.target.bus[_configuration.submixes].label)
|
||||
self.parent.subject.add(self)
|
||||
self.logger = logger.getChild(self.__class__.__name__)
|
||||
self.submix = tk.StringVar(value=self.target.bus[_configuration.submixes].label)
|
||||
|
||||
self.label = ttk.Label(
|
||||
self,
|
||||
@@ -17,19 +21,15 @@ class Banner(ttk.Frame):
|
||||
)
|
||||
self.label.grid(column=0, row=0, sticky=(tk.N, tk.S, tk.W, tk.E))
|
||||
|
||||
self.upd_submix()
|
||||
|
||||
@property
|
||||
def target(self):
|
||||
"""returns the current interface"""
|
||||
|
||||
return self.parent.target
|
||||
|
||||
def upd_submix(self):
|
||||
self.after(1, self.upd_submix_step)
|
||||
|
||||
def upd_submix_step(self):
|
||||
if not _base_values.dragging:
|
||||
self.submix.set(self.target.bus[_configuration.submixes].label)
|
||||
self.label["text"] = f"SUBMIX: {self.submix.get().upper()}"
|
||||
self.after(100, self.upd_submix_step)
|
||||
def on_update(self, subject):
|
||||
if subject == "submix":
|
||||
if not _base_values.dragging:
|
||||
self.logger.debug("checking submix for banner")
|
||||
self.submix.set(self.target.bus[_configuration.submixes].label)
|
||||
self.label["text"] = f"SUBMIX: {self.submix.get().upper()}"
|
||||
|
||||
Reference in New Issue
Block a user