mirror of
https://github.com/onyx-and-iris/duckypad-twitch.git
synced 2026-01-09 13:07:47 +00:00
keep audio states synced with mdirty
This commit is contained in:
parent
f94936777a
commit
bb10786b94
@ -22,6 +22,7 @@ class Audio(ILayer):
|
|||||||
super().__init__(duckypad)
|
super().__init__(duckypad)
|
||||||
for attr, val in kwargs.items():
|
for attr, val in kwargs.items():
|
||||||
setattr(self, attr, val)
|
setattr(self, attr, val)
|
||||||
|
self.vm.observer.add(self.on_mdirty)
|
||||||
|
|
||||||
self.reset_states()
|
self.reset_states()
|
||||||
|
|
||||||
@ -42,6 +43,12 @@ class Audio(ILayer):
|
|||||||
for button in Buttons:
|
for button in Buttons:
|
||||||
self.vm.button[button].stateonly = getattr(AudioState, button.name)
|
self.vm.button[button].stateonly = getattr(AudioState, button.name)
|
||||||
|
|
||||||
|
def on_mdirty(self):
|
||||||
|
"""Handle Voicemeeter dirty event"""
|
||||||
|
self.logger.debug('Voicemeeter state changed (mdirty event)')
|
||||||
|
for button in Buttons:
|
||||||
|
setattr(self.state, button.name, self.vm.button[button].stateonly)
|
||||||
|
|
||||||
def mute_mics(self):
|
def mute_mics(self):
|
||||||
self.state.mute_mics = not self.state.mute_mics
|
self.state.mute_mics = not self.state.mute_mics
|
||||||
if self.state.mute_mics:
|
if self.state.mute_mics:
|
||||||
|
|||||||
@ -58,7 +58,7 @@ def run():
|
|||||||
xair_config = configuration.get('xair')
|
xair_config = configuration.get('xair')
|
||||||
|
|
||||||
with (
|
with (
|
||||||
voicemeeterlib.api('potato') as vm,
|
voicemeeterlib.api('potato', mdirty=True) as vm,
|
||||||
xair_api.connect('MR18', **xair_config) as mixer,
|
xair_api.connect('MR18', **xair_config) as mixer,
|
||||||
duckypad_twitch.connect(vm=vm, mixer=mixer) as duckypad,
|
duckypad_twitch.connect(vm=vm, mixer=mixer) as duckypad,
|
||||||
):
|
):
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user