Jump to content

Episode Seeker


EmilyLove
 Share

Recommended Posts

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 =D

Global $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

 

 

 

Link to comment
Share on other sites

I had to re-start the PC after running your code 

Care to enlighten the OP what exactly happened so they can fix it.

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 parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

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.
autoit_scripter_blue_userbar.png

Link to comment
Share on other sites

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 by BetaLeaf

 

 

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...