Releases: Tomshiii/ahk
v2.10.1.1 - Hotfix
- 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 zoomobj.imgSrch
&checkImg()
now take theirx/y
coordinates as an object instead of individual paramaters
> Other Changes
- Add
resetAEtrans.ahk
v2.10.1 - Stability Update
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()
intoclass cmd {
- Combined
allKeyUp()
,allKeyWait()
&checkKey()
intoclass keys {
> Functions
- Add
Mip {
to automatically create aMap()
withCaseSense
set 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
- Client info is now stored in a nested class
audioDrag("bleep")
can now be cancelled by pressing Esc
> Other Changes
- Fix
Settings.ahk
failing to properly setAdjust
values if set to1/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 useImageSearch
- Will now Tab through the
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
- 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 allStreamdeck AHK
scripts
v2.10 - Settings.ahk, KSA.ahk & HotkeyReplacer.ahk
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 withsettings.ini
- Handles creating
settings.ini
if it doesn't exist yet - Moved
createIni()
intoSettings.ahk
startup.generate()
can now add missingsettings.ini
values
- Handles creating
-
Keyboard Shortcut Adjustmenst.ahk
(#13) is now a self contained class that automatically generates variables based onKSA.ini
- Will now alert the user of duplicates
=
can no longer be used as a hotkey withinKSA.ini
-
HotkeyReplacer.ahk
is now a self contained class (#14) that takes advantages ofMap()'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 theEffect 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
- Added Streamdeck scripts
- Add
unzip()
to unzip a.zip
folder using aComObject
- Moved
getcmd()
out ofExtract.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 programdark.allButtons()
can now pass an object to customise the background colours of the GUI/GUI buttonsgetHTMLTitle()
now uses aComObject
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 thex 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 of9999 hours
- Fix some duplicate values in
KSA.ini
MyRelease
is no longer a global variable defined inMy Scripts.ahk
Startup {
now gets initiated instead of using purely static functions so that it can shareMyRelease
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
andreload_reset_exit("exit")
can now be called by right clicking onMy 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
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 withsettings.ini
- Handles creating
settings.ini
if it doesn't exist yet - Moved
createIni()
intoSettings.ahk
startup.generate()
can now add missingsettings.ini
values
- Handles creating
-
Keyboard Shortcut Adjustmenst.ahk
(#13) is now a self contained class that automatically generates variables based onKSA.ini
- Will now alert the user of duplicates
=
can no longer be used as a hotkey withinKSA.ini
-
HotkeyReplacer.ahk
is now a self contained class (#14) that takes advantages ofMap()'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 theEffect 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
- Added Streamdeck scripts
- Add
unzip()
to unzip a.zip
folder using aComObject
- Moved
getcmd()
out ofExtract.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 programdark.allButtons()
can now pass an object to customise the background colours of the GUI/GUI buttonsgetHTMLTitle()
now uses aComObject
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 thex 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 of9999 hours
- Fix some duplicate values in
KSA.ini
MyRelease
is no longer a global variable defined inMy Scripts.ahk
Startup {
now gets initiated instead of using purely static functions so that it can shareMyRelease
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
andreload_reset_exit("exit")
can now be called by right clicking onMy 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
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()
- eg.
> 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
- Replaced as many instances of simply using
- Fixed
startup.libUpdateCheck()
comparing versions incorrectly - Moved
isReload()
out ofstartup {
and into its own function allKeyUp()
will now sendEsc
after everyKey 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
- Fixes
- 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 ofright click premiere.ahk
=>premKeyCheck.ahk
v2.9.1 - Hotfix
- Fix installation process failing due to
settings.ini
file not existing yet- Added
baselineSettings.ahk
to..\Support Files\Release Assets\
to quickly genereate a baselinesettings.ini
file in the event that the installation process fails
- Added
- 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 networkdetect()
now returns the original values as an objectprem.movepreview()
now has more fallback in the event it can't find the video you're looking to movetomshibasic()
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
- Fix installation process failing due to
settings.ini
file not existing yet- Added
baseLineSettings.ahk
to..\Support Files\Release Assets\
to quickly genereate a baselinesettings.ini
file in the event that the installation process fails
- Added
- 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 networkdetect()
now returns the original values as an objectprem.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
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 anError 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 lasts1.5s
- This parameter can have an object passed into it to generate a custom tooltip, or it will simply generate a default
- 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()
usingcheckImg()
- Moved
SplitPathObj()
and renamed toobj.SplitPath()
- Fixed all instances of scripts that use this function not having the proper
#Include
- Fixed all instances of scripts that use this function not having the proper
- Moved
getMousePos()
and renamed toobj.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 toclient
- Expanded functionality of all functions to accept a parameter to adjust what they want to target
> Functions
- Added
delaySI()
to send a string ofSendInput
commands spaced out with a custom delay - Added
allKeyUp()
to attempt to unstick as many keys as possible by looping throughScanCodes
&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
- Added a hotkey to make ` surround the highlighted text in ` in
- 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 byprem.zoom()
checkImg()
changed to support all normal ImageSearchImageFile options
settingsGUI()
menu dropdown now follows darkmode settinggetHTMLTitle()
will now replace some html strings with their respective charactersprem.movepreview()
now uses the program window coordinates to get an initial position for the mousestartup.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 withwinget.PremName()
- Can now return objects containing all the variables instead of only requiring VarRefs
- All
VarRefs
are now optional to help accommodate this
- All
saveCheck
variable now returns aboolean value
instead of astring
- 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
ofvfx.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 show3dp
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 ctrladobe fullscreen check.ahk
now usestimer {
- QMK
open dir of current project
now useswinget.AEName()/winget.PremName()
startup.updateAHK()
will no longer run the download directory ifRun installer after download?
is selected- Restored the original
fastWheel()
function fromRelease v2.7.0.1
- Moved Premiere
F14::
hotkeys to the bottom ofMy Scripts.ahk
as they were the cause of my issues
- Moved Premiere
v2.9pre2
changes since v2.9pre1
- Added
discord.surround()
to surround highlighted text with the desired characters - Fix
autosave.ahk
erroring out if Premiere itself autosaves beforeautosave.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
- Fixed a few other
- 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 charactersstartup.updateAHK()
will no longer run the download directory ifRun 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
ofvfx.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