mirror of
https://github.com/onyx-and-iris/nvda-addon-voicemeeter.git
synced 2026-04-07 20:13:30 +00:00
Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 26de3d90b9 | |||
| e14ea5f23c | |||
| e9b9295a46 | |||
| 2db268551c | |||
| 0be7919f12 | |||
| ab728f0a32 | |||
| 050e0336b8 | |||
| f49b04d4f6 |
71
README.md
71
README.md
@@ -4,9 +4,9 @@ Control Voicemeeter with global hotkeys.
|
|||||||
|
|
||||||
## Install
|
## Install
|
||||||
|
|
||||||
This addon can be installed through the Add-on store, `Install from external source`. Simply download the latest Release and load it with NVDA.
|
This addon can be installed through the Add-on store, `Install from external source`. Simply download the [latest Release](https://github.com/onyx-and-iris/nvda-addon-voicemeeter/releases) and load it with NVDA.
|
||||||
|
|
||||||
## Keybinds
|
## Default Keybinds
|
||||||
|
|
||||||
### Controllers
|
### Controllers
|
||||||
|
|
||||||
@@ -47,7 +47,74 @@ This addon can be installed through the Add-on store, `Install from external sou
|
|||||||
- `NVDA+shift+c`: MC
|
- `NVDA+shift+c`: MC
|
||||||
- `NVDA+shift+k`: Karaoke
|
- `NVDA+shift+k`: Karaoke
|
||||||
|
|
||||||
|
### Bus Assignments (A1-A5|B1-B3)
|
||||||
|
|
||||||
|
- `NVDA+shift+1`: Toggle BUS assignment 1 for a strip
|
||||||
|
- `NVDA+shift+2`: Toggle BUS assignment 2 for a strip
|
||||||
|
- `NVDA+shift+3`: Toggle BUS assignment 3 for a strip
|
||||||
|
- `NVDA+shift+4`: Toggle BUS assignment 4 for a strip
|
||||||
|
- `NVDA+shift+5`: Toggle BUS assignment 5 for a strip
|
||||||
|
- `NVDA+shift+6`: Toggle BUS assignment 6 for a strip
|
||||||
|
- `NVDA+shift+7`: Toggle BUS assignment 7 for a strip
|
||||||
|
- `NVDA+shift+8`: Toggle BUS assignment 8 for a strip
|
||||||
|
|
||||||
### Announcements
|
### Announcements
|
||||||
|
|
||||||
- `NVDA+shift+q`: Announce current controller.
|
- `NVDA+shift+q`: Announce current controller.
|
||||||
- `NVDA+shift+a`: Announce Voicemeeter kind.
|
- `NVDA+shift+a`: Announce Voicemeeter kind.
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
By placing a file named `nvda_settings.json` in `User Home Directory / Documents / Voicemeeter` (the same place as your Voicemeeter xml profiles) you can change most of the default keybinds.
|
||||||
|
|
||||||
|
The `voicemeeter` key can take one of three values:
|
||||||
|
|
||||||
|
- `basic`
|
||||||
|
- `banana`
|
||||||
|
- `potato`
|
||||||
|
|
||||||
|
example:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"voicemeeter": "banana",
|
||||||
|
"keybinds": {
|
||||||
|
"NVDA+alt+k": "strip_mode",
|
||||||
|
"NVDA+alt+l": "bus_mode",
|
||||||
|
"NVDA+alt+g": "gain_mode",
|
||||||
|
"NVDA+alt+c": "comp_mode",
|
||||||
|
"NVDA+alt+t": "gate_mode",
|
||||||
|
"NVDA+alt+d": "denoiser_mode",
|
||||||
|
"NVDA+alt+a": "audibility_mode",
|
||||||
|
"NVDA+shift+q": "announce_controller",
|
||||||
|
"NVDA+shift+z": "announce_voicemeeter_version",
|
||||||
|
"NVDA+shift+s": "toggle_solo",
|
||||||
|
"NVDA+shift+m": "toggle_mute",
|
||||||
|
"NVDA+shift+c": "toggle_mc",
|
||||||
|
"NVDA+shift+k": "karaoke",
|
||||||
|
"NVDA+shift+upArrow": "slider_increase_by_point_one",
|
||||||
|
"NVDA+shift+downArrow": "slider_decrease_by_point_one",
|
||||||
|
"NVDA+shift+alt+upArrow": "slider_increase_by_one",
|
||||||
|
"NVDA+shift+alt+downArrow": "slider_decrease_by_one",
|
||||||
|
"NVDA+shift+control+upArrow": "slider_increase_by_three",
|
||||||
|
"NVDA+shift+control+downArrow": "slider_decrease_by_three",
|
||||||
|
"NVDA+control+1": "bus_assignment",
|
||||||
|
"NVDA+control+2": "bus_assignment",
|
||||||
|
"NVDA+control+3": "bus_assignment",
|
||||||
|
"NVDA+control+4": "bus_assignment",
|
||||||
|
"NVDA+control+5": "bus_assignment",
|
||||||
|
"NVDA+control+6": "bus_assignment",
|
||||||
|
"NVDA+control+7": "bus_assignment",
|
||||||
|
"NVDA+control+8": "bus_assignment"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Would make the following changes:
|
||||||
|
|
||||||
|
- load the plugin in `banana` mode (default is potato)
|
||||||
|
- change the `strip_mode` and `bus_mode` binds to `NVDA+alt+k` and `NVDA+alt+l` respectively
|
||||||
|
- change the `announce_voicemeeter_version` bind to `NVDA+shift+z`
|
||||||
|
- changes the bus assignment binds to `NVDA+control+number`
|
||||||
|
|
||||||
|
All other binds would then be defaults.
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ from .controller import Controller
|
|||||||
from .kinds import KindId, request_kind_map
|
from .kinds import KindId, request_kind_map
|
||||||
|
|
||||||
|
|
||||||
class GlobalPlugin(globalPluginHandler.GlobalPlugin, CommandsMixin):
|
class GlobalPlugin(CommandsMixin, globalPluginHandler.GlobalPlugin):
|
||||||
__kind_id = config.get("voicemeeter", "potato")
|
__kind_id = config.get("voicemeeter", "potato")
|
||||||
__gestures = util._make_gestures(__kind_id)
|
__gestures = util._make_gestures(__kind_id)
|
||||||
|
|
||||||
|
|||||||
@@ -79,11 +79,12 @@ class CommandsMixin:
|
|||||||
ui.message("on" if val else "off")
|
ui.message("on" if val else "off")
|
||||||
|
|
||||||
def script_karaoke(self, _):
|
def script_karaoke(self, _):
|
||||||
|
opts = ["off", "k m", "k 1", "k 2", "k v"]
|
||||||
val = self.controller.ctx.get_int("karaoke") + 1
|
val = self.controller.ctx.get_int("karaoke") + 1
|
||||||
if val == 5:
|
if val == len(opts):
|
||||||
val = 0
|
val = 0
|
||||||
self.controller.ctx.set_int("karaoke", val)
|
self.controller.ctx.set_int("karaoke", val)
|
||||||
ui.message(val)
|
ui.message(opts[val])
|
||||||
|
|
||||||
def script_bus_assignment(self, gesture):
|
def script_bus_assignment(self, gesture):
|
||||||
proposed = int(gesture.displayName[-1])
|
proposed = int(gesture.displayName[-1])
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
from . import config, util
|
from . import config
|
||||||
from .kinds import request_kind_map
|
from .kinds import request_kind_map
|
||||||
|
|
||||||
|
|
||||||
@@ -41,10 +41,10 @@ def _make_gestures(kind_id):
|
|||||||
for i in range(1, kind.num_strip + 1):
|
for i in range(1, kind.num_strip + 1):
|
||||||
defaults[f"kb:NVDA+alt+{i}"] = "index"
|
defaults[f"kb:NVDA+alt+{i}"] = "index"
|
||||||
for i in range(1, kind.phys_out + kind.virt_out + 1):
|
for i in range(1, kind.phys_out + kind.virt_out + 1):
|
||||||
defaults[f"kb:NVDA+alt+{i}"] = "bus_assignment"
|
defaults[f"kb:NVDA+shift+{i}"] = "bus_assignment"
|
||||||
abc = config.get("keybinds")
|
abc = config.get("keybinds")
|
||||||
if abc:
|
if abc:
|
||||||
overrides = {f"kb:{util.remove_prefix(k, 'kb:')}": v for k, v in abc.items()}
|
overrides = {f"kb:{remove_prefix(k, 'kb:')}": v for k, v in abc.items()}
|
||||||
matching_values = set(defaults.values()).intersection(set(overrides.values()))
|
matching_values = set(defaults.values()).intersection(set(overrides.values()))
|
||||||
defaults = {k: v for k, v in defaults.items() if v not in matching_values}
|
defaults = {k: v for k, v in defaults.items() if v not in matching_values}
|
||||||
return {**defaults, **overrides}
|
return {**defaults, **overrides}
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ addon_info = {
|
|||||||
The add-on requires Voicemeeter to be installed."""
|
The add-on requires Voicemeeter to be installed."""
|
||||||
),
|
),
|
||||||
# version
|
# version
|
||||||
"addon_version": "0.5",
|
"addon_version": "0.6",
|
||||||
# Author(s)
|
# Author(s)
|
||||||
"addon_author": "onyx-and-iris <code@onyxandiris.online>",
|
"addon_author": "onyx-and-iris <code@onyxandiris.online>",
|
||||||
# URL for the add-on documentation support
|
# URL for the add-on documentation support
|
||||||
|
|||||||
Reference in New Issue
Block a user