Skip to content

Releases: Tomshiii/ahk

v2.10.1.1 - Hotfix

24 Feb 00:41
Compare
Choose a tag to compare
  • Fix installation erroring out due to errorLog() not being defined (#15)

> Functions

  • prem.zoom() now has a 250ms delay before attempting to change the current zoom. This allows the function to count how many times you press the activation hotkey before attempting a zoom
  • obj.imgSrch & checkImg() now take their x/y coordinates as an object instead of individual paramaters

> Other Changes

  • Add resetAEtrans.ahk

v2.10.1 - Stability Update

23 Feb 00:34
Compare
Choose a tag to compare
The download for this release has been removed as it contained a bug making installation impossible. Please download v2.10.1.1 or above

  • Combined getcmd() & runcmd() into class cmd {
  • Combined allKeyUp(), allKeyWait() & checkKey() into class keys {

> Functions

  • Add Mip { to automatically create a Map() with CaseSenseset to false
  • Fix winGet.AEName() failing to get winTitle when After Effects is in the background
  • checkImg()/obj.imgSrch() now have a parameter to determine whether tooltips will fire when running into errors

Prem()

  • zoom()
    • Client info is now stored in a nested class ClientInfo {
    • No longer requires hard coded logic paths for each new zoom toggle added
  • audioDrag("bleep") can now be cancelled by pressing Esc

> Other Changes

  • Fix Settings.ahk failing to properly set Adjust values if set to 1/0
  • Fix some settings not being properly set within settingsGUI()
  • tiktok project.ahk now prompts the user with a GUI to determine what resolution they wish the project to be changed to
    • Will now Tab through the Sequence Settings menu instead of trying to use ImageSearch

checklist.ahk

  • Fix throwing when title can't be found
  • Fix bug causing VSCode to get closed if open when checklist attempts to open
  • Cut repeat code in main script file

v2.10.0.1 - Hotfix

05 Feb 07:12
Compare
Choose a tag to compare
  • Fix failure to generate a new settings.ini file
  • startup.generate() no longer requires a restart of all scripts

> Functions

  • reload_reset_exit() now ignores all Streamdeck AHK scripts

v2.10 - Settings.ahk, KSA.ahk & HotkeyReplacer.ahk

30 Jan 22:58
Compare
Choose a tag to compare
This release contains a lot of underlying refactoring that completely changes large chunks of the codebase.
  • Added a new class Settings.ahk (#12) that takes complete control over all interactions with settings.ini

    • Handles creating settings.ini if it doesn't exist yet
    • Moved createIni() into Settings.ahk
    • startup.generate() can now add missing settings.ini values
  • Keyboard Shortcut Adjustmenst.ahk (#13) is now a self contained class that automatically generates variables based on KSA.ini

    • Will now alert the user of duplicates
    • = can no longer be used as a hotkey within KSA.ini
  • HotkeyReplacer.ahk is now a self contained class (#14) that takes advantages of Map()'s to quickly and easily find and replace the user's custom values

    • Has complete feature parity while only needing a fraction of the code
    • Will now only run after a symlink has been properly generated

> Functions

  • Fix errorLog() not correctly logging the current date
  • Fix prem.movepreview() sometimes getting stuck in the Effect Controls window
  • prem.preset("loremipsum") now checks for images multiple times to avoid erroring out earlier than necessary
  • Add runcmd() as a wrapper function to quickly send a command to the command line
    • Added Streamdeck scripts ffmpeg.ahk & yt-dlp.ahk to check for updates for both utilities
  • Add unzip() to unzip a .zip folder using a ComObject
  • Moved getcmd() out of Extract.ahk and into its own function file
  • switchTo.AE() & New Premiere.ahk now specifically run the shortcuts for their respective programs found in ..\Support Files\shortcuts\ instead of defaulting to the latest version of either program
  • dark.allButtons() can now pass an object to customise the background colours of the GUI/GUI buttons
  • getHTMLTitle() now uses a ComObject to retrieve the url title instead on relying solely on regex

settingsGUI()

  • Changing Adobe Premiere/Adobe After Effects versions within their respective menu GUI will now automatically generate new shortcuts within ..\Support Files\shortcuts\ to the selected version of the desired program
  • Cache folders for startup.adobeTemp() are now assigned within the desired programs settings GUI

tool.Cust()

  • Fix function throwing an error if a float is passed to the x or y parameters
  • Fix function throwing an error if a number is passed in to the first parameter

monitorAlert()

  • Fix not using ptf values
  • Fix function going ahead if script is reloaded while the alert MsgBox is active

> Other Changes

  • Add pcTimerShutdown.ahk to provide a quick and easy GUI to shutdown your PC after any amount of time up to a max of 9999 hours
  • Fix some duplicate values in KSA.ini
  • MyRelease is no longer a global variable defined in My Scripts.ahk
    • Startup { now gets initiated instead of using purely static functions so that it can share MyRelease and only assign it a value once
  • Multi-Instance Close.ahk now ignores all scripts in ..\lib\Multi-Instance Close\ignoreList.ahk
  • Streamdeck download scripts now use #SingleInstance Off to allow multiple downloads at the same time
  • allKeyUp(), activeScripts(), PC Startup.ahk and reload_reset_exit("exit") can now be called by right clicking on My Scripts.ahk's tray icon

checklist.ahk

  • Fix defaulting to expanded UI
  • Fix hour value getting cut off

autosave.ahk

  • Fix script throwing if After Effects is opened while timer is running
  • Fix script throwing if After Effects is in the background and a save is no longer required

v2.10pre1

28 Jan 03:47
Compare
Choose a tag to compare
v2.10pre1 Pre-release
Pre-release
This release contains a lot of underlying refactoring that completely changes large chunks of the codebase.
  • Added a new class Settings.ahk (#12) that takes complete control over all interactions with settings.ini

    • Handles creating settings.ini if it doesn't exist yet
    • Moved createIni() into Settings.ahk
    • startup.generate() can now add missing settings.ini values
  • Keyboard Shortcut Adjustmenst.ahk (#13) is now a self contained class that automatically generates variables based on KSA.ini

    • Will now alert the user of duplicates
    • = can no longer be used as a hotkey within KSA.ini
  • HotkeyReplacer.ahk is now a self contained class (#14) that takes advantages of Map()'s to quickly and easily find and replace the user's custom values

    • Has complete feature parity while only needing a fraction of the code
    • Will now only run after a symlink has been properly generated

> Functions

  • Fix errorLog() not correctly logging the current date
  • Fix prem.movepreview() sometimes getting stuck in the Effect Controls window
  • prem.preset("loremipsum") now checks for images multiple times to avoid erroring out earlier than necessary
  • Add runcmd() as a wrapper function to quickly send a command to the command line
    • Added Streamdeck scripts ffmpeg.ahk & yt-dlp.ahk to check for updates for both utilities
  • Add unzip() to unzip a .zip folder using a ComObject
  • Moved getcmd() out of Extract.ahk and into its own function file
  • switchTo.AE() & New Premiere.ahk now specifically run the shortcuts for their respective programs found in ..\Support Files\shortcuts\ instead of defaulting to the latest version of either program
  • dark.allButtons() can now pass an object to customise the background colours of the GUI/GUI buttons
  • getHTMLTitle() now uses a ComObject to retrieve the url title instead on relying solely on regex

settingsGUI()

  • Changing Adobe Premiere/Adobe After Effects versions within their respective menu GUI will now automatically generate new shortcuts within ..\Support Files\shortcuts\ to the selected version of the desired program
  • Cache folders for startup.adobeTemp() are now assigned within the desired programs settings GUI

tool.Cust()

  • Fix function throwing an error if a float is passed to the x or y parameters
  • Fix function throwing an error if a number is passed in to the first parameter

monitorAlert()

  • Fix not using ptf values
  • Fix function going ahead if script is reloaded while the alert MsgBox is active

> Other Changes

  • Add pcTimerShutdown.ahk to provide a quick and easy GUI to shutdown your PC after any amount of time up to a max of 9999 hours
  • Fix some duplicate values in KSA.ini
  • MyRelease is no longer a global variable defined in My Scripts.ahk
    • Startup { now gets initiated instead of using purely static functions so that it can share MyRelease and only assign it a value once
  • Multi-Instance Close.ahk now ignores all scripts in ..\lib\Multi-Instance Close\ignoreList.ahk
  • Streamdeck download scripts now use #SingleInstance Off to allow multiple downloads at the same time
  • allKeyUp(), activeScripts(), PC Startup.ahk and reload_reset_exit("exit") can now be called by right clicking on My Scripts.ahk's tray icon

checklist.ahk

  • Fix defaulting to expanded UI
  • Fix hour value getting cut off

autosave.ahk

  • Fix script throwing if After Effects is opened while timer is running
  • Fix script throwing if After Effects is in the background and a save is no longer required

v2.9.2 - Hotfix and Cleanup

14 Jan 04:28
Compare
Choose a tag to compare
  • generateUpdate.ahk will now delete a number of files/dirs that aren't necessary to contain within release files, this helps save on final filesize
  • Changed all methods in classes that are intended to be "private" to start with __
    • eg. __inputs()

> Functions

  • Added allKeyWait() a wrapper function that handles different methods of activating hotkeys/functions
    • Replaced as many instances of simply using KeyWait as possible to make functions less error prone in the event a user calls them in a different way to myself
  • Fixed startup.libUpdateCheck() comparing versions incorrectly
  • Moved isReload() out of startup { and into its own function
  • allKeyUp() will now send Esc after every Key Up event to try and mitigate damage from sending so many keystrokes
  • Refactored activeScripts() to allow for easier expansion and less hard coding

tool.Cust()

  • Fixed not properly returning the original CoordMode
    • Fixes right click resolve macro not working correctly on first use but being fine after
  • Will now check all passed parameters to ensure the correct types are used

> Other Changes

  • Added thqby's print.ahk & JSON.ahk lib files to help with debugging

checklist.ahk

  • Cleaned up a lot of code
  • Refactored to remove all global variables

Listlines & KeyHistory

  • Scripts that do not need to log keys/lines have had them disabled
> The following will no longer log lines so that they don't flood the log
  • tool.Cust()
  • On_WM_MOUSEMOVE.ahk
  • Moved the while loop out of right click premiere.ahk => premKeyCheck.ahk

v2.9.1 - Hotfix

10 Jan 04:58
Compare
Choose a tag to compare
  • Fix installation process failing due to settings.ini file not existing yet
    • Added baselineSettings.ahk to ..\Support Files\Release Assets\ to quickly genereate a baseline settings.ini file in the event that the installation process fails
  • More checks during the installation process to ensure the extraction has actually taken place before deleting files

> Functions

  • Fix startup.adobeTemp() causing errors if the directory doesn't exist
  • Added dark.allButtons() that will convert all buttons defined in the gui to dark/light mode
  • checkInternet() now does more than simply checking if the user is connected to a network
  • detect() now returns the original values as an object
  • prem.movepreview() now has more fallback in the event it can't find the video you're looking to move
  • tomshibasic() will now automatically make the titlebar of the define GUI dark mode if the setting is enabled

disc.button()

  • Update images
  • Fix cursor returning to incorrect position on failure
  • Will do a PixelSearch for the blue colour of the @ ON button if the ImageSearch continuously fails

WinGet

  • Added winget.WinMonitor()
  • Fixed winget.Title() error causing a throw

v2.9.1pre1

10 Jan 00:38
Compare
Choose a tag to compare
v2.9.1pre1 Pre-release
Pre-release
  • Fix installation process failing due to settings.ini file not existing yet
    • Added baseLineSettings.ahk to ..\Support Files\Release Assets\ to quickly genereate a baseline settings.ini file in the event that the installation process fails
  • More checks during the installation process to ensure the extraction has actually taken place before deleting files

> Functions

  • Fix startup.adobeTemp() causing errors if the directory doesn't exist
  • checkInternet() now does more than simply checking if the user is connected to a network
  • detect() now returns the original values as an object
  • prem.movepreview() now has more fallback in the event it can't find the video you're looking to move

disc.button()

  • Update images
  • Fix cursor returning to incorrect position on failure

WinGet

  • Added winget.WinMonitor()
  • Fixed winget.Title() error causing a throw

v2.9 - Huge Refactor

06 Jan 01:31
Compare
Choose a tag to compare

Welcome to the first release of 2023! 🎉🎉
This release is a rather large one, containing a bunch of rather breaking changes to already existing parts of my code. If you use any of my functions for your own tinkering, paying close attention to this changelog is recommended if you're interested in updating.

  • Added class timer { to quickly and easily build more complex timer functionality

> errorLog()

  • No longer takes a backupVar for every parameter instead requiring an Error Object to be passed into the function
  • Can now have an optional message that will appear on a new, tabbed line
  • Can now automatically generate a tool.Cust() tooltip from the passed in error object
    • This parameter can have an object passed into it to generate a custom tooltip, or it will simply generate a default tool.Cust() tooltip that lasts 1.5s
  • Can now automatically throw with the passed in Error Object

> settingsGUI()

  • Editor settings can now be accessed as separate GUIs through the menubar
    • Removed the two edit controls to change prem/ae year from the main GUI
    • These GUI windows offer the opportunity in the future to potentially support more than just one version of AE/Prem

> obj {

Added a new class obj { to maintain a collection of wrapper functions designed to take normal ahk functions and return their VarRefs as objects instead

  • Added obj.WinPos()
  • Added obj.ctrlPos()
  • Added obj.imgSrch() using checkImg()
  • Moved SplitPathObj() and renamed to obj.SplitPath()
    • Fixed all instances of scripts that use this function not having the proper #Include
  • Moved getMousePos() and renamed to obj.MousePos()

> clip {

Added a new class clip { to maintain a collection of functions designed to manipulate the clipboard.
This class helps cut large chunks of repeated code when dealing with the clipboard and waiting for data to be copied.

> coord {

  • Added coord.Client() to set the pixel mode to client
  • Expanded functionality of all functions to accept a parameter to adjust what they want to target

> Functions

  • Added delaySI() to send a string of SendInput commands spaced out with a custom delay
  • Added allKeyUp() to attempt to unstick as many keys as possible by looping through ScanCodes & Virtual Key Codes
  • Added discord.surround() to surround highlighted text with the desired characters
    • Added a hotkey to make ` surround the highlighted text in ` in Discord
  • Fixed block.On() & block.Off() failing to do anything
  • Fixed prem.zoom() erroring out if client hasn't been defined yet
  • Removed prem.num() - it's old code that was superceeded by prem.zoom()
  • checkImg() changed to support all normal ImageSearch ImageFile options
  • settingsGUI() menu dropdown now follows darkmode setting
  • getHTMLTitle() will now replace some html strings with their respective characters
  • prem.movepreview() now uses the program window coordinates to get an initial position for the mouse
  • startup.monitorAlert() can now be muted for the current day
  • If switchTo.AE() encounters multiple .aep files in the project directory, it will now offer the user the ability to select which project to open instead of opening the first one it finds

winget.AEName()/winget.PremName()

  • AEName() Updated to have complete feature parity with winget.PremName()
  • Can now return objects containing all the variables instead of only requiring VarRefs
    • All VarRefs are now optional to help accommodate this
  • saveCheck variable now returns a boolean value instead of a string
  • If the desired window can't be found, the variables will now return unset instead of as empty strings

ytDownload()

  • Now allows the user to pass an object to define if they want the function to convert the downloaded filetype to another filetype
  • Can now properly handle yt shorts links
  • Adjusted passed args of vfx.ahk & video.ahk

> checklist.ahk

  • Entire script has been refactored to make use of class timer {
    • checklistTimer {, checklistLog { & checklistReminder { have been created to extend off the base class
  • H: float will now always show 3dp even if the current hour value is a whole integer.

    old: H: 1.0 M: 0 S: 0 => new: H: 1.000 M: 0 S: 0

  • Using -sub/+add is now instant and no longer requires 1s to process
  • Added functions checkTooltips() & checkDark() to return settings relating to both instead of cluttering the main script with code

> autosave.ahk

  • Fix erroring out if Premiere itself autosaves automatically before autosave.ahk can
  • Will no longer block mouse movements during a save attempt, will simply block any keyboard/mouse inputs

> Other Changes

  • tomshiBasic() now creates a hidden button to force focus to it instead of the first user defined ctrl
  • adobe fullscreen check.ahk now uses timer {
  • QMK open dir of current project now uses winget.AEName()/winget.PremName()
  • startup.updateAHK() will no longer run the download directory if Run installer after download? is selected
  • Restored the original fastWheel() function from Release v2.7.0.1
    • Moved Premiere F14:: hotkeys to the bottom of My Scripts.ahk as they were the cause of my issues

v2.9pre2

04 Jan 23:23
Compare
Choose a tag to compare
v2.9pre2 Pre-release
Pre-release

changes since v2.9pre1

  • Added discord.surround() to surround highlighted text with the desired characters
  • Fix autosave.ahk erroring out if Premiere itself autosaves before autosave.ahk can
    • Fixed a few other autosave.ahk bugs
    • Will no longer block mouse movements during a save attempt, will simply block any keyboard/mouse inputs
  • Fix block.On() & block.Off() failing to do anything
  • settingsGUI() menu dropdown now follows darkmode setting
  • clip.returnClip() can now accept an obj
  • getHTMLTitle() will now replace some html strings with their respective characters
  • startup.updateAHK() will no longer run the download directory if Run installer after download? is selected

ytDownload()

  • Now allows the user to pass an object to define if they want the function to convert the downloaded filetype to another filetype
  • Can now properly handle yt shorts links
  • Adjusted passed args of vfx.ahk & video.ahk

> checklist.ahk

  • fix erroring on close
  • fix 10min log happening every 10s
  • fix button colours not changing if +/- buttons used while timer is running
  • fix 1s being subtracted when using +/- buttons
  • using -sub/+add is now instant and no longer requires 1s to process