Jump to content
LaunchBox Community Forums

Better Way or Best Way to Target Monitor

Recommended Posts

So I have a challenge and I think I have a solution that will work, but wondering if there's a more elegant way to deal with it. 

I have multiple monitors on my Windows 10 PC and one of them is linked to a projector in my modest home theater next to my desktop in my office. 90% of the time I work and play on my desktop in the office and LB loads there just fine as do the games. However, the rest of the time (especially when guests are over) I'd like to be able to enjoy playing via the projector. Turns out that doesn't seem to be as simple as I thought it would be.

I can load LB on the projector but MAME (which runs 90% of my emulation needs directly) will always launch on the desktop as it sees the desktop display as "Primary". 

So, solutions I came up with:

1. I found out MAME supports a command line parameter called -screen X where X is the monitor you desire, but it's not just a number. For example, loading MAME -v and quitting will tell you all the monitors it sees and their "names" so the projector is "//./DISPLAY3". So I created three MAME.INI files changing the SCREEN line item to that "name" in one, changing it back to the default of "auto" in a second and a third that preserves the baseline .ini. Then I just load the batch for what I want prior. The problem in this approach is that it's prone to forgetting which state the setup is in, plus any .INI changes now need to be made to three files instead of one.

2. It occurs to me that I can create a different set of platforms whose only difference is that they include -screen //./DISPLAY3 in the command line parameter setting. The problem with this setup is that it seems highly messy to me. I'll have Arcade and Arcade Theater, ColecoVision and ColecoVision Theater, etc. Not sure what that will do to the database and its view/count of my library.

I'm wondering if there's a better way. At the least I'd also like to know if there's a way to see if the devs would be interested in streamlining this. Perhaps a setting somewhere to check off which "state" I'm in and, based on that state being selected, follow the appropriate rules. So, if I check state "Theater" LB will know rule #1 is to say, "IF Emulator = MAME then append -screen //./DISPLAY3 to the command line. Rule #2 might be to do a similar step for my other 10% cases (currently I prefer emulating Atari 2600 natively through Stella as it shows you when you change the Difficulty buttons which is nice to know, but I might just dump it over this issue alone).

Thanks. I know that's a lengthy post, but I wanted to be sure to do my best to explain it all. After this is all resolved I'll tackle setting up BigBox for theater use (glad to have supported it).

Share this post

Link to post
Share on other sites

Maybe not 'elegant' per say but doable.. maybe have two LB/BB startups.  :) 

One that sets the primary on the PC (work/play) and one the sets the primary as the projector when guests come over.  That way, all games load on the 'primary' monitor.

Share this post

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...