July 8, 2017 at 4:56 am #3524nosuchtimParticipant
When you start DEMO/SpoutReceiver.exe on any display other than your main display, and you select Window->Full screen, it always ends up (at least on my system) going to the main display, not the display on which SpoutReceiver.exe is running.
I’m writing software for which the only output is Spout, intending on it being used with Resolume or Magic, but wanting to use SpoutReceiver.exe for the output when people don’t have either of those programs.
I’d be taking a look at the code to see if I could fix it, but I don’t see where the source code for DEMO/SpoutReceiver.exe is.
July 8, 2017 at 7:27 am #3526
- This topic was modified 2 years, 7 months ago by nosuchtim.
That’s interesting. I had never considered two screens.
Fullscreen was a quick job by simply removing caption, menu and borders and the taskbar, then resizing the window. It works OK so I have left well enough alone. Here is the line that sets the window full screen :
SetWindowPos(g_hwnd, HWND_TOP, 0, 0, GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN), SWP_SHOWWINDOW);
The window position is always zero, which might explain why it always shows on the first display. From what I have read it is possible to show on the second display by repositioning the window over by one screen width. So maybe this could work :
SetWindowPos(g_hwnd, HWND_TOP, GetSystemMetrics(SM_CXSCREEN), 0, GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN), SWP_SHOWWINDOW);
The code for the demo program is not nice and neat. It has grown like topsy and is bloated. I have not cleaned it up because it works reliably and I know what to look for. I also use it for testing. But you are welcome to the source if you contact me. If you find that the method above works, I can add some sort of option to go full screen on the second display.
Otherwise I am wondering whether a simple Openframeworks program might be a better plan to do the job.
Edit: or Processing which seems to have it worked out :August 11, 2017 at 1:58 am #3550
Just to finalise this, I would like to inform readers that this has been resolved thanks to Tim’s work.
The revised demo receiver will be included in the next Spout release. Meanwhile if anybody needs multiple monitor support please contact via email on the home page.September 5, 2019 at 7:13 pm #4373
I know this is an ancient thread, but would you make this source available to me also?
I did not find a quick way to create a fullscreen receiver i can automate, this win32 app is really fast and tweaking it would be a very useful way to learn.
StefanoSeptember 6, 2019 at 1:26 am #4374
You are welcome of course, but the code is still not nice and neat and is full of stuff I use for testing, so it isn’t ideal to learn from.
What do you actually want to do? Maybe it is an easy addition.September 6, 2019 at 11:59 am #4379
Hello, thank you for your reply!
Well, i would like to dig into the minimal way to create a win32 app showing a fullscreen spout receiver on an arbitrary display, splitting the texture (through UV) on those displays.
I do not like OpenFramework/Cinder apps, so i through a glimpse in this win32 app would have been a good starting point.
Thank you!September 7, 2019 at 1:22 am #4380
A good start would be to build this tutorial by NEHE :
This is quite old now and based on old OpenGL code, but the demo program was based on that originally. Since then it has had many things added which could be distracting for you. It is certainly not minimal any more. Possibly you could pick parts out of it and start again from the basic tutorial. Full-screen mode is actually still windowed mode but with borders etc. removed, but that could have advantages for what you want to do.
I have your email address and will contact you directly.September 7, 2019 at 8:38 am #4381
Thank you Lynn,
You are always very helpful and supportive!
All the best
- You must be logged in to reply to this topic.