
skizzosjt
-
Posts
698 -
Joined
-
Last visited
-
Days Won
1
Content Type
Profiles
Forums
Articles
Downloads
Gallery
Blogs
Posts posted by skizzosjt
-
-
with both displays hooked up try and play the videos from Windows Explorer but make sure the videos are opening up on the 4K TV (rather than the 1080p one). takes Big Box out of the equation. do they "glitch" when played?
if so then have just the 4K TV hooked up and try and play the videos from Window Explorer, still a problem? if so, that TV, its settings, or cable is the culprit.
-
1 hour ago, Kefka2b said:
@JoeViking245 hey I did a bit of experimenting.
So strangely enough it seems that both settings time values actually add up when using both which I don't think is supposed to happen.
However setting minimum start-up screen time to 0 and only using emulators startup delay time works well, but not on all emulators, for example the model 2 emulator doesn't respect the value selected and opens after less than a second making the loading screen almost useless.
I also noticed for Dolphin as an example that using both settings together allows for a cleaner startup as it hides the quick Dolphin windows that flashes when starting a game. When not using minimum startup time it flashes on top of the startup screen.
Dolphin shouldn't flash any other window at boot of a game. maybe missing some launch param. are you using "-b" for batch? that would launch the game without the actual Dolphin interface window with your list of games and such. it would only launch the actual game window with that param
-
1 hour ago, Bucky said:
*sighs* it failed. The app still wouldn't close. Thanks for the documentation, I'll look over it. The closings of EAs app in relation to LB have elluded me again and again.
Good news is, if this gets figured out here. It will help the 2-3 people who are trying to do exactly what I'm trying to do. XD
sorry that one is on me. clearly did NOT double check my work 🤦♂️ I left a line out and flip flopped the intended command. I did the following:
Run the storefront launcher, wait for launcher to exist, run the game, wait for game to exist, wait for the launcher to close....lol makes no sense
here is what I intended to do:
Run the storefront launcher, wait for launcher to exist, run the game, wait for game to exist, wait for game to not exist, close the launcher.
Run, "C:\Program Files\Electronic Arts\EA Desktop\EA Desktop\EADesktop.exe" WinWait, ahk_exe EADesktop.exe Run, "C:\Program Files\EA Games\Mass Effect\Binaries\MassEffect.exe" WinWait, ahk_exe MassEffect.exe WinWaitClose, ahk_exe MassEffect.exe WinClose, ahk_exe EADesktop.exe ExitApp
Back at my main PC now and I do have the EA launcher on there. I tested out both of these commands, WinClose and Process, Close, they both work closing EADesktop.exe. So with that said, best to use the WinClose option since it's proven to work and the standard graceful way of closing a window or app
-
Run, "C:\Program Files\Electronic Arts\EA Desktop\EA Desktop\EADesktop.exe" WinWait, ahk_exe EADesktop.exe Run, "C:\Program Files\EA Games\Mass Effect\Binaries\MassEffect.exe" WinWait, ahk_exe MassEffect.exe WinWaitClose, ahk_exe EADesktop.exe ExitApp
this is how I would do it. give this a shot and let us know how it goes!
tip on why those didn't work for ya. I would assume the script is closing the game within nanoseconds after opening it
Run, "C:\Program Files\EA Games\Mass Effect\Binaries\MassEffect.exe" WinClose, MassEffect.exe
that runs the game, and the very next line is closing it. (edit: actually it would not close it cause I just noticed it's missing the ahk_exe part)
when you use WinClose to refer to a process you need to use proper AHK criteria syntax. since it's a process it's "ahk_exe". you'll notice my suggestion uses these
if you really want to learn some stuff thumb around in the AHK docs page. it helped me a lot. you can find stuff through their content or index tree or search keywords.
https://www.autohotkey.com/docs/v1/
https://www.autohotkey.com/docs/v1/lib/WinClose.htm
https://www.autohotkey.com/docs/v1/misc/WinTitle.htm
-
my bet is EADesktop.exe has a buttload of child processes and it isn't closing the main parent one. you should not be using Process, Close unless the standard WinClose command isn't getting the job done. going off JoeViking245's point that Process, Close is a forceful method. it's the same as pressing ALT+F4 or pulling the plug right out of the socket lol
using WinClose will close the window, closing all relevant matching processes. Process, Close is only going to close the FIRST process it finds that matches whatever criteria it is looking for.
-
1
-
-
I recommend to be creating a profile in shaderglass. The github and manual included (same as all notes on the github) give excellent documentation on how to use and troubleshoot.
No surprise chatgpt sucks and spits out a non working script. A script should be formatted something like this. launch shaderglass fullscreen and load a specific profile, wait for the game/emulator, wait for it to close, close shaderglass.
Run, D:\Utilities\ShaderGlass\shaderglass.exe -f D:\Utilities\ShaderGlass\Profiles\RA_MB_TV2_16-9.sgp WinWait, ahk_exe xemu.exe WinWaitClose, ahk_exe xemu.exe WinClose, ahk_exe shaderglass.exe
-
1
-
1
-
-
6 hours ago, Kefka2b said:
Thanks ! I'll give it a shot. I think I'll just keep Windows running as shell for now as there's still a few missing features in BigBox to make it a fully console like experience, I created a few feature request recently so hopefully they implemented at some point.
I am trying to find a way to have the taskbar hidden on boot, it always shows up for a bit after going hidden...but it seems impossible.
yes
WinHide, ahk_class Shell_TrayWnd
to show it
WinShow, ahk_class Shell_TrayWnd
to have it hide at boot setup task scheduler to run the script at boot. for what it is worth, I do not know why, but every single time I exit Big Box when the task bar is hidden it magically reappears as if the WinShow line ran and it is def not because of any script. I can only assume Big Box is doing that
also fair warning, I also have a hotkey setup to hide and show the task bar. otherwise it can be a pain when you find yourself with no way to get it to show again without logging out or restarting. you can push the Windows key to make parts of it show but it goes away again. point being, I would recommend having said script have a hotkey for those actions too.
also best way in my opinion to launch Steam silently is to use the native option with Steam's settings to launch Steam at boot of OS. it is auto minimized (hidden) to the tray. this way when you launch games the client window continues to stay hidden and you never see that advertisement window either.
-
1
-
-
4 hours ago, Bidule200 said:
Would love this option as well!
This can be handled with AHK. Shutdown if idle more than X. For ex, this uses 5 mins, adjust to your liking. Slip it into LaunchBox Startup Apps and set it to run only when Big Box launches
Loop { If (A_TimeIdle >= 300000) Shutdown, 8 Process, Exist, BigBox.exe If (ErrorLevel = 0) ExitApp }
On 4/19/2025 at 2:20 PM, CX123 said:Can bigbox be configured to automatically shutdown or at least put to sleep windows 10 PC after a certain time period of inactivity?
Also if so, can attract mode be on or did t that have to be off? (When I say attract mode, I mean where big box just keeps randomly scrolling through games when no one is playing it)
FYI this was tested with attract mode running. Artificial inputs from Big Box have no impact on the built in AHK var A_TimeIdle and script works as intended
Edit.....I re-read your comment and seems vague now lol. Did you mean to shutdown the PC or "shutdown" (close) Big Box and PC stays on?
-
importing through a wizard automatically changes the platform's "game" path to that directory.......it's a beyond annoying feature!
-
glad it worked! I was gonna eat my own shoe if you still had the problem! 😂
9 hours ago, SiriusVI said:I also tried the newest version of Auto Hotkey, just to test and it does not work.
so that implies you tried it with v2.X ? that's normal. V2 changed, for the better, but most scripts written in V1 syntax aren't going to work in V2 and vise versa.
9 hours ago, SiriusVI said:I'll say that I don't understand why AutoHotkey releases newer versions of its software that break previously written scripts. I sure hope that all the other scripts I have set up in Launchbox over the past years still work. I usually just copy scripts that other people wrote and I don't think I have the skill to update all of these scripts so that they work with different versions of Auto Hotkey.
syntax changed and then some, in V2 they made a big push to have as much as possible expression based along with many other changes. Link here to bring the point home how much changed, it's a pretty long list!
https://www.autohotkey.com/docs/v2/v2-changes.htm
but you shouldn't worry about that. anything you are already using was written in V1 and going to the most recent release of V1 is OK. your current/old scripts will continue to work as they have been despite swapping out the AHK exe file LB included.
-
1
-
-
d00d! do0o0o0o0o0o0o0o0d! having an eureka moment!
Started thinking about the fact you're using the AHK version included with LaunchBox. One of the very first scripts I wrote years ago had an issue when I first started using LB. It was the other way around though, I wrote a script on a really old version of V1 and it worked fine with that version.....but LB had a newer version and it impacted the scripts behavior negatively. I had to change syntax since they changed it between those versions.
this time around I'm using a more recent release of V1
I just tried running the script with LB's AHK file, which is v1.1.24.03 and is pretty darn old relatively speaking in AHK world. Also is the 32bit version and I always use the 64bit version
THERE IS DIFFERENT BEHAVIOR BETWEEN AHK VERSIONS!
I'm betting on THAT is the root cause here! I can recreate same error that being the file is read, but I cannot get the qty of entries in the array due to it seems the count method isn't working! As I wondered with the above troubleshooting version, I can even read the array, but something not working right with the Count() method (I called it a function in other posts but it's really a "method"). I get a null value and infinite loop just like you do when trying to use it to determine number of values in the array!
Value is null using the AHK exe included with LB
yet here I am running a much more recent version of AHK V1 and it works fine!
lets check if 32bit matters at all......NOPE!
Get your hands on the latest version of AHK V1. Even I am not on the latest but should be. The last release for V1 was like a year ago. V2 was in limbo for many years and they finally pulled the trigger on making it the official release version at that time about a year ago. So V1 is actually deprecated now but it's been around for so long that most basic users aren't going to make the switch.
so for ex I have this working fine when using v1.1.36.02
I just downloaded the last official release of V1 which is v1.1.37.02 and also works fine!
Each time I try and run it with the one included with LB is the only time the script doesn't work correctly!
You will need to download a newer version from their site. You can then replace the exe included with LB with the one you downloaded
Showing this so you don't think I'm just linking you to some rando website
Got to autohotkey.com and Click the green download button
Click other versions
Click AHK V1.1
Sort by date and pick the circled zip version of the latest release. The zip version is a portable version. You can simply unpack this archive anywhere and AHK is set to jet right away. Go into that folder and copy AutoHotkeyU64.exe to where LB stores its AHK exe. (\LaunchBox\ThirdParty\AutoHotkey) Be sure to rename the file to the same name inside the LaunchBox folder. ie rename the exe you just pasted in there from AutoHotkeyU64.exe to AutoHotkey.exe
I also pointed to the exe version should you want that. this one goes through the typical setup wizard process if that is more to your liking. Adding it to start menu and Windows Programs and App list, right click context menu and the like, etc etc official program stuff.
I think I'll advocate to the dev team to not be several years behind on their AHK version lmao! They are using a version released in 2017 that's before I even started using LB let alone AHK! 🤦♂️ Gotta get with the times!
I went digging in their change log and it all makes so much sense now! this method didn't even EXIST until a later version! Of course it won't work in some version from 2017, gotta have this version from 2018 or newer to use .Count()
I assumed I was going to find some bug fix report in here for the count method rather than it wasn't even introduced until a later version, but boy I'm glad I found this info here! I go nuts not knowing the "why" of things! The dots are now fully connected!
-
3 hours ago, SiriusVI said:
Wow thx so much for your hard work helping me. Truly appreciate it! Alright, here we go:
no problem and your welcome! but we're not quite out of the woods yet, hold the thanks until then......we will get there. I'm determined lol
ok this is all excellent info but......not good.....I'm at a point of 'da fuck is going on here? 😕
it's reading the file (good), but does not seem to be pushing these values into the array (bad)......weird situation. I'm no programmer and don't understand what challenge is on your side, bare with me as we stumble through this together. Very frustrating since the script works for me, this specific issue isn't making sense why it would show up on one person's system but not another's.
I'm adding some more stuff to try and troubleshoot. After the 3rd message box I've got #3B right after it. Right before this, the value is pushed into the array. So, by theory reading that array position right afterwards should let us see the exact same value. For ex
If it's blank like this (notice no "Dolphin" or whatever value it was supposed to add to the array) there is some problem going on I cannot identify yet
this will repeat for the PCSX2 and Xemu lines like last time
The last message box will have more text. Even if the array count is null maybe something weird is going on with just the count function. This also reads the array's first three entries regardless. So we want to see stuff here for ex
Please try this version of the script out
SpoilerSetWorkingDir, % A_ScriptDir SetTitleMatchMode, RegEx ; seems to work like mode 2 (partial match) but allows for use of expressions RetroarchWinTitle := "ahk_exe retroarch.exe" RetroarchEXE := "M:\Launchbox\Emulators\RetroArch - WindowCast\retroarch.exe" WindowCastFile := "M:\WindowCast\WindowCast.txt" WindowCastListArray := [] TimeOutDelay := 10000 ; close script if game/emulator window is not found in X seconds RunRetroarchDelay := 1500 ; delay between finding game/emulator window and then opening Retroarch FocusHotkeyDelay := 2000 ; delay between launching Retroarch and sending hotkey to grab focus of game/emulator window. *HDR/Fullscreen method ONLY* ; Read WindowCast window list file and parse into array FileRead, WindowCastList, %WindowCastFile% MsgBox, 4096, TROUBLESHOOTING #1, % WindowCastList Index := 1 Loop, Parse, WindowCastList, `r, `r`n { If (InStr(A_LoopField, "#")) { MsgBox, 4096, TROUBLESHOOTING #2, % A_LoopField . " was NOT pushed into array" Continue } WindowCastListArray.Push(A_LoopField) MsgBox, 4096, TROUBLESHOOTING #3, % A_LoopField . " WAS pushed into array" MsgBox, 4096, TROUBLESHOOTING #3B, % WindowCastListArray[Index] . " is in WindowCastListArray position # " . Index Index++ } MsgBox, 4096, TROUBLESHOOTING #4, % "WindowCastListArray.Count() = " . WindowCastListArray.Count() . "`n`nArray Position #1 = " . WindowCastListArray[1] . "`nArray Position #2 = " . WindowCastListArray[2] . "`nArray Position #3 = " . WindowCastListArray[3] ; Loop through list to check which window exists InitialTime := A_TickCount WindowCheck: Loop, % WindowCastListArray.Count() { ; Check if entry is an exe If (InStr(WindowCastListArray[A_Index], ".exe")) { If (WinExist("ahk_exe " . "i)" . WindowCastListArray[A_Index])) { ExistingWindow := WindowCastListArray[A_Index] Break } } ; If entry is not an exe, it is a window title Else If (WinExist("i)" . WindowCastListArray[A_Index])) { ExistingWindow := WindowCastListArray[A_Index] Break } DurationTime := A_TickCount - InitialTime If (DurationTime >= TimeOutDelay) { MsgBox, 4096, Window Check Timeout, Couldn't find existing window. Exiting script! ExitApp } } If (ExistingWindow = "") Goto, WindowCheck Sleep, RunRetroarchDelay Run, %RetroarchEXE% -L wgc_libretro.dll %WindowCastFile% -f WinWait, % RetroarchWinTitle Sleep, % FocusHotkeyDelay ; Sends hotkey to give focus to game window so inputs are detected Send {LCtrl down}{LAlt down}{t down}{t up}{LAlt up}{LCtrl up} If (InStr(ExistingWindow, ".exe")) WinWaitClose, % "ahk_exe" . "i)" . ExistingWindow Else WinWaitClose, % "i)" . ExistingWindow WinClose, % RetroarchWinTitle ExitApp ; Hotkey to exit Retroarch and terminate script $Esc:: ; keyboard modifier ($) is needed so input isn't "eaten" by the game WinClose, % RetroarchWinTitle ExitApp
AFTER trying the above version to see what happens....THEN please do this edit to the above script. Simply replace line #6 with this line below. All we're doing here is adding "Global" in front of declaring the array.
Global WindowCastListArray := []
After making that edit try and run the script again and see if behavior changes! Fingers crossed! 🤞
For transparency. The first test is to see if the values in the array can be read prior to leaving the loop where they are being pushed into said array but still cannot be read outside the loop. The second test is to see if making the array a global variable will allow it to be read at all other points in the script
-
1 hour ago, SiriusVI said:
Ah, yeah I forgot sorry. Anyway, it's just the file that came with the core. I just renamed it to "WindowCast.txt". Did nothing else to it.
Thank you so much for helping me out 😃Damn, no red flags! That's formatted correctly. You didn't add anything? Did you get lucky and xemu was already in there? 😂
I could create same infinite loop by putting no lines that would need to be used to match to the emulator/game window. for ex....
Though there is text here, they have the intended comment marker that the WindowCast core uses, and my script is using them in the same fashion, skipping a line if that is found in said line.
This results in nothing being pushed into an array, which I then use the qty of entries in that array to determine the qty of loops needed. So if it's 0 the infinite loop can happen. This is why I think your file isn't being read/parsed and/or pushed into the array.
I can take your files, change the path of the two needed variables, that being Retroarch and WindowCast.txt and it works for me. So far, I think something specific is causing your system to not read/parse the file appropriately. It does explain why it works manually, but not through this script.
I'm gonna need to make some special script for you in order to troubleshoot further. Still need to determine why it's going off the rails for only you.
I've added a message box to display right at start to show the exact contents of the file being read. You should see a message box just like this, displaying the contents of the file as expected. If you do not, we at least will know this is where it is going off the rails. The rest of message boxes will be blank or nonsense if this first one isn't showing anything. If you see the expected file contents then I got more checks below
If the file is being read properly, next message boxes are checking the contents are or are not getting pushed into the array. Checks line by line starting at top, based on contents of your WindowCast.txt file it should be a no, yes cycle. For ex
Followed by
It will then do the same for the PCSX2 and Xemu entries
Once it makes it through the file it should display one more message box showing the qty of entries in the array, which is how many loops it runs in order to check each one of these lines for an existing window or process. Should be 3 entries based on your WindowCast.txt file
Please try this version of the script to see how these message boxes behave. Let me know how it goes!
SpoilerSetWorkingDir, % A_ScriptDir SetTitleMatchMode, RegEx ; seems to work like mode 2 (partial match) but allows for use of expressions RetroarchWinTitle := "ahk_exe retroarch.exe" RetroarchEXE := "M:\Launchbox\Emulators\RetroArch - WindowCast\retroarch.exe" WindowCastFile := "M:\WindowCast\WindowCast.txt" WindowCastListArray := [] TimeOutDelay := 10000 ; close script if game/emulator window is not found in X seconds RunRetroarchDelay := 1500 ; delay between finding game/emulator window and then opening Retroarch FocusHotkeyDelay := 2000 ; delay between launching Retroarch and sending hotkey to grab focus of game/emulator window. *HDR/Fullscreen method ONLY* ; Read WindowCast window list file and parse into array FileRead, WindowCastList, %WindowCastFile% MsgBox, 4096, TROUBLESHOOTING #1, % WindowCastList Loop, Parse, WindowCastList, `r, `r`n { If (InStr(A_LoopField, "#")) { MsgBox, 4096, TROUBLESHOOTING #2, % A_LoopField . " was NOT pushed into array" Continue } WindowCastListArray.Push(A_LoopField) MsgBox, 4096, TROUBLESHOOTING #3, % A_LoopField . " WAS pushed into array" } MsgBox, 4096, TROUBLESHOOTING #4, % "WindowCastListArray.Count() = " . WindowCastListArray.Count() ; Loop through list to check which window exists InitialTime := A_TickCount WindowCheck: Loop, % WindowCastListArray.Count() { ; Check if entry is an exe If (InStr(WindowCastListArray[A_Index], ".exe")) { If (WinExist("ahk_exe " . "i)" . WindowCastListArray[A_Index])) { ExistingWindow := WindowCastListArray[A_Index] Break } } ; If entry is not an exe, it is a window title Else If (WinExist("i)" . WindowCastListArray[A_Index])) { ExistingWindow := WindowCastListArray[A_Index] Break } DurationTime := A_TickCount - InitialTime If (DurationTime >= TimeOutDelay) { MsgBox, 4096, Window Check Timeout, Couldn't find existing window. Exiting script! ExitApp } } If (ExistingWindow = "") Goto, WindowCheck Sleep, RunRetroarchDelay Run, %RetroarchEXE% -L wgc_libretro.dll %WindowCastFile% -f WinWait, % RetroarchWinTitle Sleep, % FocusHotkeyDelay ; Sends hotkey to give focus to game window so inputs are detected Send {LCtrl down}{LAlt down}{t down}{t up}{LAlt up}{LCtrl up} If (InStr(ExistingWindow, ".exe")) WinWaitClose, % "ahk_exe" . "i)" . ExistingWindow Else WinWaitClose, % "i)" . ExistingWindow WinClose, % RetroarchWinTitle ExitApp ; Hotkey to exit Retroarch and terminate script $Esc:: ; keyboard modifier ($) is needed so input isn't "eaten" by the game WinClose, % RetroarchWinTitle ExitApp
-
21 hours ago, SiriusVI said:
OK got it, so this is how it starts:
Once I scroll down to the end, it looks like this:
Again for reference, I use this script now:
SetWorkingDir, % A_ScriptDir SetTitleMatchMode, RegEx ; seems to work like mode 2 (partial match) but allows for use of expressions RetroarchWinTitle := "ahk_exe retroarch.exe" RetroarchEXE := "M:\Launchbox\Emulators\RetroArch - WindowCast\retroarch.exe" WindowCastFile := "M:\WindowCast\WindowCast.txt" WindowCastListArray := [] TimeOutDelay := 10000 ; close script if game/emulator window is not found in X seconds RunRetroarchDelay := 1500 ; delay between finding game/emulator window and then opening Retroarch FocusHotkeyDelay := 2000 ; delay between launching Retroarch and sending hotkey to grab focus of game/emulator window. *HDR/Fullscreen method ONLY* ; Read WindowCast window list file and parse into array FileRead, WindowCastList, %WindowCastFile% Loop, Parse, WindowCastList, `r, `r`n { If (InStr(A_LoopField, "#")) Continue WindowCastListArray.Push(A_LoopField) } ; Loop through list to check which window exists InitialTime := A_TickCount WindowCheck: Loop, % WindowCastListArray.Count() { ; Check if entry is an exe If (InStr(WindowCastListArray[A_Index], ".exe")) { If (WinExist("ahk_exe " . "i)" . WindowCastListArray[A_Index])) { ExistingWindow := WindowCastListArray[A_Index] Break } } ; If entry is not an exe, it is a window title Else If (WinExist("i)" . WindowCastListArray[A_Index])) { ExistingWindow := WindowCastListArray[A_Index] Break } DurationTime := A_TickCount - InitialTime If (DurationTime >= TimeOutDelay) { MsgBox, 4096, Window Check Timeout, Couldn't find existing window. Exiting script! ExitApp } } If (ExistingWindow = "") Goto, WindowCheck Sleep, RunRetroarchDelay Run, %RetroarchEXE% -L wgc_libretro.dll %WindowCastFile% -f WinWait, % RetroarchWinTitle Sleep, % FocusHotkeyDelay ; Sends hotkey to give focus to game window so inputs are detected Send {LCtrl down}{LAlt down}{t down}{t up}{LAlt up}{LCtrl up} If (InStr(ExistingWindow, ".exe")) WinWaitClose, % "ahk_exe" . "i)" . ExistingWindow Else WinWaitClose, % "i)" . ExistingWindow WinClose, % RetroarchWinTitle ExitApp ; Hotkey to exit Retroarch and terminate script $Esc:: ; keyboard modifier ($) is needed so input isn't "eaten" by the game WinClose, % RetroarchWinTitle ExitApp
I'll attach the file here as well.
I do not get the message box you mentionied. It's just that nothing happens when I double click the script. Except that AutoHotKey appears in my task bar with the contents that I uploaded above.Thanks. This confirms the script is stuck in an infinite loop that is skipping over the body of a loop due to not reading your WindowCast.txt file appropriately. Further confirmed you never get the timeout message since it never reaches that line. As far as I can tell the root problem is the script not reading/parsing anything from your WindowCast.txt file otherwise it wouldn't be doing this loop body skipping. I was able to recreate the same issue with the infinite loop so I can prevent it, but need to confirm you did the same or something similar to get into an infinite loop too. I should be able to connect the dots after reviewing and trying out your WindowCast.txt file
You forgot to upload the WindowCast.txt file. I need the file you are using located at M:\WindowCast\WindowCast.txt
I did improve the script to throw a different error when this happens as well as prevent the infinite loop.
No redflags in the .ahk file! And that clarifies which version you were using so I know I'm testing with the same.
Attach that WindowCast.txt file and I'll check it out and get back to ya
-
1
-
-
Will need you to provide the info I asked for and then some more. There is some unknown challenge on your end we're trying to figure out.
On 4/26/2025 at 1:23 PM, skizzosjt said:if it's not working at this point you should check the AHK tray icon and review the lines of code that have been executed. I would suspect either the script is exiting too soon for some currently unknown reason or some configuration or typo kinda issue. reviewing the lines executed will let us know what ran and where it's stuck if it is stuck. post an image of that window if needed
so, you need to post an image of the most recent executed lines when the script is allegedly stuck. for ex, here is what it should look like once you're fully booted into a game. use the full version rather than the shorter version you posted just now.
click on the AHK script's tray icon to bring up this window and post a screen shot, for ex
I'll need the whole script you're using. So, you need to post the script you are using with your edits in its entirety (the full version rather than what you posted just now that is shorter). use the code tag button (<>) when posting code.
Additionally lets cover all bases here, please post (upload the file - do NOT just paste the contents) the WindowCast.txt file you are using.
When you say the full script doesn't work, do you consistently get this message box? -
5 hours ago, SiriusVI said:
Hey thx for replying. Did some further testing:
Manually starting Xemu and then manually launching WindowCast works.
Launching this ahk script also launches retroarch: Run, "M:\Launchbox\Emulators\RetroArch - WindowCast\retroarch.exe"This ahk script just freezes retroarch and I have to terminate the process: Run, "M:\Launchbox\Emulators\RetroArch - WindowCast\retroarch.exe" -L wgc_libretro.dll "M:\WindowCast\WindowCast.txt"
I also get the freeze when just trying to launch this via CMD. I can see that WindowCast is trying to capture the Xemu window (yellow outlines aroundthe game window), but Retroarch crashes. Same behavior with Dolphin.
Again, running windowcast manually works perfectly.
EDIT:
I think I got it. It's Gsync. If Gsync is enabled in RetroArch, CMD and AHK crash Retroarch during the window capture. If it's disabled it works.
But again, when manaully starting WindowCast, it works fine, even wuth Gsync enabled.Ahh ok so that's good news, and bad news lol
Good news is the script "works", it is finding the emulator window, it is launching Retroarch. So good so far
Bad news is the core is buggy and finicky.
For ex, I am now launching Ninja Gaiden Black again and.....it works perfectly. Every. Single. Time. didn't change a damn thing from this morning lol. The window is getting focused appropriately via the script making it all automated as intended. I guess I'd rather be lucky than good because I have no idea why it wasn't working earlier, and why it is now
I'm on an AMD GPU but I had found many scenarios of weird with this core. No windows with "windowcast" in its title can exist.....I find that out from testing with this thread open. If minimized it can capture Firefox's minimized window and makes it look like Retroarch launched but froze before a window even appears. In reality what happened is it literally captured a minimized window lol. I then restore the Firefox window and that gets captured in Retroarch🤦♂️. Doesn't make much sense given there is nothing in the WindowCast.txt file that would make that window get captured hence why I think it is some bug with the core.
There is some discussion about GPU settings scattered in that link in the first post. There might be some hidden hints in there for you.
Alternatively, if you are using that very first version of the script I posted, you might be having challenges like I did for some scenarios where launching Retroarch into fullscreen was the issue. If you're using the first one, try the 2nd version instead, the "SDR" version. It will make Retroarch more of less a borderless fullscreen window and I found this as a workaround. It is always consistent unlike directly launching into fullscreen. YMMV though
So overall sounds like the script is doing what it was set out to do but something specific is causing a challenge on your system. And sounds like you found the potential culprit as Gsync. I'd believe it, there have been weirder things impacting my experience with this core!
-
8 hours ago, SiriusVI said:
Hey man,
I'm trying to get this ahk working in Launchbox. I copied your script in a txt document and saved it as WindowCast.ahk. I added my paths like so:RetroarchEXE := "M:\Launchbox\Emulators\RetroArch - WindowCast\retroarch.exe"
WindowCastFile := "M:\WindowCast\WindowCast.txt"I put the file in M:\Launchbox\Utilities\Scripts\WindowCast and in Manage Emulators for Xemu I added in the running script section: Run, M:\Launchbox\Utilities\Scripts\WindowCast\WindowCast.ahk
However when I launch a game, Xemu starts like normal, but Retroarch never launches. So Am I doing something wrong here? (I of course tried WindowCast before from Retroarch and it works fine there.)
Can you help me?
EDIT: When first trying this, Windows asked me which program I wanted to use for .ahk files. I chose M:\Launchbox\ThirdParty\AutoHotkey\AutoHotkey.exe
I assume this was correct?sure thing mang
Xemu might be some funny business here. I didn't previously test it. I did get it to work right now but it wasn't very automated. I had to use keyboard/mouse to ALT+TAB to the actual emulator window, mouse click into the emulator window, and then ALT+TAB back to the Retroarch window, and THEN use the CTRL+ALT+T hotkey (the WindowCast specific hotkey to change window/control focus) to get the darn window to focus for controls to work. Also seems how this emulator renders affects how a shader would be applied. for ex, I'm not sure why the heck there are black bars on the side here. It's effectively cropping the image used for the shader as this image is 16:9 ratio so should cover edge to edge. aspect ratio is correct, but it's getting cropped. First emulator I've seen do this to me.
*further testing proves the keyboard is not sufficient to get proper window and controls focus. for ex, I can launch the game/emulator and then the script and I get no controls in game. I can still see the mouse cursor so I do a normal left mouse click where I know the actually emulator window is and now I have controls. so, seems like Xemu doesn't give controls unless it is first put into focus that way.....would require different methods to make this wholly automated
Doesn't sound like you did any redflag wrong moves. for the AHK question that is what Windows calls file extension association. You must have never opened an .ahk straight from Windows Explorer so it didn't know what program to use to open it. It needed to be directed to the main AutoHotkey.exe file in order to run .ahk files. You got that right. Doesn't matter if you use the exe included with LB or if you setup AHK yourself and placed it wherever you wanted. It will remember that going forward so should be a set it and forget it thing
clarify for me, this works for you if you launch an Xemu game manually, and then launch Retroarch manually and load the WindowCast core manually? if so, we at least know you got the WindowCast.txt file with proper name in there
Note the game/emulator window should be a window rather than fullscreen. Actual window, not a borderless fullscreen window. I do not have the full screen command used for Xemu here.
Running the script should be first line in the running script field to make sure it executes. if you put it below something like a hotkey or a WinWait command it may never make it to the Run command line. I wonder if this is the issue for you?
further testing if you're still getting stuck.....
launch Xemu manually. from what I can tell the last loaded game should boot up automatically. so at this point you should be running Xemu and booted into a game and it should be in a window mode
next, manually run the WindowCast.ahk script from Windows Explorer. it should work fine like this. if it doesn't it could be something is not configured right in the script for you
if it's not working at this point you should check the AHK tray icon and review the lines of code that have been executed. I would suspect either the script is exiting too soon for some currently unknown reason or some configuration or typo kinda issue. reviewing the lines executed will let us know what ran and where it's stuck if it is stuck. post an image of that window if needed
come back with how you make out and we'll go from there!
-
5 hours ago, Fursphere said:
Did you install the 3rd party Codex pack? WMP needs it. The 'K-Lite' Codec pack pretty much fixes all issues for WMP... https://codecguide.com/download_kl.htm
yes I have proper codecs installed, otherwise webm format wouldn't play at all when using WMP. I was mentioning there are still hit and miss issues with handling audio with webm format within Big Box.
I need to amend this comment
On 3/31/2025 at 12:18 PM, skizzosjt said:WMP doesn't seem to support pause/resume properly within Big Box. So when in the platform wheel and you land on a platform, lets say Nintendo 64, the video will start playing. No problems so far. you go into the Nintendo 64 game wheel, and once you are done in the game wheel and back out to the platform wheel the Nintendo 64 platform video does not resume where it left off. it restarts at the beginning of the video. this creates a black screen flash on the video. VLC utilizes pause/resume appropriately by comparison when going into another view or launching a game and returning to the frontend.
I want to clarify that WMP does support pause/resume on the game details screen using the "stop video" selection which changes to "play video" when it is stopped. it will resume right where it was stopped. so it seems the play/resume issue is in fact regarding anytime it's transitioning from one view to another (or stuff like viewing images on the game detail screen). but I got a part wrong saying it's also an issue when launching games and returning to the frontend. I tried a handful more attempts tonight and each time it worked. videos resumed right where they left off when the game launched once I returned to the frontend. sorry for any confusion on my end there regarding that point.
-
On 3/31/2025 at 4:34 PM, faeran said:
We'll look into if this is possible for WMP to support. I really hope so.
In my opinion pause/resume support is hardly as important as figuring out why support for webm format videos are so hit and miss. audio does not play for many webm videos only in Big Box despite said webm videos playing with sound fine when played through WMP outside of Big Box. VLC in Big Box handled all webm format videos OK by comparison.
-
1
-
-
2 hours ago, kobaturtle said:
I have issues with last beta caused by WMP default player in BigBox
- stutter between system transition in Colorful theme (Flawless with VLC, juts tested with a rollback to 13.20).
- System video randomly not starting result with black screen
- System color missmach in Colorful theme so I guess WMP renders colors differently?
Can you restore VLC option?
WMP doesn't seem to support pause/resume properly within Big Box. So when in the platform wheel and you land on a platform, lets say Nintendo 64, the video will start playing. No problems so far. you go into the Nintendo 64 game wheel, and once you are done in the game wheel and back out to the platform wheel the Nintendo 64 platform video does not resume where it left off. it restarts at the beginning of the video. this creates a black screen flash on the video. VLC utilizes pause/resume appropriately by comparison when going into another view or launching a game and returning to the frontend.
-
7 hours ago, xokia said:
trying to get full screen on xm6g. Here is what I have tried it still doesnt go full screen
SetTitleMatchMode, 2
WinWaitActive, xm6g.exe
Sleep, 1000
Send {Alt down}{Enter down}{Alt up}{Enter up}I think you are trying to use the executable name rather than the window's title. if so you need to add the proper "AHK criteria" bit ie "ahk_exe" since you want to use the executable.
I'd go one step further and declare which alt key is pushed too, using the right one here since that's normal when combo'd with enter.
WinWaitActive, ahk_exe xm6g.exe Sleep, 1000 Send {RAlt down}{Enter down}{Enter up}{RAlt up}
-
1
-
-
also came here to ask is VLC no longer an available option going forward?
this would be a terrible thing to implement from my perspective. though I have codecs for webm video files I apparently never noticed when using WMP how many of these videos do not play sound until just now! all play the videos OK, but WMP plays lots of webm videos without sound. please look into this because this missing sound issue only happens in Big Box (maybe in LB too? idk since I don't use vids in LB). said webm videos play fine with sound when I launch them with any media player directly from Windows Explorer. that includes Windows Media Player, VLC and "Media Player" and "Movies & TV" media player apps.
additionally, the biggest issue is difference between VLC and WMP is they have different color management and even impact dimensions! WMP stretches the video's content width-wise relatively compared to VLC. I knew about the color handling difference between them for for a while, but more recently discovered WMP even impacts only the width dimension. Height does not change though. I know due to having a theme where the platform and game views both have exact same bezel/overlay where videos play and they are perfectly aligned between them and it's noticeable that things grow/shrink when moving between those views using WMP. On the other hand it looks perfect when using VLC since that is what I was using when aligning everything. being forced to use WMP will ruin all the hard work I put into a custom theme and is why I would expect VLC to remain available, along with resolving any long term freezing or related issue that has been recently suspected to be tied to it.
-
17 hours ago, W4rCh1ld said:
Yeah it because im trying to make the default emulator retroarch as much as possible, but also have the more regularly updated / more powerful / more settings exe version for some platforms too, (many examples; dolphin core / dolphin standalone, Swanstation Core / Duckstation, Flycast Core / Redream, etc etc) and with retroarch being able to get into its setting with F1, where as the non default often i want to make game specific changes before launch so its alot more often / common to want to boot the non default vs the actual default... but you have made me think that yeah i could just go with some sort of work around (which honestly is kinda dumb and far from "neat" and pleasing etc) like you've suggested, but as its not "really" for certain / specific single game instances but just because i want to access the emulator as and when i want without manually going to its folder and booting it... so what ive done is;
Added the emulator as "a game" called it - !1 [Emulator Name],
Set its exe as the Launching/ Application Path,
Unchecked the "use an emulator to play this game" box
Favorite'd it.
This launches the emulator directly, has it listed first and foremost in the systems game list (due to being called !1 and fav),
Kinda dumb imo, but it works.
ahh ok that works, it's the same idea but has a dedicated entry rather than being an additional app to existing entries.
you can leave the standard title as something more pleasing like "Duckstation" so it reads normal and then use the sort title field to cram it up to the #1 spot. call it "!1Duckstation" or whatever needed in the sort title so it becomes first. depending on if you have the setting enabled in Big Box, making a game a favorite can also automatically cram it into the top/first slot of the game wheel.
It's not dumb if it works and gets the job done!
-
3 hours ago, W4rCh1ld said:
Frustrating, as im more likely to want to boot into non default apps than i am the default one. lol
I assume because you actually have these alternative emulators assigned to at least a single game for whatever platform your in? if so, if you can recall which game(s) specifically have the alternative emulator already assigned as its default emulator, you can go to that game and launch the emulator from right clicking on it there. so if you have every game using the same default emulator that plan falls apart.
another way would be to add the emulator as an additional app to the game(s). you can then use the additional apps menu from the right click context menu to open the alternative emulator. there is a bulk additional app plugin that would do the tedious work for you
additional apps can be configured to either do nothing when you launch a game (which is what you want to do here) but they also can be configured to either launch before a game launches, or after a game exits. just leave all that stuff unchecked which means it can only be launched through the user manually doing it through the right click context menu in LB or the game's detail screen in BB
after trying this just now the only downside I see is if you have startup/shutdown screens enabled they seem to get triggered just from launching an additional app?! I don't necessarily recall that being the way it worked in the past but I could be wrong there. so it's annoying to let the startup screen come up and time out before you can actually see/interact with the emulator you just opened
-
1
-
AutoHotKey Script: Trying to close EA app upon game exit in Launchbox
in Troubleshooting
Posted
I don't really use EA often at all. I have two games on it, which are actually Steam games but it still launches the EA launcher too (boy that is a pet peeve of mine - only one launcher, please lol) Last game I would have played a few times was Star Wars Jedi Knight (over a year ago) and I don't ever recall the EA launcher popping back up after exiting the game. I had to update the launcher to test this and it def does pop back up every time I exit a game now. So seems like new behavior for their latest app version.
yea def can launch these games directly, but same here, the launcher window is restored at game exit each time.
@Bucky can you also try using AHK to close the EA launcher? create another script with just a single line to close this window. put it on your desktop and double click it to run it from there. if this doesn't close the window then we know something def going on on your end preventing it from working
WinClose, ahk_exe EADesktop.exe
that pop up about needing admin privileges is suspicious but from what I can tell it's doing that to the game, not the launcher. AHK cannot close apps/windows that have admin privileges unless the script is also launched with admin privileges. but we're only using AHK to close the launcher rather than the game.
if still not working, as a last ditch effort you can try making the script run with admin privileges but this opens another can of worms because you would need to always click yes on the UAC prompt to allow the script to use admin privileges so not exactly fully automated
Here is the instructions from AHK docs. you just add this at start of a script
https://www.autohotkey.com/docs/v1/lib/Run.htm#RunAs
full_command_line := DllCall("GetCommandLine", "str") if not (A_IsAdmin or RegExMatch(full_command_line, " /restart(?!\S)")) { try { if A_IsCompiled Run *RunAs "%A_ScriptFullPath%" /restart else Run *RunAs "%A_AhkPath%" /restart "%A_ScriptFullPath%" } ExitApp } WinClose, ahk_exe EADesktop.exe