Comments (13)
Hey @andyvans, that's awesome. I don't think I've ever tried it with multiple monitors before. I see mame itself has a -numscreens x
command line option, have you tried that to see what it does?
I think I have an extra screen available so I'll give your branch a try as soon as I can...
from mamesaver.
It's pretty alpha at the moment. The screen cloning works but needs optimisation.
The -numscreens x option works in two ways:
- When using opengl it fills other screens with a clone of the image
- When using directx it fills other screens with a black screen
The problem with the opengl version of mame is that it just doesn't look as good. The directx 9 shaders make the games (particularly vector games) look much better on large screens.
I will keep tweaking the code. It may work out, it may not.
from mamesaver.
The problem with the opengl version of mame is that it just doesn't look as good
A note on the OpenGL version - this can look okay, but you need to be using the GLSL shaders instead of the HLSL shaders which are Direct3D only. The GLSL shaders don't appear to come out of the box with the official Windows versions of MAME, and the only ones I could find at a quick Google no longer work.
That being said, I've tried raster GLSL shaders but not any vector ones. Your point may still stand.
from mamesaver.
Couple of thoughts I had:
- what if you show a blank screen and only one mame, and then switch the screen it shows on every little bit? Ideally during a game session, but if that's not possible then at least when it re-loads a new game...
- You could also just show screenshots of games or game titles (maybe dynamically download from somewhere like http://mamedb.org (seem you can easily just use the url http://mamedb.org/snaps/gunfight_K.png by replacing the game name)
After reading about the -numscreens
argument it seems it's more meant for multi-monitor games anyway - so it would probably work much better for those (racing type games I guess) then for ones only developed for one screen.
from mamesaver.
Looking at http://wiki.mamedev.org/index.php/LAY_File_Basics_-_Part_I for #12 I notice that in the lay file you can control multi screens too - might be an option you could look into...
from mamesaver.
Hey @andyvans I just had a chance to try out the multi screen cloning - very very cool! 👍
from mamesaver.
The latest changes seem much faster as the graphics work is now all native win32 - hardware context to hardware context. It is no longer going via managed objects. It also supports monitors with different resolutions e.g. it will scale to the destination screen size. I will need to test a high DPI monitor.
Next, to improve speed of when exiting (mouse move/keystoke), I might force minimise the mame window to give the illusion of an instance shutdown.
from mamesaver.
The minimise of the mame window is really good. The screen saver exits instantly. No lag at all.
from mamesaver.
The layouts are interesting. Not quite for cloning, but for enhancing B&W games or adding a frame around the game. I guess game metadata could go into the layout if it was dynamically rendered per game.
from mamesaver.
The minimise of the mame window is really good.
Would you mind creating a pull request? Purely because I have an appveyor build server and then I don't have to recompile each branch myself - my multi monitors are on a separate laptop I don't use often :) I will only accept it once you are finished...
The layouts are interesting
Yeah they're not hugely useful in this scenario - although I notice that if you just add -numscreens 4
(it seems mame only supports up to 4 monitors) then the other screens go blank at least when a game is running and I thought layout could be used to at least show a game name by making a dynamic bezel image. Not useful here at all...
from mamesaver.
@mika76 The multi-monitor cloning works well. I have tried it with 2 & 3 monitors. It's hard to tell which is the original Mame screen. I will create a PR for you to look at.
from mamesaver.
The one I tried previous was already brilliant so I can just imagine - such a great PR thanks!
from mamesaver.
Cheers @mika76. I think I need to tweak the logic where the source and destination monitors don't have the same aspect ratio e.g. 16x9 vs 4x3.
from mamesaver.
Related Issues (20)
- Power options might not work when settings set to never turn off screen HOT 12
- Mac port HOT 10
- MAME configuration parsing fails when paths enclosed in speech marks HOT 1
- Generic error message if ROM path not found HOT 3
- Misleading error message if MAME configuration bad
- Crash on shutdown HOT 1
- About tab HOT 1
- Filter mechanical games, improve BIOS identification HOT 2
- Enhancement - game filtering HOT 14
- Linux port
- Sort out build merging repack and release and making installer work again
- Mamesaver.scr - This application could not be started. Do you want to view information about this issue? ... HOT 19
- Old official 64-bit MAME v0.177 doesn't work with MAMEsaver v2.0's game scan. HOT 41
- Need to tell user to restart their MAME Saver after enabling its logging. HOT 1
- MAME Saver v3.0.1's log file didn't roll over after 100 K in my 64bit W7 HPE SP1's %TEMP%\MameSaver\. HOT 1
- Screensaver not working properly anymore since mame 0.223 (possibly earlier) HOT 3
- Error when used with MAME 0.227 HOT 3
- Artwork not showing HOT 7
- Not finding games HOT 5
- Cannot read mame configuration with latest 262 mame release 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 mamesaver.