This is the SDK for building apps and plugins for ViveEngine.
ViveEngine is an audio orchestration engine for desktop that sits between audio apps and the OS to intercept, process, and reroute audio streams.
This SDK provides open-source client-side components for application integration, custom audio processing plugins, and developer tooling.
| Version | 1.2.0 |
-
gRPC spec for ViveEngine control interface.
-
C header for native plugin development.
| Version | 1.2.0 |
-
C# client library for ViveEngine control interface.
| Version | 1.2.0 |
-
vivesound.com/sdk/go/vsctl• API docsGo client library for ViveEngine control interface.
-
vivesound.com/sdk/go/vsapi• API docsAPI definitions for ViveEngine control interface, used by
vsctl. -
Utility for controlling ViveEngine from terminal and scripts.
-
Cross-platform .NET MAUI application demonstrating real-time audio processing with ViveEngine.
-
Install the engine
Download and install ViveEngine, then download the SDK. See the Setting up guide.
-
Control the engine from the command line
Use
vive-ctlto send commands to the engine from a terminal or scripts. See the vive-ctl tutorial. -
Interact with the engine from an application
Use a client library (
ViveSound.Sdk.Ctlfor .NET orvsctlfor Go) or the gRPC API to control the engine from your own code. See the control API reference and the C# demo app tutorial. -
Extend the engine with plugins
Use the plugin API (
vive_plugin.h) to add custom processing to the engine. See the native plugin tutorial.
ViveEngine is versioned and released separately from the SDK.
The SDK consists of three independently versioned modules:
- API specs
- .NET components
- Go components
Each module has its own release cycle and Git tags. Modules are usually released individually within a short time frame.
Both engine and SDK use Semantic Versioning with 3 components: major.minor.patch.
- Major is increased for a new generation that is not compatible with the previous one.
- Minor is increased when new features are added.
- Patch is increased for bug fixes that do not affect compatibility.
To check compatibility, compare the major and minor versions:
SDK module 1.3.x -> ViveEngine 1.3.x or newer
For example, SDK module 1.3.2 is compatible with engine 1.3.0, 1.3.5, 1.4.x, and newer versions within the same major version. Patch versions are independent. They do not affect engine compatibility.
When the minor version changes, there are two update paths:
Engine update:
- Existing user code continues to work.
- Existing SDK versions continue to work.
- New API features are not available until the corresponding SDK module is updated.
SDK update:
- Existing user code continues to work.
- The minimum required engine version increases.
- New API features become available.
SDK modules are versioned independently, so each module uses its own Git tag prefix. Instead of a single v1.2.3 tag for the whole SDK, releases are tagged per module.
| Module | Tag format |
|---|---|
| API specifications | api/v1.2.3 |
| .NET components | net/v1.2.3 |
| Go components | go/v1.2.3 |
ViveEngine changelog can be found on Release Notes page.
Releases of individual SDK modules are documented in CHANGELOG.md.
Issues and pull requests in this repository are for the ViveSound SDK specifically — client-side code that sits on top of ViveEngine.
You are welcome to open issues and pull requests to improve the SDK. To get dedicated support, please refer to the Contact us page in the documentation instead of opening an issue here.
By submitting a pull request to this repository, you agree to license your contribution under the Apache License 2.0.
ViveEngine is proprietary software distributed under a commercial license. See Licensing options for details.
This SDK acts as a client to ViveEngine and is open source, licensed under the Apache License 2.0.