return early from parse_input() if input is a comment add comments to example_commands.txt upd README. minor ver bump
2.8 KiB
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=FATALv
: Enable extra console output (toggle, set messages)c
: Load a user configuration (give the full file path)m
: Launch the MacroButtons applications
: 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
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