From 69263c22f2667b9f2984ee606841868a2546f263 Mon Sep 17 00:00:00 2001 From: onyx-and-iris Date: Sun, 1 Mar 2026 17:04:37 +0000 Subject: [PATCH] add 2.7.0 to CHANGELOG --- CHANGELOG.md | 18 ++++++++++++++++++ README.md | 29 +++++++++++++++++++++-------- pyproject.toml | 2 +- 3 files changed, 40 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 06faf02..78fe5f1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,24 @@ Before any major/minor/patch bump all unit tests will be run to verify they pass - [x] +## [2.7.0] - 2026-03-01 + +### Added + +- new kind `matrix` has been added, it does two things: + - scales the interface according to `potato` kind, in practice this has no affect but it's required by the builder classes. + - disables the rt listener threads since we aren't expecting to receive any from a Matrix VBAN server. + - however, matrix responses may still be received with the {VbanCmd}.sendtext() method. + +### Changed + +- `outbound` kwarg has been renamed to `disable_rt_listeners`. Since it's job is to disable the listener threads for incoming RT packets this new name is more descriptive. +- dataclasses representing packet headers and packets with ident:0 and ident:1 have been moved into an internal packet module. + +### Removed + +- {VbanCmd}.sendtext() @script decorator removed. It's purpose was to attempt to convert a dictionary to a script but it was poorly implemented and there exists the {VbanCmd}.apply() method already. + ## [2.6.0] - 2026-02-26 ### Added diff --git a/README.md b/README.md index 846ecd9..eb2b47c 100644 --- a/README.md +++ b/README.md @@ -8,19 +8,19 @@ # VBAN CMD -This python interface allows you to transmit Voicemeeter parameters over a network. +This python interface allows you to send Voicemeeter/Matrix commands over a network. -It may be used standalone or to extend the [Voicemeeter Remote Python API](https://github.com/onyx-and-iris/voicemeeter-api-python) +It offers the same public API as [Voicemeeter Remote Python API](https://github.com/onyx-and-iris/voicemeeter-api-python). -There is no support for audio transfer in this package, only parameters. +Only the VBAN SERVICE/TEXT subprotocols are supported, there is no support for AUDIO or MIDI in this package. For an outline of past/future changes refer to: [CHANGELOG](CHANGELOG.md) ## Tested against -- Basic 1.0.8.8 -- Banana 2.0.6.8 -- Potato 3.0.2.8 +- Basic 1.1.2.2 +- Banana 2.1.2.2 +- Potato 3.1.2.2 ## Requirements @@ -29,7 +29,9 @@ For an outline of past/future changes refer to: [CHANGELOG](CHANGELOG.md) ## Installation -`pip install vban-cmd` +```console +pip install vban-cmd +``` ## `Use` @@ -113,6 +115,8 @@ Pass the kind of Voicemeeter as an argument. KIND_ID may be: - `banana` - `potato` +A fourth kind `matrix` has been added, if you pass it as a KIND_ID you are expected to use the [{VbanCmd}.sendtext()](https://github.com/onyx-and-iris/vban-cmd-python?tab=readme-ov-file#vbansendtextscript) method for sending text requests. + ## `Available commands` ### Strip @@ -511,7 +515,8 @@ You may pass the following optional keyword arguments: - `pdirty`: boolean=False, parameter updates - `ldirty`: boolean=False, level updates - `timeout`: int=5, amount of time (seconds) to wait for an incoming RT data packet (parameter states). -- `outbound`: boolean=False, set `True` if you are only interested in sending commands. (no rt packets will be received) +- `disable_rt_listeners`: boolean=False, set `True` if you don't wish to receive RT packets. + - You can still send Matrix string requests ending with `?` and receive a response. #### `vban.pdirty` @@ -529,6 +534,14 @@ Sends a script block as a string request, for example: vban.sendtext('Strip[0].Mute=1;Bus[0].Mono=1') ``` +You can even use it to send matrix commands: + +```python +vban.sendtext('Point(ASIO128.IN[1..4],ASIO128.OUT[1]).dBGain = -3.0') + +vban.sendtext('Command.Version = ?') +``` + ## Errors - `errors.VBANCMDError`: Base VBANCMD Exception class. diff --git a/pyproject.toml b/pyproject.toml index 73cab6d..241a4ed 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "vban-cmd" -version = "2.6.0" +version = "2.7.0" description = "Python interface for the VBAN RT Packet Service (Sendtext)" authors = [{ name = "Onyx and Iris", email = "code@onyxandiris.online" }] license = { text = "MIT" }