EmilyLove Posted September 13, 2015 Posted September 13, 2015 I watch alot of anime and stuff and some sites don't have navigation to go to the next or previous episode or it's inconvenient. To resolve my delima, I created a script to change episodes at the press of a hotkey. It will work with any site that tracks the episode via url, in sequential order, and isn't also tracked by another identifier. Sites like Hulu and Crunchyroll won't work (tho their navigations is anything but inconvient). No this is for more obscure websites that have a simple url layout like www.example.com/video/bleach-024-engligh-dub.To start up it will give you instructions. Hover over the first digit of the episode in the url(in the above example, you would put your mouse over the 0) and press Ctrl+Insert to set the coordinates. From now on, when you press Ctrl+Left/Right, you will go forward or back an episode based on which button you pressed. It clicks the url, copies the ep number only, changes the ep number in variable, format it for leading 0 to match the source, and paste back in and submit, all in half a sec. It also attempts to exit full screen by pressing esc.Here is the source. You don't need to do anything special to compile it. All of my works are open source and licensed with GPLv3. Enjoy =Dexpandcollapse popupGlobal $x = "656";some default coordinates to load on start Global $y = "44" ;^ Opt("WinTitleMatchMode", -2);Case insensitive ANYWHERE match mode HotKeySet("^{ins}", "GetCoord") HotKeySet("^{left}", "SeekPrev") HotKeySet("^{right}", "SeekNext") MsgBox(0, "How To Use", "Move your mouse under the first digit in the url that keeps track of which episode you are on, then press Ctrl+Insert.") While 1;idle when not in use Sleep(1000) WEnd Func SeekPrev() Seek("Left") EndFunc ;==>SeekPrev Func SeekNext() Seek("Right") EndFunc ;==>SeekNext Func Seek($direction) ClipPut("");Erase contents of clipboard. Select ;First one that is true is the only one that gets used. If you have other browsers running, you may need to reorder this list. Case ProcessExists("iexplorer.exe") = True ;If iexplorer.exe is running then... $wintitle = "Internet Explorer";Use internet explorer. Case ProcessExists("MicrosoftEdge.exe") = True $wintitle = "Microsoft Edge" Case ProcessExists("opera.exe") = True $wintitle = "Opera" Case ProcessExists("firefox.exe") = True $wintitle = "Firefox" Case ProcessExists("chrome.exe") = True $wintitle = "Chrome" Case Else;Throws an error message incase you used a browser that is not set up. MsgBox(0, "Incompatible browser used.", "Unable to find a compatible browser to manipulate. Please use one of the follow browsers and try again: Chrome, Firefox, Opera, Microsoft Edge, Internet Explorer." & @CRLF & "You could also add an entry for your own browser. See Lines 24-33.") Exit EndSelect WinActivate($wintitle);Activate the window if it wasn't focused ControlSend($wintitle, "", "", "{esc}");Exit fullscreen (Note: ESC does not exit fullscreen on some sites) Sleep(50);give your browser some time to exit fullscreen. ControlClick($wintitle, "", "", "left", 2, $x, $y);Click where you set the coordinates. Do ControlSend($wintitle, "", "", "^c");Copy selected text to clipboard. $clipboard = ClipGet();Get the contents of the clipboard and store it in a string variable. Until StringLen($clipboard) > 0 ;Error Check Function, Make sure something was copied into the clipboard, else it waits until something is copied. It should be the value of the current ep you are on. $format = '%0' & StringLen($clipboard) & 'd'; Set the text format to be the same length as the original, padded with any 0's the original had. If $direction = "Left" Then ;If launched with Seek("Left") then decrease ep counter $clipboard = $clipboard - 1 Else;Else Increase it $clipboard = $clipboard + 1 EndIf $clipboard = StringFormat($format, $clipboard);format updated clipboard variable ClipPut($clipboard);write to clipboard the contents of $clipboard ControlSend($wintitle, "", "", "^v");paste clipboard, replacing the old ep in the url with tne new one. Sleep(50);Some browsers need to wait a moment after pasting, else it won't submit the correct request to the requested page. ControlSend($wintitle, "", "", "{enter}");Submit request to website. EndFunc ;==>Seek Func GetCoord();This function sets the coordinates to be used in Seek() Local $coord = MouseGetPos();Get mouse Coordinates $x = $coord[0];Rewrites previous global variable $y = $coord[1];Rewrites previous global variable MsgBox(0, "Coordinates Updated", "X = " & $x & "." & @CRLF & "y = " & $y & "." & @CRLF & @CRLF & "Press Ctrl+Left to Seek Back" & @CRLF & "Press Ctrl+Right to Seek Forward") EndFunc ;==>GetCoord
argumentum Posted September 14, 2015 Posted September 14, 2015 I had to re-start the PC after running your code Celtic88 1 Follow the link to my code contribution ( and other things too ). FAQ - Please Read Before Posting.
guinness Posted September 14, 2015 Posted September 14, 2015 I had to re-start the PC after running your code Care to enlighten the OP what exactly happened so they can fix it. EmilyLove 1 UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018
argumentum Posted September 15, 2015 Posted September 15, 2015 Care to enlighten the OP what exactly happened so they can fix it.sure, I loaded the code an run it here on this same page. It did not like it. No big deal. The Ctrl key got stuck or something. I should have not run it. I was lazy and curious . My bad. Follow the link to my code contribution ( and other things too ). FAQ - Please Read Before Posting.
EmilyLove Posted September 16, 2015 Author Posted September 16, 2015 (edited) Yea, sorry. I have no idea how to fix CTRL key getting stuck. I have tried sending down and up commands in previous scripts but it still glitches up. You can also just close the script from the tray in the taskbar (near the clock) if you have issues.It should also be noted that this script was designed to work with sites that host videos and follow a certain url pattern. It's pointless to use this script on this website. Edited September 16, 2015 by BetaLeaf argumentum 1
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now