2024-06-26 17:00:54 +01:00
|
|
|
# VMRCLI Command Line Utility
|
|
|
|
|
|
|
|
## `Tested against`
|
|
|
|
|
|
|
|
- Basic 1.1.1.1
|
|
|
|
- Banana 2.1.1.1
|
|
|
|
- Potato 3.1.1.1
|
|
|
|
|
|
|
|
## `Requirements`
|
|
|
|
|
|
|
|
- [Voicemeeter](https://voicemeeter.com/)
|
|
|
|
|
|
|
|
## `Use`
|
|
|
|
|
|
|
|
`./vmrcli.exe [-i] [-k] [-D] <api commands>`
|
|
|
|
|
|
|
|
Where:
|
|
|
|
|
|
|
|
- `i`: Enable interactive mode. If set any api commands passed 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
|
|
|
|
|
2024-06-26 17:13:04 +01:00
|
|
|
## `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:
|
|
|
|
|
2024-06-26 18:30:47 +01:00
|
|
|
Launch basic GUI, set log level to INFO, Toggle Strip 0 Mute, then print its new value
|
2024-06-26 17:13:04 +01:00
|
|
|
|
|
|
|
`./vmrcli.exe -kbasic -D2 !strip[0].mute strip[0].mute`
|
|
|
|
|
2024-06-26 18:30:47 +01:00
|
|
|
Launch banana GUI, set log level to DEBUG, set Strip 0 label to podmic then print Strip 2 label
|
2024-06-26 17:13:04 +01:00
|
|
|
|
2024-06-26 18:34:05 +01:00
|
|
|
`./vmrcli.exe -kbanana -D1 strip[0].label=podmic strip[2].label`
|
2024-06-26 17:13:04 +01:00
|
|
|
|
2024-06-26 17:00:54 +01:00
|
|
|
## `Script files`
|
|
|
|
|
|
|
|
Scripts can be loaded from text files, for example:
|
|
|
|
|
|
|
|
```powershell
|
2024-06-26 19:03:21 +01:00
|
|
|
./vmrcli.exe -D1 $(Get-Content .\example_commands.txt)
|
2024-06-26 17:00:54 +01:00
|
|
|
```
|
2024-06-26 18:15:46 +01:00
|
|
|
|
2024-06-26 18:37:52 +01:00
|
|
|
## `Official Documentation`
|
|
|
|
|
|
|
|
- [Voicemeeter Remote C API](https://github.com/onyx-and-iris/Voicemeeter-SDK/blob/main/VoicemeeterRemoteAPI.pdf)
|
|
|
|
|
2024-06-26 18:15:46 +01:00
|
|
|
## `Special Thanks`
|
|
|
|
|
|
|
|
- [rxi](https://github.com/rxi) for writing the [log.c](https://github.com/rxi/log.c) package
|