Voicemeeter Remote CLI Utility
Go to file
onyx-and-iris 41a256786f add terminate()
logs fatal, frees dyn memory and exits with EXIT_FAILURE
2024-07-23 17:27:47 +01:00
include rename ivmr.c to interface.c 2024-07-23 17:26:59 +01:00
src add terminate() 2024-07-23 17:27:47 +01:00
.gitignore increase input buffer size 2024-07-12 12:04:03 +01:00
example_commands.txt add -I flag for disabling >> on the interactive prompt 2024-07-10 10:51:53 +01:00
LICENSE Create LICENSE 2024-07-01 03:46:09 +01:00
makefile add pragma macros, 2024-07-09 15:57:38 +01:00
README.md add note about quick commands to README 2024-07-10 18:20:58 +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|-I] [-k] [-D] [-v] [-c] [-m] [-s] <api commands>

Where:

  • h: Prints the help message.
  • i: Enable interactive mode, use (-I) to disable the '>>' prompt.
    • 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
  • v: Enable extra console output (toggle, set messages)
  • c: Load a user configuration (give the full file path)
  • m: Launch the MacroButtons application
  • s: Launch the StreamerView application

API Commands

  • Commands starting with ! will be toggled, use it with boolean parameters.
  • Commands containing = will set a value. (use += and -= to increment/decrement)
  • All other commands with get a value.

Examples:

Launch basic GUI, set log level to INFO, Toggle Strip 0 Mute, print its new value, then decrease Bus 0 Gain by 3.8

.\vmrcli.exe -kbasic -D2 !strip[0].mute strip[0].mute bus[0].gain-=3.8

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

Quick Commands

A short list of quick commands are available:

  • lock: command.lock=1
  • unlock: command.lock=0
  • show: command.show=1
  • hide: command.show=0
  • restart: command.restart=1

They may be used in direct or interactive mode.

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)

You may also pipe a scripts contents to the CLI:

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

Multiple API commands can be in a single line, they may be separated by space, ; or ,.

Lines starting with # will be interpreted as comments.

Build

Run the included makefile with GNU Make.

The binary in Releases is compiled 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