I have a fairly simple setup on my lounge room media center PC. Emby Theater primarily with Steam Big Picture for games & occasionally use YouTube via a browser for streaming content. I've been looking for a while to find a way to better integrate these separate programs with Emby Theater to avoid falling back to using the dreaded mouse or keyboard & found the below solution works well for me.
Firstly, this process assumes that you have a controller connected to your media center PC. If you use Steam in your lounge room already then that is likely not an issue, but if you were only looking to add YouTube then you may need to include one, or find another option via a programmable remote or something similar. Emby supports controller inputs natively so your controller can be used to navigate your media too when not playing games!
The setup instructions below will cover installing & setting up both Steam Big Picture & YouTube TV together. Feel free to skip what you do not want. If you do not want one or the other simply remove them from the Emby controller profile below.
In theory, this should also work with any other 3rd party app or web based sites like Netflix you may wish to call from within Emby Theater.
How does it work?
Basically, this will setup a small batch file script that will run on your PC & will trigger on a button press mapped to your controller. When triggered, the batch file will close Emby, then load up Steam Big Picture (or YouTube TV), then when you finish & exit/close, it will re-open Emby again seamlessly. It uses a program called Controller Companion to integrate the switching between apps, with an improved profile for both Emby & YouTube TV to give you full control when these apps are active. No profile is needed for Steam Big Picture as this has full controller support already (just exit as normal to switch back to Emby).
What will you need?
- 10-20mins of time to configure & test.
- Text file editor (such as Notepad or Notepad++).
- Web Browser (such as Google Chrome).
- Controller Companion software (this is available direct via Steam for a few $$$ or can be purchased here: http://controllercompanion.com/ ).
- Free command line utility called NirCmd (available here: https://www.nirsoft....ils/nircmd.html ). Choose 32bit or 64bit depending on your OS.
- Download ZIP attached to this post (below).
*There are alternatives to Controller Companion, such as XPadder, which may also work with this setup. I like Controller Companion though as it is simple/automatic, allows control of Windows via the controller when nothing is running & crucially can map running a batch file to a button press.*
A - Preliminary Setup:
1) Extract the download zip file to C:\Emby App Switcher\ (you can change this to any location but will need to update the batch files to align)
2) Install & Set Steam into Big Picture mode (When you exit make sure you exit Steam and not exit Big Picture mode).
3) Set Steam to remember your password so it will log in automatically.
4) Install Controller Companion (Steam is not required to be running for CC to run in background).
5) Open Controller Companion Settings -> set it to run on Start Up, Disable Show Balloon Tool-Tips & Disable Play Sounds on Disable.
6) Go to Profiles tab & Import from file, the two profiles from the downloaded zip (one for Emby [Electron] & one for Chrome).
7) Install Google Chrome (as needed).
8) In Chrome, load up the link (www.youtube.com/tv) & follow the instructions to register the web app with your Google account. Authorise & Exit.
9) Go to the link & download NirCmd. Extract this to the same location as your .bat files. (If not in the same folder it will not work!)
B - Configuring the Batch files:
There are 2 bat files for each program (total of 4 bat files) which contains the code to perform the application switch. Loading the file in Notepad will present you with this:
@[member="Echo"] off taskkill /f /im electron.exe call "C:\Program Files (x86)\Steam\steam.exe" start /d"C:\Users\<user>\AppData\Roaming\Emby-Theater\system" Emby.Theater.exe goto :eof
@[member="Echo"] off taskkill /f /im electron.exe call "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -kiosk http://www.youtube.com/tv start /d"C:\Users\<user>\AppData\Roaming\Emby-Theater\system" Emby.Theater.exe goto :eof
- Edit the application paths for Steam & Chrome to your local installation folders.
- Update the Emby Theater path to include your local username (ie replace <user>)
- Save all files & close.
Note: Chrome is forced to run in 'Kiosk' mode. This will prevent the browser from exiting full screen mode. You can also change -kiosk parameter to --start-fullscreen which will start the browser in full screen mode but still allow you to switch out of it while its running via F11 key (say if you wanted it to be used as a standard browser function too). You may need to modify your Controller Companion profile to expand the browser controls if you want this.
The other two bat files named SteamLauncher.bat & YouTubeLauncher.bat are the files you will run linked into the controller profiles to call on the above bat files. These utilise the NirCmd utility downloaded earlier. NirCmd has one function only, and that is to hide the DOSBox/Command window from running in the background during the switch.
nircmd.exe exec hide EmbySteamSwitch.bat
Gives the whole process a cleaner transition. You should not have to edit these bat files unless you have renamed the other bat files above.
C - The Controller Companion Profiles:
The Emby CC Profile has two main buttons to perform the switching. This is the Guide button & the Start button as seen in the image below. I have also enhanced the standard controller mappings in Emby to add button controls for Volume, Skip Forward/Back, Next/Prev Track & direct Play/Pause. The default keys remain unmapped in the profile to ensure it works with the built in controller support in Emby.
Note: If you have moved the install folder location from C:\Emby App Switcher\ you will also need to update this in the Emby CC profile at this point to map the Guide/Start buttons accordingly.
The YouTube CC Profile contains all the keyboard mappings available for the TV app. It also includes Windows Media Controls for Next/Prev video, volume controls & allows for integration of the Virtual Keyboard wheel that is part of Controller Companion for quicker text input.
To exit out of YouTube TV, press the Start button on the controller (same button you used to enter YouTube TV).
I've been testing this out for the last week & the solution seems solid, but if you encounter any issues please let me know.
Hope you find this helpful!
Edited by Aussiedroid, 23 January 2018 - 10:07 PM.