rename the entry point

vban instructions are only outbound for Audio.toggle_workstation_to_onyx()

upd readme
This commit is contained in:
onyx-and-iris 2025-03-12 17:13:34 +00:00
parent 917352772f
commit 8fd35408d5
5 changed files with 12 additions and 12 deletions

View File

@ -10,11 +10,6 @@
- [Installation](#installation)
- [License](#license)
## Installation
```console
pip install duckypad-twitch
```
## About
@ -31,15 +26,19 @@ Packages used in this codebase:
## Need for a custom driver
We use a three pc streaming setup, one gaming pc for each of us and a third pc that handles the stream. Both of our microphones, as well as both gaming pc are wired into an [MR18 mixer](https://www.midasconsoles.com/product.html?modelCode=P0C8H) which itself is connected to the streaming pc. Then we vban our microphones from the workstation off to each of our pcs in order to talk in-game. All audio is routed through [Voicemeeter][voicemeeter], which itself is connected to Studio ONE daw for background noise removal. Any voice communication software (such as Discord) is therefore installed onto the workstation, separate of our gaming pcs.
We use a triple pc streaming setup, one gaming pc for each of us and a third pc that handles the stream.
If you've ever attempted to setup a dual pc streaming setup, you may appreciate the audio challenges of a three pc setup.
- Both of our microphones, as well as both gaming pc are wired into an [MR18 mixer][mr18] which itself is connected to the streaming pc.
- Then we vban our microphones from the workstation off to each of our pcs in order to talk in-game. All audio is routed through [Voicemeeter][voicemeeter].
- Voicemeeter is connected to Studio ONE daw for background noise removal. Any voice communication software (such as Discord) is therefore installed onto the workstation, separate of our gaming pcs.
If you've ever attempted to setup a dual pc streaming setup, you may appreciate the challenges of a triple pc setup.
## Details about the code
This is a tightly coupled implementation meaning it is not designed for public use, it is purely a demonstration.
This package is for demonstration purposes only. Several of the interfaces on which it depends have been tightly coupled into a duckypad macros program.
- All keybindings are defined in `__main__.py`.
- The package entry point can be found at `duckypad_twitch.macros.duckypad`.
- A base DuckyPad class in duckypad.py is used to connect the various layers of the driver.
- Most of the audio routing for the dual stream is handled in the `Audio class` in audio.py with the aid of Voicemeeter's Remote API.
- Some communication with the Xair mixer and the vban protocol can also be found in this class.
@ -62,3 +61,4 @@ This is a tightly coupled implementation meaning it is not designed for public u
[obsws-python]: https://github.com/aatikturk/obsws-python
[slobs-websocket]: https://github.com/onyx-and-iris/slobs_websocket
[voicemeeter]: https://voicemeeter.com/
[mr18]: https://www.midasconsoles.com/product.html?modelCode=P0C8H

View File

@ -136,12 +136,12 @@ class Audio(ILayer):
self.state.ws_to_onyx = not self.state.ws_to_onyx
onyx_conn = configuration.get('vban_onyx')
if self.state.ws_to_onyx:
with vban_cmd.api('potato', **onyx_conn) as vban:
with vban_cmd.api('potato', outbound=True, **onyx_conn) as vban:
vban.vban.instream[0].on = True
self.vm.strip[5].gain = -6
self.vm.vban.outstream[2].on = True
else:
with vban_cmd.api('potato', **onyx_conn) as vban:
with vban_cmd.api('potato', outbound=True, **onyx_conn) as vban:
vban.vban.instream[0].on = False
self.vm.strip[5].gain = 0
self.vm.vban.outstream[2].on = False

View File

@ -36,7 +36,7 @@ dependencies = [
]
[project.scripts]
duckypad-cli = "duckypad_twitch.cli:run"
duckypad-macros = "duckypad_twitch.macros:run"
[project.urls]
Documentation = "https://github.com/unknown/duckypad-twitch#readme"