Spout

Update Spout 2.007e

GitHub beta (SDK Version 2.007.002) has been moved to Master.

What’s new.

DirectX

For developers using DirectX rather than OpenGL the SpoutDX support class for DirectX 11 has been available for some time. This update adds a new support class for DirectX 12, and, for compatibility with older applications, there is also a support class for DirectX 9. Examples are available to explore.

Cinder

Not to be left out, there is a new example for Cinder based on a Cinder OpenGL example.

Per-frame metadata

That’s how it’s normally known, as opposed to metadata that describes an image or video for example. What it means here is that data is sent along with a texture so that a receiver can use it as required. What’s it for? Anything the developer might think of. There are well documented examples. A simple one sends mouse coordinates from the sender to receiver. Useless maybe, but it’s an example. I am sure that developers will find more significant uses. The functions are also available in SpoutLibrary and the Processing Spout library has been updated, including sketch examples.

Frame synchronisation

Already a receiver texture is updated only if the sender frame is new so that frame numbers correspond exactly. But what if the receiver was too slow for a sender and missed frames? This could be important for all sorts of reasons. What we need is a way to slow the sender down so the receiver gets every frame. That’s achieved with new sync functions where the sender waits for the receiver to be ready to receive a new frame. A developer can also do it the other way around so that the receiver waits on the sender, but that’s up to the application. Again examples show how this might be used.

Other changes

All sorts of things have been revised you can see details of code changes in the updates document.

User release

Download the 2.007e release here.

SpoutPanel has been revised to report texture formats more precisely. SpoutSettings has some cosmetic fixes for scaled displays and the demo programs are updated using the latest code.

That’s about it.

1 Like

Being too hasty to post this announcement, this deserves a separate post rather than just an edit.

I would like to acknowledge significant help along the way.

The OffworldLive team for their help with DirectX 12 and their commitment for development of plugins for Unity and OBS.

Alexandre Buge of Smode for help with graphics adapter work, introduction of CMake, development of a Unity plugin and expert programming advice.

Michele Puccini of ClassX for his inspiration and continuing help for the data transfer and sync functions.

Patrick Pomerleau of Nestimmersion for ongoing work with DirectX 9 which prompted the DirectX 9 support class. Not to mention the development of the amazing NestDrop.

There are many others I would like to acknowledge. But if I start, I might never stop. Sincerely, many thanks for your communications and advice.

Since the demise of the old Spout forum, much has been lost. So I encourage all to make announcement posts for release or update of their plugins or applications. This section of the forum is open to all.

2 Likes