Seems a lot of people have issues with the DMD screen staying put.
Personally I have had loads of issues with it, first of all it wouldn't move to the 2nd monitor, then it wouldn't stick etc. Now it stays, mostly, but not always!!!
Would appreciate any answers on the following?
1. What takes priority, the DMD position if its written in the script or the DMD position in the registry?
DMD position is saved to the registry. When table is loading, DMD position is based on the registry.
If DMD position code is in the script, the DMD position will move when that code is executed (usually when the table is initializing)
DMD position can be changed my manually moving and resizing it with the mouse and position will be saved to the registry. Just remember, if there is dmd position code in the script, it will undo any manual re-positioning the next time the table is loaded.
2. What is the best code to use in table scripts to, is it?
'.Games(cGameName).Settings.Value("dmd_pos_x")=5
'.Games(cGameName).Settings.Value("dmd_pos_y")=870
'.Games(cGameName).Settings.Value("dmd_width")=600
'.Games(cGameName).Settings.Value("dmd_height")=15 0
'.Games(cGameName).Settings.Value("rol")=1
The code above is commented out (it has a ' at the start of the line), so it is not being executed and has no affect on the DMD location. If you uncomment those lines by removing the ', then it will control the dmd location and size.
Position, width, height and rotation is usually different for every pincab owner.
To set DMD location my typical approach is to manually move and resize the DMD, and just leave the script code commented out (as you said some tables don't even have it).
If you want you can figure out the location, width and height of your display setup and hard code the dmd location to the script. For example, my DMD location is on the 3rd monitor with a width of 1024 and height of 300 pixels. Position is based on 1st monitor and then going ot the right. I have 1st monitor (1920x1080), 2nd monitor (1920x1080) then 3rd monitor(1024x768), so to put the dmd on the 3rd monitor I set pos_x to 1920 +1920 = 3840. So if I wanted to hardcode the position and size of my DMD, I would add this code into the Sub init( ) function:
.Games(cGameName).Settings.Value("dmd_pos_x")=3840
.Games(cGameName).Settings.Value("dmd_pos_y")=0
.Games(cGameName).Settings.Value("dmd_width")=1024
.Games(cGameName).Settings.Value("dmd_height")=300
.Games(cGameName).Settings.Value("rol")=1
Usually I don't bother with the code above and just manually adjust the location and size.
2b. Where does the above go, some tables have it already but for those that don't where in the script should iut be placed?
Put it in the sub init section, I I usually search for ShowDMDonly and make DMD related changes in that general area
3. Controller.SetDisplayPosition 2261, 819, GetPlayerHWnd
3a. This line seems simpler but where in the script does it go?th come in?
3c. I presume the numbers 2261, 819 would be the pixel position of the top left of the DMD monitor, if so where do the width & length come into the equation?
3d. Can anyone recommend freeware / quick way to get pixel co-ordinates?
Can't answer this one, never had to make any changes or add this. As I mentioned before pixel location starts on monitor 1 and move across the other monitors, so position 0,0 is the top left corner of monitor 1
4. Set DMD
http://thebigboss.or...ade/setdmd.html
I tried this bit of software specifically for the job, it does do the trick, changes all registry settings in one go, but again because it's not in the table script the DMD position does get forgotten.
I did find that the software doesn't work through its own preview screen, it kept putting the preview back on the main desktop, not where I put it. However manually editing the registry settings for one table, then running SetDMD it did copy across to all the tables :-)
I don't use this any more... If I remember right this modifies the registry values universally. Like you said, if there are DMD location code in the script, the registry will get changed to that when the table script is executed.
5. Turn Off DMD
For the tables that come with the exe backglasses, ie with scores built in, the DMD will still load, what line do we adjust or enter to turn off DMD?
If necessary I change .ShowDMDOnly = 1 to .ShowDMDOnly = 0 to hide the DMD. Or I just drag the unnecessary DMD to the hidden part of my 3rd monitor..
Edited by gtxjoe, 21 July 2013 - 11:06 PM.