Update README.md

update readme.

add section for public packet updating.
This commit is contained in:
onyx-and-iris 2022-03-02 23:28:42 +00:00
parent 5aa3dc07fe
commit aaf567b77b

View File

@ -1,9 +1,11 @@
# VBAN CMD # VBAN CMD
This package offers a Python interface for the [Voicemeeter RT Packet Service](https://vb-audio.com/Voicemeeter/VBANProtocol_Specifications.pdf). It allows a client to connect to a Voicemeeter installation on a remote machine This package offers a Python interface for the [Voicemeeter RT Packet Service](https://vb-audio.com/Voicemeeter/VBANProtocol_Specifications.pdf).
so long as a valid connection can be established between both systems, and VBAN is configured correctly.
In similar fashion to the Remote API you can set and get parameters for strips/buses.
Tested against It can be used standalone as well as to extend the [Voicemeeter Remote API](https://github.com/onyx-and-iris/voicemeeter-api-python) since the two interfaces have been designed to offer the same higher level classes/methods. Not everything available in the Remote API interface is available through this one.
Only the TEXT service sub protocol has been implemented, for sending audio across a network with VBAN you will need to look elsewhere.
## Tested against
- Basic 1.0.8.1 - Basic 1.0.8.1
- Banana 2.0.6.1 - Banana 2.0.6.1
- Potato 3.0.2.1 - Potato 3.0.2.1
@ -35,17 +37,21 @@ For sending a text request (remote set) several configuration options are availa
- `port`: default 6990 - `port`: default 6990
- `bps`: bitrate of stream, default 0 should be safe for most cases. - `bps`: bitrate of stream, default 0 should be safe for most cases.
pass these values as arguments to vban_cmd.connect() as show in the example below. Pass these values as arguments to vban_cmd.connect() as show in the example below.
Regarding fetching data (remote get), the code registers itself to the RT Packet Service every 10 seconds, Regarding fetching data (remote get), the code registers itself to the RT Packet Service every 10 seconds,
with a timeout of 15 seconds (same as streamer view app). with a timeout of 15 seconds (same as streamer view app).
#### Use with a context manager: #### Use with a context manager:
Unlike the Remote API the VBAN RT Packet service has no login limitations since receiving data requires Unlike the Remote API the VBAN RT Packet service has no login limitations since receiving data requires
a client to simply register to the service. It is therefore advised to use this code only with a context manager. a client to simply register to the service. It is advised to use this code with a context manager.
Parameter coverage is not as extensive for the RT Packet Service as with the Remote API so defined below are the Parameter coverage is not as extensive for the RT Packet Service as with the Remote API so defined below are the
classes/methods available through this package. classes/methods available through this package.
Ideally this interface is used along with some background service (thread) for constantly updating the RT data packets but it can be
used directly in scripts such as Example 1.
Check examples directory for a more meaningful example.
### Example 1 ### Example 1
```python ```python
import vban_cmd import vban_cmd
@ -141,6 +147,12 @@ Sends a string request RT Packet where the command would take the form:
f'{id_}.{param}={val}' f'{id_}.{param}={val}'
``` ```
#### `vban._get_rt()`
Used for updating the RT data packet, used internally by the Interface.
```python
vban.public_packet = vban._get_rt()
```
### `Errors` ### `Errors`
- `errors.VMCMDErrors`: Base VMCMD error class. - `errors.VMCMDErrors`: Base VMCMD error class.