
VlcUser
Members-
Posts
10 -
Joined
-
Last visited
Everything posted by VlcUser
-
Bilgus, YOU ROCK! i put in the co-ords you suggested, then played around with the inactivewindow coords (using AU3Info) and it works perfectly!!!! Everybody clap for Bilgus!!!!
-
k, will try this asap, especially with the co-ords...my extended is off to the right as well... did you get my PM?
-
Hi, Bilgus i have been studying and playing with your script since you posted it a few hours ago, and first i have to say WOW and THANK YOU. when i play an mp3, it plays normally, and the VLC window stays on the laptop...perfect! when i play an mp3, VLC immediately displays and plays it in full screen, and when it finishes, VLC returns to normal...perfect! the mp4 does not go to the alternate (extended) display, it plays on the laptop. Upon examining your script line by line and playing with it, i edited as follows: i exited the script, and deleted the .ini file it created, then edited the line in your script: Global $g_sKeysSend_Act = IniRead($gsINI_PATH, $gsCFG, $gaSettings[$geCfg_KeysAct], "f") ;(#Win)(+Shift)(arrow)(f)ull screen to read Global $g_sKeysSend_Act = IniRead($gsINI_PATH, $gsCFG, $gaSettings[$geCfg_KeysAct], "#+{left}f") ;(#Win)(+Shift)(arrow)(f)ull screen so that it would send the key combination to make the active window jump to the alternate video. Then i ran the script, and played an mp3...all perfect once again. I played an mp4 file, and there was no change, the mp4 still played in fullscreen on the laptop. i checked the .ini file and it had indeed stored "#+{left}f": [Config] Exec_Name=bilgus_Orig.exe CloseOnInactive=0 MaximizeOnActivate=0 ExitOnFilesLessThanMB=0 KeyDelayMS=100 KeyDownDelayMS=50 KeysOnActivate=#+{left}f KeysOnInactive= FileTypes=mp4,avi,mkv,wmv WindowName=VLC media player WindowText_Fallback=VLC (Direct3D output) InactiveWindowCoords=0 ActiveWindowCoords=0 in desperation, i thought i'd try the "damn the torpedoes, full speed ahead" tactic, and so i also edited this line (in two places where i found it): If $sKeys <> "" Then ControlSend($hWin, "", 0, $sKeys) ;Send($sKeys) to this If $sKeys <> "" Then ControlSend($hWin, "", 0, "#+{left}f") ;Send("#+{left}f") but that failed miserably. i am in over my head, fer sure! any suggestions? thank you so much, and i sent you another PM
-
Bilgus: wow! i had absolutely no idea that sending 6 keystrokes would get so involved! PM sent to you.
-
Hi, Bilgus Basically, you've got the idea. Up to now, i've always been OK with VLC running on the laptop display because i've only used mp3s. i am now implementing mp4s as well, so i could play a number of mp3s, then an mp4 etc etc, the clips get picked totally at random. My application (already written) runs an internal set of commands which picks the clip and sends it to VLC. This set of internal commands knows if it sent an mp3 or an mp4 and if it's an mp4, can then also tell the computer to execute the AutoIt script. So: The vlc window just finished playing mp3(s) on the laptop screen, when i send an mp4, i want it to go to the extended monitor...windows will do this to the active window with a WIN+SHIFT+LEFTARROW key combination. Once VLC is on that screen, i need to go full screen, so with VLC still active (ALT V F). When the mp4 is finished playing, VLC automatically exits full screen (which is good...) and then another WIN+SHIFT+LEFTARROW key combination will send VLC back to the laptop. The suggestion of calling vlc_orig.exe from a script called vlc.exe has already been tried, but doesn't work because VLC is already running. It seems that VLC only reads the parameters --fullscreen when it initially starts up, however, VLC is already running and won't jump to fullscreen if i send that parameter again (i have VLC set to run one instance only, because during the course of running my program over a few hours, i could easily send over 300 clips to it.) At this point, i am just trying to even see if i can get AutoIt to pause playing in VLC...that way i know that at least i am sending to the application. So far (unsuccessful): Opt("WinTextMatchMode", 2) WinActivate ("VLC media player","") Sleep (500) Send ("{space}") Thank you!
-
#include <MsgBoxConstants.au3> Opt("WinTextMatchMode", -2) WinActivate ("CLASS:VLC media player","") If WinActive("[CLASS:VLC media player]") Then ; Check if VLC is currently active. MsgBox($MB_SYSTEMMODAL, "", "WinActive" & @CRLF & "VLC is active.") Else MsgBox($MB_SYSTEMMODAL, "", "WinActive" & @CRLF & "VLC is not active.") EndIf
-
Thank you so much, Batman, i will work on your advice as a newbie on this forum, i didn't know that it was expected for me to post my unsuccessful efforts to prove my commitment to solving my problem. Here is the final (unsuccessful) edit of what i've been trying (just to get AutoIt to acknowledge VLC is running):
-
Sorry to give the impression that I had not tried solving this. I spent literally all day today just trying to get autoit to tell me if VLC was active or not, and couldn't even get that far, although I cut and pasted from example scripts about automating notepad. in frustration and desperation, I turned to this forum, hoping someone could solve in a short time what has already taken me a day with nil result. Could you please direct me to the proper forum to post my query?
-
sorry, correction to the previous post: Hold down the ALT key, tab V then F .... this makes VLC play in full screen ( view menu > fullscreen ) should not say "tab", it should say "tap" and be: Hold down the ALT key, tap V then F .... this makes VLC play in full screen ( view menu > fullscreen )
-
hello, and thank you in advance. i just downloaded AutoIt after giving up trying to automate this procedure myself using other automation programs. Hopefully, what i've been reading is true, and AutoIt will be able to do the following for me. You can assume the following: VLC is running. An MP4 is loaded and playing. The window title can change as different MP4s get loaded, but "VLC media player" is always part of the title. If an MP4 is actually playing, the string _edit.mp4 becomes part of the window title as well. The script will only be called on demand. There are exactly two monitors...the laptop and one HDMI external. Sometimes VLC plays an MP3, and so VLC should only appear on the laptop. But when an MP4 get played, i need it on the external (extended) HDMI monitor, in full screen. The script can be invoked by the same procedure in my application that chooses the MP4 and sends it to VLC. Optionally, i could have the user click a button in my application to invoke the AutoIt script: Here is the exact sequence of keystrokes i use manually to accomplish what i need: Click on VLC to make it the active window Hold down WIN and SHIFT then tap the left arrow key ...this sends the VLC window to the alternate monitor Hold down the ALT key, tab V then F .... this makes VLC play in full screen ( view menu > fullscreen ) When the MP4 finishes playing, VLC automatically returns to the small window. (can autoit detect that the mp4 is finished playing because all my MP4 titles have the string _edit.mp4 in them, so can AutoIt look at the window title and determine that it does not contain that string?) Hold down WIN and SHIFT then tap the left arrow key ...this sends the VLC window back to the laptop ... (If AutoIt cannot detect the end of the MP4, this could be another button in my application that calls an AutoIt script to do this step.) Again, thank you. i may have some other automation needs and would consider $$ in return.