Comments (17)
This was addressed back in 2017 by Tim Thompson, who changed the full screen function to allow for multiple monitors. It required some changes to use (MonitorFromWindow). If it's on a different monitor this function detects it. Default is the primary monitor. I can't see any changes since then that might affect it. Unfortunately I can't test it because I don't have a multiple monitor setup.
Check the version you are using. The changed occurred for Version 2.019. The latest version is 2.024. At that time it worked for him, so it should be same now. It might be possible with Openframeworks or something similar, but again I don't have the means to do anything with it. Perhaps you know somebody who might be able to help.
from spout2.
Thanks for the info.
I'm using SpoutReciever v2.023, as bundled with the latest Spout_2006_update-3 Install. Unfortunately SpoutReciever will currently only use the main display for full screening. This is confirmed from several different people using multi-monitor setups.
@nosuchtim - Would you be interested and willing to look at the SpoutReciever code again?
from spout2.
2.024 is at https://github.com/leadedge/Spout2/tree/beta/DEMO. But I am sure it won't make any difference.
If Tim has the time, I am available by email to look at details.
from spout2.
Try this version - 2.021 -
just after the modifications were made:
from spout2.
I just tested out SpoutReciever v2.021 and it will only use the main display for full screening. So perhaps something within Windows or a library has changed since then. Alas!
from spout2.
Here is Version 2.020
That goes back a little more. I can't find 2.019.
Edit : - I found it in backups. Try both of these and that will narrow down the code changes.
from spout2.
from spout2.
Thanks very much Tim.
The menu is now removed and the TaskBar put lowest order before the resizing.
Could you try both 2.021 and 2.024?
This should confirm where the problem is.
There is no repo for this, but I can send you a complete project for Visual Studio 2017.
from spout2.
from spout2.
from spout2.
Thanks Tim.
The only thing different between 2.020 and 2.021 is -
GetMonitorInfoA(monitor, &mi);
int w = (int)(mi.rcMonitor.right - mi.rcMonitor.left); // rcMonitor dimensions are LONG
int h = (int)(mi.rcMonitor.bottom - mi.rcMonitor.top);
// Setting topmost causes a grey screen for Windows 10
// If scaling is set larger than 100% e.g. 125%
// Also there seems to be a delay in receiving keystrokes even if set to 100%
// SetWindowPos(g_hwnd, HWND_TOPMOST, 0, 0, w, h, SWP_SHOWWINDOW);
// This seems to fix it.
SetWindowPos(g_hwnd, HWND_NOTOPMOST, 0, 0, w, h, SWP_SHOWWINDOW);
SetWindowPos(g_hwnd, HWND_TOP, 0, 0, w, h, SWP_SHOWWINDOW);
So I removed the NOTOPMOST/TOP and went back to a single TOPMOST. It no longer goes grey for me at this time. Could have been be a driver issue.
If that still doesn't work, I am not sure where to look.
from spout2.
from spout2.
I tested each version and SpoutReceiver v2.020 is the only version that will fullscreen to any monitor.
@pom256 - have any experience with this?
from spout2.
I think I found the problem. While I was trying to solve the grey screen effect, I forgot to include the monitor origin in the moves.
int x = (int)mi.rcMonitor.left;
int y = (int)mi.rcMonitor.top;
int w = (int)(mi.rcMonitor.right - mi.rcMonitor.left);
int h = (int)(mi.rcMonitor.bottom - mi.rcMonitor.top);
SetWindowPos(g_hwnd, HWND_NOTOPMOST, x, y, w, h, SWP_SHOWWINDOW);
SetWindowPos(g_hwnd, HWND_TOP, x, y, w, h, SWP_SHOWWINDOW);
from spout2.
SpoutReceiver v2.026 fixed the issue! Nicely done.
from spout2.
I always think that the demo receiver was designed for the main monitor only so I didn't try on a second monitor. But many NestDrop user tell me the same as NuclearSugar regards as even if they drag the Window on the second screen, it will go back to the primary in fullscreen mode. So I just tell them that they change the main monitor in Window setup... But it's more a patch for the moment then a real fix.
I confirm that the receiver which came with Spout 2.0.0.6 go back to my main monitor in full screen when I press f on it, and return to my second monitor when I exit the full screen.
I know that the real 'fullscreen' mode in Directx was targeted the main monitor only. But I remember read some comment in spout code that the fullscreen was just replaced by a floating window with the same size than the screen... But this is old stuff and I'm sure that leadedge is already far beyond that...
from spout2.
OK @nuclearsugar. That's got it working for you.
@pom256 - yes it's not real fullscreen. The window menu and borders are removed and the remainder is resized and put on top. This was always intended as a demo testing program and the code is ancient. There will come a time when it won't work but until then it does the job.
I read that there is more involved with DPI and scaling, but it's going too far for this program. I have enabled "Per Monitor High DPI Aware" in the project settings, so hopefully that will look after it.
@nosuchtim many thanks for your help.
from spout2.
Related Issues (20)
- I found 1-2 frame delay fluctuation when I used spout for texture transmission. How can I eliminate this delay? HOT 7
- Windows on ARM binaries missing HOT 8
- Exclude binaries from repo HOT 1
- Recommended API and method HOT 2
- A way to build Demo/SpoutSender.exe and Demo/SpoutReceiver.exe HOT 1
- Getting nullptr textures with spout receiver HOT 5
- Spout with WebGPU HOT 6
- D3D11 Format HOT 28
- SpoutSender/Receiver sourcecode HOT 5
- SpoutLibrary : unable to setup multiple named Spout Receivers HOT 11
- Unused #include <d3d9.h> in SpoutLibrary.h makes compilation with JUCE fail. HOT 2
- GL-Spout-NDI-DX ? HOT 3
- Global registry settings HOT 3
- Multiple Senders in SpoutDX HOT 4
- CPU sharing flag is always false in OpenSpout HOT 7
- Small code issue in SpoutGL.cpp HOT 3
- Use SendImage without using OF, Cinder, etc. HOT 2
- flickering because receiver sometimes can't access the shared texture. HOT 5
- Add ossia to the list of Spout-compatible software :) HOT 3
- Should the solutions be removed from the repo? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from spout2.