mirror of
https://github.com/onyx-and-iris/duckypad-twitch.git
synced 2025-01-18 12:10:47 +00:00
76 lines
2.7 KiB
Python
76 lines
2.7 KiB
Python
import logging
|
|
|
|
import keyboard
|
|
import voicemeeterlib
|
|
import xair_api
|
|
|
|
import duckypad_twitch
|
|
from duckypad_twitch import configuration
|
|
|
|
logging.basicConfig(level=logging.INFO)
|
|
|
|
|
|
def register_hotkeys(duckypad):
|
|
def audio_hotkeys():
|
|
keyboard.add_hotkey('F13', duckypad.audio.mute_mics)
|
|
keyboard.add_hotkey('F14', duckypad.audio.only_discord)
|
|
keyboard.add_hotkey('F15', duckypad.audio.only_stream)
|
|
keyboard.add_hotkey('F16', duckypad.audio.sound_test)
|
|
keyboard.add_hotkey('F17', duckypad.audio.solo_onyx)
|
|
keyboard.add_hotkey('F18', duckypad.audio.solo_iris)
|
|
keyboard.add_hotkey('F19', duckypad.audio.toggle_workstation_to_onyx)
|
|
|
|
def scene_hotkeys():
|
|
keyboard.add_hotkey('ctrl+F13', duckypad.scene.onyx_only)
|
|
keyboard.add_hotkey('ctrl+F14', duckypad.scene.iris_only)
|
|
keyboard.add_hotkey('ctrl+F15', duckypad.scene.dual_scene)
|
|
keyboard.add_hotkey('ctrl+F16', duckypad.scene.onyx_big)
|
|
keyboard.add_hotkey('ctrl+F17', duckypad.scene.iris_big)
|
|
keyboard.add_hotkey('ctrl+F18', duckypad.scene.start)
|
|
keyboard.add_hotkey('ctrl+F19', duckypad.scene.brb)
|
|
keyboard.add_hotkey('ctrl+F20', duckypad.scene.end)
|
|
|
|
def obsws_hotkeys():
|
|
keyboard.add_hotkey('ctrl+alt+F13', duckypad.obsws.start)
|
|
keyboard.add_hotkey('ctrl+alt+F14', duckypad.obsws.brb)
|
|
keyboard.add_hotkey('ctrl+alt+F15', duckypad.obsws.end)
|
|
keyboard.add_hotkey('ctrl+alt+F16', duckypad.obsws.live)
|
|
keyboard.add_hotkey('ctrl+alt+F17', duckypad.obsws.toggle_mute_mic)
|
|
keyboard.add_hotkey('ctrl+alt+F18', duckypad.obsws.toggle_stream)
|
|
|
|
def streamlabs_controller_hotkeys():
|
|
keyboard.add_hotkey('ctrl+F22', duckypad.streamlabs_controller.begin_stream)
|
|
keyboard.add_hotkey('ctrl+F23', duckypad.streamlabs_controller.end_stream)
|
|
keyboard.add_hotkey('ctrl+alt+F23', duckypad.streamlabs_controller.launch, args=(10,))
|
|
keyboard.add_hotkey('ctrl+alt+F24', duckypad.streamlabs_controller.shutdown)
|
|
|
|
def duckypad_hotkeys():
|
|
keyboard.add_hotkey('ctrl+F21', duckypad.reset)
|
|
|
|
for step in (
|
|
audio_hotkeys,
|
|
scene_hotkeys,
|
|
obsws_hotkeys,
|
|
streamlabs_controller_hotkeys,
|
|
duckypad_hotkeys,
|
|
):
|
|
step()
|
|
|
|
|
|
def main():
|
|
xair_config = configuration.get('xair')
|
|
|
|
with voicemeeterlib.api('potato') as vm:
|
|
with xair_api.connect('MR18', **xair_config) as mixer:
|
|
with duckypad_twitch.connect(vm=vm, mixer=mixer) as duckypad:
|
|
vm.apply_config('streaming_extender') # extends the streaming config
|
|
|
|
register_hotkeys(duckypad)
|
|
|
|
print('press ctrl+m to quit')
|
|
keyboard.wait('ctrl+m')
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|