Can a macro be made to initialize Dual monitor for Eventghost?
#31
Yeah the autoit script i made is only for nvidia. I could make the same with the catalyst panel but i dont have any ati card on any of my computers.
Reply
#32
clemon79 Wrote:Have you tried a second Find Window after the window move?

I did but No

tiben20 Wrote:Yeah the autoit script i made is only for nvidia. I could make the same with the catalyst panel but i dont have any ati card on any of my computers.

Thanks, but my setup is a bit complicated with 3 displays (monitor, 1080p TV and 720p projector) connected with SurroundView and all with different resolutions. So, there are some manual interventions anyway and I have to re-select the resolution when I switch the display even though it's saved in the profile. It's just another glitch I guess.

I use TV speakers through HDMI when XBMC is on TV and the HT speakers when it's on the projector and the sound card settings saved in profiles work perfectly, just the resolution thingy ... Multiple display setup works wonderfully in Meedio (I still use Meedio for movies on projector for this reason) but the sound settings aren't so customizable there, oh well :p Someday ...
Reply
#33
Code:
;rundll32.exe NvCpl.dll,dtcfg setview <display#> <viewtype> [<primary NV device monikerc>] [<secondary NV device moniker>]
;Example: "setview <display#> dualview AA DA"
;If <display#> = 2, then AA will be 2 and DA will be 1.
;If <display#> = 1, then AA will be 1 and DA will be 2.
;"setview <display#> dualview AA DA"
;viewtype can be any of the following: standard (or normal) • clone • hspan • vspan • dualview

;the moniker syntaxe is:
;first character
;A = Analog, D = Digital, T = TV.
;second character
;A-H or 0-7 <------- this is the index
;
;Example
;rundll32.exe NvCpl.dll,dtcfg setview 2 clone AA TA
; setting the first analog monitor connected  and the first tv connected in clone mode
;the primary will be the tv connected
;if you would have the first analog monitor connected as the primary you would have to do
;rundll32.exe NvCpl.dll,dtcfg setview 1 clone AA TA

;this command is the delay before excuting each process
;this example is too set it to .5sec before each action
;rundll32.exe NvCpl.dll,dtcfg setdelay pre 500
;
;this one is to set the delay after a process
;this example is for 2 min
;rundll32.exe NvCpl.dll,dtcfg setdelay post 120000
;
;this one is for making a display the primary display
;rundll32.exe NvCpl.dll,dtcfg primary 2
;
;this one for the RESOLUTION SETTINGS OF A DISPLAY
;
;rundll32.exe NvCpl.dll,dtcfg setmode <display#> <hres> <vres> <bpp> <freq>
;this is too Sets display #2 to 1024x768x32 @75Hz
;rundll32.exe NvCpl.dll,dtcfg setmode 2 1024 768 32 75
nvcplaction("nvcpl.dll,dtcfg setview 1 standard #TA")
;gotoTv()
;$pid = run("C:\Apps\XBMC\XBMC.exe -p")
;ProcessWaitClose($PID)
;gotoNormal(0)
Exit

func gotoTv()
    ;Working one
    ;rundll32.exe nvcpl.dll,dtcfg setview 1 standard #T0
    nvcplaction("nvcpl.dll,dtcfg setview 1 standard #T0")
endfunc

func gotoNormal($viewtype)
    select
        case $viewtype=0;primary on left monitor
        nvcplaction("nvcpl.dll,dtcfg setview 1 standard #DA")
    case $viewtype=1;useless for me primary on right monitor
        nvcplaction("nvcpl.dll,dtcfg setview 1 standard #AA")
    case $viewtype=2;dualview
        nvcplaction("nvcpl.dll,dtcfg setview 1 dualview #DA #AA")
    EndSelect
    ;single monitor
    ;rundll32.exe nvcpl.dll,dtcfg setview 1 standard #DA
    ;primary on second monitor
    ;rundll32.exe nvcpl.dll,dtcfg setview 1 standard #AA
    ;dual view
    ;rundll32.exe nvcpl.dll,dtcfg setview 1 dualview #DA #AA
EndFunc

func nvcplaction($nvcplcmd)
    ShellExecute("rundll32.exe" ,$nvcplcmd)
    sleep(500)
EndFunc
i added a small explication at top for the resolution and a settings from nvidia for the timer before and after each action.
Reply
#34
Situation: laptop is connected to TV via HDMI. XBMC is setup to fullscreen on secondary. XBMC is set up after start. Obvious problem is that if someone start the laptop without connecting HDMI cable first. Laptop and TV have different resolutions.

Please don't elaborate on why it is needed to disconnect the HDMI cable from laptop after turning it to standby.

How far did i got: i have no problem with enabling the tv in event ghost, i have no problem windowing xbmc and moving to tv, but my problem is that after second press of \ in event ghost it goes to fullscreen on primary.

For some reasons laptop display needs to be primary, i can't set TV as primary Sad.

Also i tried closing xbmc and starting it again without help. I tried to find some switch for it to start on secondary by default - without success.

Problem is that once xbmc is started without secondary monitor present it sets in settings to start on monitor 1 fullscreen instead of monitor 2 fullscreen. I don't know how to fix it, but i'm sure there is more people in having similar issue.

Thank you for your help.
Reply
#35
So i found out it currently can't be done, maybe in next version, until then i will settle with switching via nvcplaction("nvcpl.dll,dtcfg setview 1 dualview #DA #DB") and nvcplaction("nvcpl.dll,dtcfg setview 1 dualview #DB #DA"). That is not very good solution and probably will cause other problems, but only one currently possible Sad
Reply
#36
You can use the HTTP API for alot of stuff, but unfortunately this one is missing.
So it would be great if we could switch monitor using the JSON RPC, but I guess there are alot of stuff with higher priority..
Reply
#37
XBMC works fine for me on dual monitor. I suspect your issue is due to the way NVidia handles things - I use ATI 5450 ($20 card), my TV is secondary, and XBMC always goes directly to the TV when the HDMI connection is already there. If the TV is not on, it goes to the primary display (computer monitor).

You could also create a macro in EventGhost to handle this as long as your XBMC setting is correct - EG can detect the 2nd display, kill XBMC, and restart XBMC.

AND... I have some source code for an app that does this for Windows Media Center. If there is a good C++ coder that can extend it for XBMC I'd be happy to work with them.
I'm not an expert but I play one at work.
Reply
#38
Hallo Mason
Welches Programm ist das denn? Ich wollte mir das auch noch einrichten.

Danke schon mal im vorraus.

Gruss


mason Wrote:AWSOME! got exactly what i needed ... and you probably too kotix. heres how it goes :

Image
[/url]

i got a dell tft as primary on my workstation, and a samsung lcd in the livingroom connected with the second output on my gfx.

build up your tree like on the screenshot, and check the 'Set Display Preset' under 'Start' - Query your current setting and it should show the devices like that :


Image
[url=http://g.imageshack.us/img102/eg1hh4.jpg/1/]

then switch your primary - secondary display in the settings for your gfx and query again for the 'Stop' Command.

in this case you start your pc it comes up as normal, when the HID Button event occur, it switches your displays from primary to secondary, starts XBMC (dont forget to use the -fs -p command line switches) and Enables the Stop Folder so when you press the button again, it quits XBMC restores your display settings and reenable the Start folder!

perfect ... at least for me ....
Reply

Logout Mark Read Team Forum Stats Members Help
Can a macro be made to initialize Dual monitor for Eventghost?0