voicemeeter-compact/vmcompact/banner.py

36 lines
967 B
Python
Raw Normal View History

2022-04-11 18:35:28 +01:00
import tkinter as tk
from tkinter import ttk
from .data import _base_values
2022-04-11 18:35:28 +01:00
class Banner(ttk.Frame):
def __init__(self, parent):
super().__init__()
self.parent = parent
2022-04-11 18:35:28 +01:00
self.submix = tk.StringVar()
self.submix.set(self.target.bus[_base_values.submixes].label)
2022-04-11 18:35:28 +01:00
self.label = ttk.Label(
self,
text=f"SUBMIX: {self.submix.get().upper()}",
)
self.label.grid(column=0, row=0, sticky=(tk.N, tk.S, tk.W, tk.E))
2022-04-11 18:35:28 +01:00
self.upd_submix()
2022-04-11 18:35:28 +01:00
@property
def target(self):
"""returns the current interface"""
return self.parent.target
2022-04-11 18:35:28 +01:00
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[_base_values.submixes].label)
2022-04-11 18:35:28 +01:00
self.label["text"] = f"SUBMIX: {self.submix.get().upper()}"
self.after(100, self.upd_submix_step)