Last active 1746051107

vmpoll.py Raw
1#!/usr/bin/env python
2import voicemeeterlib # pip install voicemeeter-lib
3from subprocess import check_output
4from time import sleep
5DEBUG = False
6DEVICE = "Headphones (Bose QuietComfort 35 Series 2 Stereo)" # TODO update with your device name
7CMD = "Get-PnpDevice -presentonly | Where-Object FriendlyName -eq '{}'"
8def debug(*msg):
9 if DEBUG: print(*msg)
10while True:
11 with voicemeeterlib.api('banana') as vm:
12 bus_device = vm.bus[1].device.name == DEVICE
13 debug()
14 debug(bus_device)
15 if check_output(["powershell", "-Command", CMD.format(DEVICE)]):
16 if not bus_device: vm.bus[1].device.wdm = DEVICE
17 debug(True, bus_device)
18 else:
19 if bus_device: vm.bus[1].device.wdm = ""
20 debug(False, bus_device)
21 bus_device = vm.bus[1].device.name == DEVICE
22 debug(bus_device)
23 sleep(1)