Skip to main content

Controling PowerPoint using UDP

info

UDP control in currently in beta - use at your own risk, and please let us know how you get on.

Information below only applies to OctoCue Receiver/the PowerPoint add-in running on Windows.

Overview#

As of v1.2.0.0, the OctoCue PowerPoint add-in has the ability to receive UDP messages that trigger next and back actions.

Background#

OctoCue Receiver normally controls PowerPoint using PowerShell scripts - every time it receives a click, a child process PowerShell session is started, the click action is performed and then the session is closed.

Normally this all happens in c.300ms, but we've seen some instances of this taking 2 seconds or more. We've not been able to determine why this is so slow on some Windows machines and not others.

By sending UDP messages to the PowerPoint add-in and have the add-in handle the slide control, we remove the need to start a child process, making slide advances more responsive.

Setup#

We're planning on fully integrating this control system into OctoCue, but until this happens, users can manually opt to use UDP control:

Make sure you're running PowerPoint add-in 1.2.0.0+ and OctoCue receiver v1.6.0+

UDP control will not work without the add-in running.

Change your OctoCue receiver configuration to use UDP:

Edit the configuration files of your receiver using the instructions on the Advanced configuration page .

1 - Turn off keypress control:

{
"useKeyPress": false
}

2 - Turn off PptDirect control:

{
"usePptDirect": false
}

3 - Edit the UDP config file as follows:

{
"back": "back",
"localAddress": "0.0.0.0",
"next": "next",
"remoteAddress": "127.0.0.1",
"remotePort": 60346,
"useUdp": true
}

To make sure the new settings take effect, close and restart OctoCue Receiver once you've completed the edits.

You're now controlling slides using UDP control.

Protocol details#

If you'd like to send your own UDP messages to control PowerPoint using the OctoCue add-in:

  • UDP receive port: 60346
  • Valid messages: next, back, goto x (e.g. goto 22)
  • No line endings required

Goto messages will be restricted to the current slide range - goto 100 will go to slide 6 if there's only 6 slides in the current deck.