Voicemeeter Remote CLI Utility
Go to file
2024-07-01 07:35:35 +01:00
include extra X64 kinds added to enum kind 2024-06-29 03:05:51 +01:00
src remove shift one char 2024-07-01 04:43:15 +01:00
.gitignore first commit 2024-06-25 04:34:28 +01:00
example_commands.txt add set strip 0 label in example_commands 2024-06-26 17:19:33 +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 upd heading 2024-07-01 07:35:32 +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)

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