by Ryan Webber
What is Spout?
Spout is a video (texture) sharing framework for Windows. It allows the sharing of video between applications in much the same way as Syphon does on the Apple platform.
Please visit the official website for details: http://spout.zeal.co/
How to use Spout in Isadora 2.0
Isadora 2.0 adds support for the FFGL (freeframe GL) plugin standard. These plugins can achieve some truly amazing things. Spout ships with two FFGL plugins, one for sending and one for receiving. There are a few easy steps to get Spout working in Isadora.
- >Install Spout, and make Spout available to Isadora.
- >Create a simple Isadora patch using a Spout actor.
- >Ensure that the application that is sharing video via Spout to Isadora is available.
- >Link the applications together by using a Spout ID.
We are going to setup a Receiver for this tutorial because Spout comes with a handy Sender we can use to test that we have our patch setup correctly.
- >Download Spout from (at the time of writing this tutorial Spout is at version 1.603, the 32bit version is required)
- >Unzip the file, and run the Installer. Allow the defaults, they work well.
- >Open the location where Spout was installed (by default this should be either “C:\Program Files (x86)\Spout” on 64bit systems, or C:\Program Files\Spout on 32bit systems)
- >Open the FFGL folder and copy both DLL files, these are the FFGL plugins. Don’t close the window, you will need the EXE in a minute.
- >Open your Isadora freeframe plugin folder. I use the default location of: “C:\Program Files (x86)\Common Files\FreeFrame” on 64bit systems, or “C:\Program Files\Common Files\FreeFrame” on 32bit systems. If the “FreeFrame” folder does not yet exist, create it.
- >Paste the DDL files to the “FreeFrame” folder. (note: Isadora will look 2 folders deep within this folder, so you can create a couple additional levels of organisational folders of your own to help you organize your freeframe plugins.)
- >Go back to the other window and copy the EXE (SpoutPanel.exe).
- >Paste this file into the root of your Isadora installation folder. ie: when you see ‘Isadora.exe’ paste the SpoutPanel.exe in the same folder.
Note: Spout comes with a PDF manual that is a great help, and will explain how to use Spout with other video frameworks like Processing, OpenFrameWorks, VVVV, and more.
Create a simple Isadora patch
- >Open Isadora.
- >In the empty patch window double-click and type ‘spout’ in to popup search field. Isadora should list the Spout actors that are now available to you. Select the SpoutReceiver and add it to your patch.
- >Note that the output type is ‘texture’, the outlet is labelled as ‘vid-gpu’.
- >This type of output in Isadora is video that is running on the video card, and is very efficient. FFGL plugins work only with this type of video.
- >Double-click inside the patch again to open the search dialog, this time type ‘texture’ as your search and select ‘Texture Projector’.
- >Connect the texture output from the SpoutReceiver to the texture input of the ‘Texture Projector’.
- >Open your Isadora stage. (Ctrl+G) or find ‘Show Stages’ under the Output menu.
- >Alternatively you could also choose to use the ‘Force Stage Preview’ option (Shift-Control-F), this may help save screen space while working.
Note: this step is especially important when using the SpoutSender actor, since opening the stage creates an OpenGL session, that can then be shared via Spout.
Launch the DEMO sender
- >Find the File Explorer window with the Spout installation that you open earlier, or reopen it if you have closed it.
- >Open the ‘DEMO’ folder
- >Open the folder for your system type. (x64 for 64 bit or Win32 for 32 bit)
- >Find the Sender program. In the X64 folder it is called ‘SpoutSender64.exe’, while in the Win32 folder it is called ‘SpoutSender32.exe’
- >Launch the Sender program. A window with a 3D cube spinning should open.
Link the Sender to the Receiver
- >In your Isadora patch, look at your SpoutReceiver actor, and click the trigger input for ‘Select Sender’.
- >This should launch ‘Spout Senders’ via the ‘SpoutPanel.exe’. If not don’t worry, we have another option in a moment.
- >In Spout Senders the shared texture will be listed along with its dimensions.
- >If Spout Sender did not open, look in your Spout folder again, and find the SpoutTray folder and SpoutTray.exe inside. Launch SpoutTray.exe
- >In your system tray you should now see the Spout Icon. Right click the icon, you will see a list of available texture shares in the same manner as SpoutPanel.
- >In Isadora you will need to enter the shared textures name exactly as it is shown in the SpoutPanel or SpoutTray (its also shown for convenience in the Spout Demo Sender window) as the input for the SpoutReceiver actors ‘Sender Name’ input.
- >When you have it entered exactly the same (upper and lower case, no extra spaces etc..) click the trigger input for the SpoutReceiver actors ‘Update’ input.
You should now see the texture being shared from the one window into Isadora and displayed on the stage. I suggest you read the Spout manual to get a sense of how Spout manages multiple texture shares.
Your next step
Start a new Isadora Patch and add a texture movie player and spoutsender. Launch the SpoutReceiverXX.exe from the DEMO folder and see if you can get video from Isadora into the demo Receiver.