Voicemeeter Remote CLI Utility
Go to file
2024-07-02 10:14:25 +01:00
include use strtok to walk through the input string 2024-07-02 10:13:37 +01:00
src use strtok to walk through the input string 2024-07-02 10:13:37 +01:00
.gitignore first commit 2024-06-25 04:34:28 +01:00
example_commands.txt modify example_commands to show multiple instructions per line 2024-07-02 10:14:25 +01:00
LICENSE Create LICENSE 2024-07-01 03:46:09 +01:00
makefile add conditional override var LOG_USE_COLOR to makefile 2024-06-27 22:57:35 +01:00
README.md modify example_commands to show multiple instructions per line 2024-07-02 10:14:25 +01:00

Voicemeeter Remote Command Line Utility

Tested against

  • Basic 1.1.1.1
  • Banana 2.1.1.1
  • Potato 3.1.1.1

Requirements

Use

./vmrcli.exe [-h] [-i] [-k] [-D] <api commands>

Where:

  • h: Prints the help dialogue.
  • i: Enable interactive mode. If set, any api commands passed on the command line will be ignored.
  • k: The kind of Voicemeeter (basic, banana or potato). Use this to launch the GUI.
  • D: Set log level 0=TRACE, 1=DEBUG, 2=INFO, 3=WARN, 4=ERROR, 5=FATAL

API Commands

  • Commands starting with ! will be toggled, use it with boolean parameters.
  • Commands containing = will set a value.
  • All other commands with get a value.

Examples:

Launch basic GUI, set log level to INFO, Toggle Strip 0 Mute, then print its new value

./vmrcli.exe -kbasic -D2 !strip[0].mute strip[0].mute

Launch banana GUI, set log level to DEBUG, set Strip 0 label to podmic then print Strip 2 label

./vmrcli.exe -kbanana -D1 strip[0].label=podmic strip[2].label

Interactive Mode

Running the following command in Powershell:

./vmrcli.exe -i

Will open an interactive prompt:

Interactive mode enabled. Enter 'Q' to exit.
>>

API commands follow the same rules as listed above. Entering Q or q will exit the program.

Script files

Scripts can be loaded from text files, for example in Powershell:

./vmrcli.exe -D1 $(Get-Content .\example_commands.txt)

Multiple API commands can be in a single line but they should be space separated.

Build

Run the included makefile with GNU Make.

By default the log.c module is built with coloured logging enabled. To disable this you can override the LOG_USE_COLOR variable, for example:

make LOG_USE_COLOR=no

Official Documentation

Special Thanks