PCStage Index

Controlling PowerPoint from PCStage

This paper explains what you need to do to enable PCStage to control MicroSoft PowerPoint either on the same machine, or on different machines across an IP network.


Install UDPSend plugin into PCStage

The UDPSend plugin consists of two .dlls:

Download cstcpl32.dll (147K, usual drill, right click, save as) and place this into the PCStage executable direcory, c:\pcstage being recommended.

Download UDPSend.dll (387K) and place this file in your PCStage plugins directory, along with your other plugins.

The UDPSend plugin has no visible user interface, it's just there once you make use of it.

Install the PowerPoint Slave Driver

A single executable named pptslave.exe may be installed into the directory of your choice on the machine(s) with PowerPoint on them that you want to control.

Download pptslave.exe (V1.3) (62K). This version has been updated for use with Windows/7, the original V1.0 slave can also be downloaded pptslave_v1-0.exe (40K) but the V1.3 code also works on Xp.

Commands accepted by pptslave.exe

pptslave.exe currently accepts three commands:

open filename PowerPoint will be invoked, the named file loaded, which will position to the default first slide. PowerPoint will be switched into full screen mode.
next PowerPoint will transition to the next slide as though the space bar had been pushed, or the mouse clicked. All transitions appear to be honoured
goto slide_number PowerPoint will transition to the slide number supplied, honouring the incoming slide transitions.

How to use the UDPSend plugin

UDPSend operates the same was as all plugins, and you issue commands to it through the event mechanisms.

UDPSend always takes two arguments, the first is the IP Address and port of the target machine, ie, the one running pptslave. If this is the same machine PCStage is on, the address will be, the bit after the colon being the port number for pptslave, which I've fairly arbitrarily picked.

Note that this plugin can send any UDP command to any address to any port for any purpose, it's completely seperate to and independent of pptslave.

The second argument is the command to be sent to that address. Its always one argment, so if spaces are involved, enclose the command in quotes.

Demo Files

test.ppt (10K) is a PowerPoint presentation consisting of five slides, download and place into some directory.

pptdemo.pcs (10K) is a PCStage show file that can be loaded to drive the demo. Adjust the event in Cue 50 so that you load the filename from where you saved it.

Once everything is downloaded, start up PCStage, and load the showfile. I say again: Adjust the event in Cue 50 so that you load the filename from where you saved it. Adjust the IP Address in each cue to match the IP address of the machine with powerPoint on it, if necessary. Put PCStage into run mode.

Now start up pptslave, and a small window will appear. What happens next depends on if you are on one machine or a network.

On one machine, click forward (the right arrow) and PowerPoint will load, and go full screen and black. Alt-tab back to PCStage, click forward again, all remains black. Click it a third time, and the cues will start to execute in sequence and loop. Go back to PowerPoint, and you will hopefully have a "resume full screen" button, click this and watch PowerPoint count under control of PCStage.

This is easier on a twin monitor setup, as you can have PowerPoint monopolise the primary display, and run PCStage on the secondary.

On seperate machines, there should be no fooling around, it should all work delightfully with nothing to do on the PowerPoint machines except load pptslave.

You can contact the author by using this contact form.