Author Topic: Multiple display output mess  (Read 2577 times)

0 Members and 1 Guest are viewing this topic.

sirs2k

  • Jr. Member
  • **
  • Posts: 24
  • Karma: 0
    • View Profile
Multiple display output mess
« on: September 03, 2016, 02:48:55 AM »
Hey guys,

There's something that's been bugging me and I can't figure out an efficient way to solve it.

I have 3 displays connected to my HTPC including my monitor, cinema TV and lounge TV.

I need to be able to switch to any one of them at a time with the appropriate resolutions selected in kodi.

monitor: 1920x1200 (DVI)
Cinema: 3840x2160 (HDMI)
Lounge: 1920x1080 (Display Port)

Windows only has the option to output display to "internal" or "external" displays, so I'm missing one output

One option I tried is to "extend" all the displays but that's very inconvenient as you have to go through kodi settings and set which Fullscreen # you want. Then you have to change the resolution for that display as it's usually the resolutions of what kodi was on last time which depending on your previous settings.

This whole problem would be fixed IF windows had more than simple "PC screen only" and Second screen only" when you press the win+p

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7714
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Multiple display output mess
« Reply #1 on: September 03, 2016, 10:05:31 AM »
Unless you want Kodi displayed on multiple displays simultaneously then I think the only configuration that makes sense is to extend windows so that you have 3 independent displays and then get Kodi to switch between them.   Since they are all different resolutions this is the only mode where each will be able to stay in its native resolution.

I only have two displays here to test with, but they each have very different resolutions (one is in portrait mode for coding) and this command that I just whipped up works flawlessly for me so far:

Code: [Select]
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 2.2.2.6-->
<command id="345" name="Kodi use screen {1}" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
  <action>
    <cmdType>TTS.Speak</cmdType>
    <params>
      <param>Changing display mode.</param>
    </params>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>XJson.Raw</cmdType>
    <params>
      <param>Settings.SetSettingValue</param>
      <param>"setting":"videoscreen.screenmode", "value":"WINDOW"</param>
    </params>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>VC.Pause</cmdType>
    <params>
      <param>500</param>
    </params>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>XJson.Raw</cmdType>
    <params>
      <param>Settings.SetSettingValue</param>
      <param>"setting":"videoscreen.screen", "value":{1}</param>
    </params>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>XJson.Raw</cmdType>
    <params>
      <param>Settings.SetSettingValue</param>
      <param>"setting":"videoscreen.fakefullscreen", "value":false</param>
    </params>
    <cmdRepeat>0</cmdRepeat>
  </action>
  <phrase>Kodi use screen</phrase>
  <payloadRange>0,2</payloadRange>
</command>

In my case my main display is '0' and my secondary display is '1'.  If you prefer to use differnt language you can probably do away with the payloadRange and create three separate commands or you could use a payloadXML.

There is an extra action in there that is disabled but I kept it in there just in case it comes in handy.  On my system Kodi will switch to "fake" fullscreen for some mysterious reason once every week or two.  This mode does not work for me at all (very jerky playback of all 24p content) so this action can be used to ensure that Kodi uses real fullscreen.