Syphon (Mac) and Spout (Windows) are two amazing technologies used to send and receive video frames between applications, in real time. They allow you to receive and display the feed of other applications in HeavyM and, the other way around, send the HeavyM output to another program.
Here's an example where the HeavyM output is received by SMODE:
Both technologies are already included in HeavyM, you don't need to install anything. Syphon runs on Mac, while Spout is its little brother running on Windows. You can check the lists of compatible programs for each one on their respective websites. They include a lot of different programs, like SMODE, Resolume, MadMapper, VDMX, Processing or Adobe After Effects for example.
Note: with these tools, both apps have to be on the same computer to share textures.
Sending the HeavyM output to another app
Enabling output sharing
In order to be able to send the rendering of the HeavyM output to another app, first activate output sharing in the menu Output → Enable Spout/Syphon. That's all! Now you should see HeavyM available as a Spout/Syphon source in the receiving app.
Note: make sure both apps are running on the same graphics card, otherwise you'll get the "Cannot create DirectX/OpenGL interop" error.
Setting up the output resolution
The output that is sent through Spout/Syphon corresponds to the whole canvas zone, so its resolution depends on the size of your canvas. By default, it is set to 1920x1080 pixels.
If you want to change this, you need to go through the advanced output setup mode, from Output → Setup... or , and change the resolution indicated in the "Canvas Settings" section.
Note: find more info on the canvas and the output in this article.
Receiving a texture from another app in HeavyM
Enabling output sharing in the sender
To receive a feed from another app, you don't need to enable output sharing in HeavyM, but you might need to do it in the app that is sending it.
Please refer to your app's manual to check if it is compatible with Spout/Syphon and see how to activate output sharing.
Note: make sure both apps are running on the same graphics card, otherwise you'll get the "Cannot create DirectX/OpenGL interop" error.
Selecting a sender in HeavyM
To include a Spout/Syphon stream in HeavyM, you first need to add a player shape, a Spout/Syphon source in the Sources Bin, and connect them together. Then, in the settings of the source, select the available Spout/Syphon feed you want.
From 2.7 and up, the active / inactive status of the stream is saved, meaning that if it is not started before HeavyM, the stream selection is still preserved in the project and the stream will automatically start again when the origin source is turned back ON.
To learn more about all the possibilities of multimedia sources, check out the articles in the dedicated chapter of this guide, "Managing Multimedia Sources".