diff --git a/README.md b/README.md index 3a605a4..f62887e 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,11 @@ # 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 -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. +This package offers a Python interface for the [Voicemeeter RT Packet Service](https://vb-audio.com/Voicemeeter/VBANProtocol_Specifications.pdf). -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 - Banana 2.0.6.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 - `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, with a timeout of 15 seconds (same as streamer view app). #### Use with a context manager: 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 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 ```python import vban_cmd @@ -141,6 +147,12 @@ Sends a string request RT Packet where the command would take the form: 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.VMCMDErrors`: Base VMCMD error class.