Mix several VMCP compatible streams into one stream. Useful if you want to use number of tools to control one VRM model.
<iframe width=”560” height=”315” src=”https://www.youtube-nocookie.com/embed/d_qsC2fl_Wo” title=”YouTube video player” frameborder=”0” allow=”accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture” allowfullscreen></iframe>
There’re two version of UI.
You can get binary from releases page for each release, or you can build it by yourself:
git clone https://github.com/Cj-bc/vmc-mixer
cd vmc-mixer
stack build
launch your VMC marionette (which receives motion data) and performers (which sends motion information by VMCP message). Please launch them with different port number specified.
TUI version have interactive user interface on terminal.
In this repository root, launch vmc-mixer-tui by stack run vmc-mixer-tui <MARIONETTE_ADDRESS>
.
It should compile vmc-mixer-tui and opens TUI.
Focus on new address editor
by pressing tab
key, and type new performer address that
you want vmc-mixer to receive VMCP message from.
The performer is simply port number.
For example, if you want to recieve packets from port 3305,
You simply type 3305
.
It should be working right now. If it doesn’t, please check your firewall settings first. Those ports might be blocked.
CLI version doesn’t have interactive interface at all. It uses command line options (and config files in the future) instead.
In this repository root, launch vmc-mixer-cli by stack run vmc-mixer-cli -- <OPTIONS>
.
You should specify input/output addresses via command line option.
Usage: vmc-mixer-cli [-p|--performer ARG] marionette
For example, if you want to recieve packets from port 39540 and port 39541,
send to 192.168.10.10
port 39540, You can do:
vmc-mixer-cli -i 39540 -i 39541 192.168.10.10:39540
Current UI have two widgets.
There are some keybindings that is active in any state.
Key | action |
---|---|
Tab | focus on next widget |
The widget above is input connection list. It shows all input addresses available.
Key | action |
---|---|
- | Remove selected connection |
Up arrow | select above |
Down arrow | select below |
The widget at bottom is new address editor. You can use this to insert new address.
Key | action |
---|---|
Enter | confirm the address |