mirror of
https://github.com/onyx-and-iris/nvda-voicemeeter.git
synced 2025-04-19 20:13:46 +01:00
Compare commits
No commits in common. "bfdc0306e3c33db9676af9f8694a898ddbb24c2c" and "14c6b937d15717e5a6b9a815e15b3413e767b8b9" have entirely different histories.
bfdc0306e3
...
14c6b937d1
@ -1,6 +1,6 @@
|
|||||||
[project]
|
[project]
|
||||||
name = "nvda_voicemeeter"
|
name = "nvda_voicemeeter"
|
||||||
version = "0.2.0"
|
version = "0.1.3"
|
||||||
description = "A Voicemeeter app compatible with NVDA"
|
description = "A Voicemeeter app compatible with NVDA"
|
||||||
authors = [
|
authors = [
|
||||||
{ name = "onyx-and-iris", email = "code@onyxandiris.online" },
|
{ name = "onyx-and-iris", email = "code@onyxandiris.online" },
|
||||||
|
@ -102,6 +102,8 @@ class Builder:
|
|||||||
"""tab0 row1 represents hardware outs"""
|
"""tab0 row1 represents hardware outs"""
|
||||||
|
|
||||||
def add_physical_device_opts(layout):
|
def add_physical_device_opts(layout):
|
||||||
|
devices = get_output_device_list(self.vm)
|
||||||
|
devices.append("- remove device selection -")
|
||||||
if self.kind.name == "basic":
|
if self.kind.name == "basic":
|
||||||
num_outs = self.kind.phys_out + self.kind.virt_out
|
num_outs = self.kind.phys_out + self.kind.virt_out
|
||||||
else:
|
else:
|
||||||
@ -111,7 +113,7 @@ class Builder:
|
|||||||
psg.ButtonMenu(
|
psg.ButtonMenu(
|
||||||
f"A{i + 1}",
|
f"A{i + 1}",
|
||||||
size=(6, 3),
|
size=(6, 3),
|
||||||
menu_def=["", get_output_device_list(i, self.vm)],
|
menu_def=["", devices],
|
||||||
key=f"HARDWARE OUT||A{i + 1}",
|
key=f"HARDWARE OUT||A{i + 1}",
|
||||||
)
|
)
|
||||||
for i in range(num_outs)
|
for i in range(num_outs)
|
||||||
|
@ -13,32 +13,12 @@ def get_insert_checkbox_index(kind, channel, num) -> int:
|
|||||||
return (2 * kind.phys_in) + (8 * (num - kind.phys_in - 1)) + channel
|
return (2 * kind.phys_in) + (8 * (num - kind.phys_in - 1)) + channel
|
||||||
|
|
||||||
|
|
||||||
_rejected_ids = (
|
|
||||||
"VBAudio100VMVAIO3",
|
|
||||||
"{F5735BD4-6EAF-4758-9710-9886E5AD0FF3}",
|
|
||||||
"{0239BE07-CEEF-4236-A900-AA778D432FD4}",
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def get_input_device_list(vm) -> list:
|
def get_input_device_list(vm) -> list:
|
||||||
devices = []
|
return ["{type}: {name}".format(**vm.device.input(i)) for i in range(vm.device.ins)]
|
||||||
for j in range(vm.device.ins):
|
|
||||||
device = vm.device.input(j)
|
|
||||||
if device["id"] not in _rejected_ids:
|
|
||||||
devices.append("{type}: {name}".format(**device))
|
|
||||||
return devices
|
|
||||||
|
|
||||||
|
|
||||||
def get_output_device_list(i, vm) -> list:
|
def get_output_device_list(vm) -> list:
|
||||||
devices = []
|
return ["{type}: {name}".format(**vm.device.output(i)) for i in range(vm.device.outs)]
|
||||||
for j in range(vm.device.outs):
|
|
||||||
device = vm.device.output(j)
|
|
||||||
if device["id"] not in _rejected_ids:
|
|
||||||
devices.append("{type}: {name}".format(**device))
|
|
||||||
if i == 0:
|
|
||||||
return devices
|
|
||||||
devices.append("- remove device selection -")
|
|
||||||
return [device for device in devices if not device.startswith("asio")]
|
|
||||||
|
|
||||||
|
|
||||||
def get_patch_composite_list(kind) -> list:
|
def get_patch_composite_list(kind) -> list:
|
||||||
|
@ -168,7 +168,6 @@ class NVDAVMWindow(psg.Window):
|
|||||||
|
|
||||||
# Advanced Settings
|
# Advanced Settings
|
||||||
if self.kind.name != "basic":
|
if self.kind.name != "basic":
|
||||||
self["ADVANCED SETTINGS"].bind("<FocusIn>", "||FOCUS IN")
|
|
||||||
self["ADVANCED SETTINGS"].bind("<Return>", "||KEY ENTER")
|
self["ADVANCED SETTINGS"].bind("<Return>", "||KEY ENTER")
|
||||||
|
|
||||||
# Strip Params
|
# Strip Params
|
||||||
@ -298,11 +297,8 @@ class NVDAVMWindow(psg.Window):
|
|||||||
]
|
]
|
||||||
return psg.Frame("BUFFERING", buffer)
|
return psg.Frame("BUFFERING", buffer)
|
||||||
|
|
||||||
layout = []
|
buffer_frame = _make_buffering_frame()
|
||||||
steps = (_make_buffering_frame,)
|
layout = [[buffer_frame], [psg.Button("Exit")]]
|
||||||
for step in steps:
|
|
||||||
layout.append([step()])
|
|
||||||
layout.append([psg.Button("Exit", size=(8, 2))])
|
|
||||||
|
|
||||||
window = psg.Window(title, layout, finalize=True)
|
window = psg.Window(title, layout, finalize=True)
|
||||||
buttonmenu_opts = {"takefocus": 1, "highlightthickness": 1}
|
buttonmenu_opts = {"takefocus": 1, "highlightthickness": 1}
|
||||||
@ -322,11 +318,6 @@ class NVDAVMWindow(psg.Window):
|
|||||||
match parsed_cmd := self.parser.match.parseString(event):
|
match parsed_cmd := self.parser.match.parseString(event):
|
||||||
case ["BUFFER MME" | "BUFFER WDM" | "BUFFER KS" | "BUFFER ASIO"]:
|
case ["BUFFER MME" | "BUFFER WDM" | "BUFFER KS" | "BUFFER ASIO"]:
|
||||||
if values[event] == "Default":
|
if values[event] == "Default":
|
||||||
if "MME" in event:
|
|
||||||
val = 1024
|
|
||||||
elif "WDM" in event or "KS" in event:
|
|
||||||
val = 512
|
|
||||||
else:
|
|
||||||
val = 0
|
val = 0
|
||||||
else:
|
else:
|
||||||
val = int(values[event])
|
val = int(values[event])
|
||||||
@ -468,7 +459,7 @@ class NVDAVMWindow(psg.Window):
|
|||||||
setattr(self.vm.strip[index].device, "wdm", "")
|
setattr(self.vm.strip[index].device, "wdm", "")
|
||||||
self.TKroot.after(200, self.nvda.speak, f"HARDWARE IN {key} device selection removed")
|
self.TKroot.after(200, self.nvda.speak, f"HARDWARE IN {key} device selection removed")
|
||||||
case [driver, device_name]:
|
case [driver, device_name]:
|
||||||
setattr(self.vm.strip[index].device, driver, device_name.lstrip())
|
setattr(self.vm.strip[index].device, driver, device_name.strip())
|
||||||
phonetic = {"mme": "em em e"}
|
phonetic = {"mme": "em em e"}
|
||||||
self.TKroot.after(
|
self.TKroot.after(
|
||||||
200,
|
200,
|
||||||
@ -489,7 +480,7 @@ class NVDAVMWindow(psg.Window):
|
|||||||
setattr(self.vm.bus[index].device, "wdm", "")
|
setattr(self.vm.bus[index].device, "wdm", "")
|
||||||
self.TKroot.after(200, self.nvda.speak, f"HARDWARE OUT {key} device selection removed")
|
self.TKroot.after(200, self.nvda.speak, f"HARDWARE OUT {key} device selection removed")
|
||||||
case [driver, device_name]:
|
case [driver, device_name]:
|
||||||
setattr(self.vm.bus[index].device, driver, device_name.lstrip())
|
setattr(self.vm.bus[index].device, driver, device_name.strip())
|
||||||
phonetic = {"mme": "em em e"}
|
phonetic = {"mme": "em em e"}
|
||||||
self.TKroot.after(
|
self.TKroot.after(
|
||||||
200,
|
200,
|
||||||
@ -555,10 +546,7 @@ class NVDAVMWindow(psg.Window):
|
|||||||
|
|
||||||
# Advanced Settings
|
# Advanced Settings
|
||||||
case ["ADVANCED SETTINGS"] | ["CTRL-A"]:
|
case ["ADVANCED SETTINGS"] | ["CTRL-A"]:
|
||||||
if values["tabs"] == "Settings":
|
|
||||||
self.popup_advanced_settings(title="Advanced Settings")
|
self.popup_advanced_settings(title="Advanced Settings")
|
||||||
case [["ADVANCED", "SETTINGS"], ["FOCUS", "IN"]]:
|
|
||||||
self.nvda.speak("ADVANCED SETTINGS")
|
|
||||||
case [["ADVANCED", "SETTINGS"], ["KEY", "ENTER"]]:
|
case [["ADVANCED", "SETTINGS"], ["KEY", "ENTER"]]:
|
||||||
self.find_element_with_focus().click()
|
self.find_element_with_focus().click()
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user