Skip to main content

Controlling vMix with OctoCue

OctoCue can control vMix using the vMix TCP API, and a common task would be to step forward and backwards through a list input - this will work for image lists, video lists or imported PowerPoint inputs.

To do this, select Edit config files from the sytem tray menu, and edit tcp.json as follows:

{
"useTcp": true,
"localPort": 57123,
"localAddress": "0.0.0.0",
"remotePort": 8099,
"remoteAddress": "127.0.0.1",
"next": "FUNCTION NextItem Input=PPT 1\r\n",
"back": "FUNCTION PreviousItem Input=PPT 1\r\n"
}

In the example above, we're controlling a vMix input named PPT 1 only - update this to match the name of your list input, or leave this parameter out if you want to control whatever is in preview window:

{
...
"next": "FUNCTION NextItem\r\n",
"back": "FUNCTION PreviousItem Input=PPT 1\r\n",
...
}
info

If you're not running vMix and OctoCue receiver on the same machine, update the remoteAddress IP to suit.

Additionally, you'll probably want to disable the keypress, OSC, PptDirect and UDP options in OctoCue receiver - see advanced receiver configuration page for details on how to do this.

Running scripts#

If you want more flexibilty and control, consider using OctoCue to trigger vMix scripts - the vMix scripting engine allows the addition of a vast amount of automation and customisation to your vMix show.

Assuming you have two vMix scripts named octocue_next and octocue_back, here's how to edit tcp.json:

{
"useTcp": true,
"localPort": 57123,
"localAddress": "0.0.0.0",
"remotePort": 8099,
"remoteAddress": "127.0.0.1",
"next": "FUNCTION ScriptStart Value=octocue_next\r\n",
"back": "FUNCTION ScriptStart Value=octocue_back\r\n"
}

After saving your changes, restart OctoCue Receiver.

Take a look at the advanced receiver configuration page for full details of TCP options, and see vMix's documentation for full details of the TCP API.