mirror of
https://github.com/onyx-and-iris/voicemeeter-compact.git
synced 2026-04-18 13:33:30 +00:00
gui rewritten with builder classes and observables
gui rewritten with builder classes and observables
This commit is contained in:
32
vmcompact/subject.py
Normal file
32
vmcompact/subject.py
Normal file
@@ -0,0 +1,32 @@
|
||||
class Subject:
|
||||
def __init__(self):
|
||||
"""list of current observers"""
|
||||
|
||||
self._observables = []
|
||||
|
||||
def notify(self, modifier=None):
|
||||
"""Alert the observers"""
|
||||
|
||||
for observer in self._observables:
|
||||
observer.update()
|
||||
|
||||
def add(self, observer):
|
||||
"""adds an observer to observables"""
|
||||
|
||||
if observer not in self._observables:
|
||||
self._observables.append(observer)
|
||||
|
||||
def remove(self, observer):
|
||||
"""removes an observer from observables"""
|
||||
|
||||
try:
|
||||
self._observables.remove(observer)
|
||||
except ValueError:
|
||||
pass
|
||||
|
||||
def get(self) -> list:
|
||||
"""returns the current observables"""
|
||||
return self._observables
|
||||
|
||||
def clear(self):
|
||||
self._observables.clear()
|
||||
Reference in New Issue
Block a user