mirror of
https://github.com/onyx-and-iris/nvda-voicemeeter.git
synced 2024-11-22 10:00:46 +00:00
number of patch composite buttons fixed
for banana and potato kinds voicemeeter-api dependency bump patch bump
This commit is contained in:
parent
9cd65737e5
commit
912eb8c14d
6
pdm.lock
6
pdm.lock
@ -251,13 +251,13 @@ files = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "voicemeeter-api"
|
name = "voicemeeter-api"
|
||||||
version = "2.4.10"
|
version = "2.4.11"
|
||||||
requires_python = ">=3.10,<4.0"
|
requires_python = ">=3.10,<4.0"
|
||||||
summary = "A Python wrapper for the Voiceemeter API"
|
summary = "A Python wrapper for the Voiceemeter API"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"tomli<3.0.0,>=2.0.1; python_version < \"3.11\"",
|
"tomli<3.0.0,>=2.0.1; python_version < \"3.11\"",
|
||||||
]
|
]
|
||||||
files = [
|
files = [
|
||||||
{file = "voicemeeter_api-2.4.10-py3-none-any.whl", hash = "sha256:2f75acb7b472e56b6bd8d4f1141f32d948c55ef9b30d5a08e085a1c8e76e2464"},
|
{file = "voicemeeter_api-2.4.11-py3-none-any.whl", hash = "sha256:7a1b290d90c851204438c18e2d343e568c242fcd1e664c5b88d4019a553d44e1"},
|
||||||
{file = "voicemeeter_api-2.4.10.tar.gz", hash = "sha256:1d8dfc1e8922179f8b97c90b90b9ed051082018c6af5feb1d48250140a02d40c"},
|
{file = "voicemeeter_api-2.4.11.tar.gz", hash = "sha256:875591ad326a7a13ef141536cca83953edcda81da256191bab3844bac46a0e70"},
|
||||||
]
|
]
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
[project]
|
[project]
|
||||||
name = "nvda_voicemeeter"
|
name = "nvda_voicemeeter"
|
||||||
version = "0.5.1"
|
version = "0.5.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" },
|
||||||
@ -8,7 +8,7 @@ authors = [
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"pysimplegui>=4.60.5",
|
"pysimplegui>=4.60.5",
|
||||||
"pyparsing>=3.1.1",
|
"pyparsing>=3.1.1",
|
||||||
"voicemeeter-api>=2.4.10",
|
"voicemeeter-api>=2.4.11",
|
||||||
]
|
]
|
||||||
requires-python = ">=3.10,<3.12"
|
requires-python = ">=3.10,<3.12"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
|
@ -206,7 +206,7 @@ class Builder:
|
|||||||
menu_def=["", outputs],
|
menu_def=["", outputs],
|
||||||
key=f"PATCH COMPOSITE||PC{i + 1}",
|
key=f"PATCH COMPOSITE||PC{i + 1}",
|
||||||
)
|
)
|
||||||
for i in range(self.kind.phys_out)
|
for i in range(self.kind.composite)
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -47,7 +47,7 @@ class NVDAVMWindow(psg.Window):
|
|||||||
if self.kind.name == "basic":
|
if self.kind.name == "basic":
|
||||||
self["HARDWARE OUT||A2"].Widget.config(**buttonmenu_opts)
|
self["HARDWARE OUT||A2"].Widget.config(**buttonmenu_opts)
|
||||||
if self.kind.name != "basic":
|
if self.kind.name != "basic":
|
||||||
[self[f"PATCH COMPOSITE||PC{i + 1}"].Widget.config(**buttonmenu_opts) for i in range(self.kind.phys_out)]
|
[self[f"PATCH COMPOSITE||PC{i + 1}"].Widget.config(**buttonmenu_opts) for i in range(self.kind.composite)]
|
||||||
slider_opts = {"takefocus": 1, "highlightthickness": 1}
|
slider_opts = {"takefocus": 1, "highlightthickness": 1}
|
||||||
for i in range(self.kind.num_strip):
|
for i in range(self.kind.num_strip):
|
||||||
for param in util.get_slider_params(i, self.kind):
|
for param in util.get_slider_params(i, self.kind):
|
||||||
@ -203,7 +203,7 @@ class NVDAVMWindow(psg.Window):
|
|||||||
|
|
||||||
# Patch Composite
|
# Patch Composite
|
||||||
if self.kind.name != "basic":
|
if self.kind.name != "basic":
|
||||||
for i in range(self.vm.kind.phys_out):
|
for i in range(self.kind.composite):
|
||||||
self[f"PATCH COMPOSITE||PC{i + 1}"].bind("<FocusIn>", "||FOCUS IN")
|
self[f"PATCH COMPOSITE||PC{i + 1}"].bind("<FocusIn>", "||FOCUS IN")
|
||||||
self[f"PATCH COMPOSITE||PC{i + 1}"].bind("<space>", "||KEY SPACE", propagate=False)
|
self[f"PATCH COMPOSITE||PC{i + 1}"].bind("<space>", "||KEY SPACE", propagate=False)
|
||||||
self[f"PATCH COMPOSITE||PC{i + 1}"].bind("<Return>", "||KEY ENTER", propagate=False)
|
self[f"PATCH COMPOSITE||PC{i + 1}"].bind("<Return>", "||KEY ENTER", propagate=False)
|
||||||
@ -605,14 +605,18 @@ class NVDAVMWindow(psg.Window):
|
|||||||
val = values[f"PATCH COMPOSITE||{key}"]
|
val = values[f"PATCH COMPOSITE||{key}"]
|
||||||
index = int(key[-1]) - 1
|
index = int(key[-1]) - 1
|
||||||
self.vm.patch.composite[index].set(util.get_patch_composite_list(self.kind).index(val) + 1)
|
self.vm.patch.composite[index].set(util.get_patch_composite_list(self.kind).index(val) + 1)
|
||||||
self.TKroot.after(200, self.nvda.speak, f"PATCH COMPOSITE {key[-1]} set {val}")
|
self.TKroot.after(200, self.nvda.speak, val)
|
||||||
case [["PATCH", "COMPOSITE"], [key], ["FOCUS", "IN"]]:
|
case [["PATCH", "COMPOSITE"], [key], ["FOCUS", "IN"]]:
|
||||||
if self.find_element_with_focus() is not None:
|
if self.find_element_with_focus() is not None:
|
||||||
if values[f"PATCH COMPOSITE||{key}"]:
|
if values[f"PATCH COMPOSITE||{key}"]:
|
||||||
val = values[f"PATCH COMPOSITE||{key}"]
|
val = values[f"PATCH COMPOSITE||{key}"]
|
||||||
else:
|
else:
|
||||||
index = int(key[-1]) - 1
|
index = int(key[-1]) - 1
|
||||||
val = util.get_patch_composite_list(self.kind)[self.vm.patch.composite[index].get() - 1]
|
comp_index = self.vm.patch.composite[index].get()
|
||||||
|
if self.kind.name == "banana":
|
||||||
|
if comp_index == 64: # bus channel
|
||||||
|
comp_index = 0
|
||||||
|
val = util.get_patch_composite_list(self.kind)[comp_index - 1]
|
||||||
self.nvda.speak(f"Patch COMPOSITE {key[-1]} {val}")
|
self.nvda.speak(f"Patch COMPOSITE {key[-1]} {val}")
|
||||||
case [["PATCH", "COMPOSITE"], [key], ["KEY", "SPACE" | "ENTER"]]:
|
case [["PATCH", "COMPOSITE"], [key], ["KEY", "SPACE" | "ENTER"]]:
|
||||||
util.open_context_menu_for_buttonmenu(self, f"PATCH COMPOSITE||{key}")
|
util.open_context_menu_for_buttonmenu(self, f"PATCH COMPOSITE||{key}")
|
||||||
|
Loading…
Reference in New Issue
Block a user