Releases: Tomshiii/ahk
v2.7 - Class Variables
class ptf {
(point to file)
- Replace
ImageSearch
global variables
with class path variables - Add as many directory locations as possible as class variables
- Add as many file locations as possible as a
Map()
;files
To call a dir;
ptf.VariableName
eg. ptf.ImgSearch ; links to `A_WorkingDir "\Support Files\ImageSearch"`
To call a file;
ptf.files["key name"]
eg. ptf.files["settings"] ; links to `A_MyDocuments "\tomshi\settings.ini"`
class browser {
- Replace all references to browser wintitles & classes with Map variables
To call a browser winTitle
browser.winTitle["browsername"]
eg. browser.winTitle["firefox"] ; calls `ahk_exe firefox.exe`
To call a browser class
browser.class["browsername"]
eg. browser.class["firefox"] ; calls `ahk_class MozillaWindowClass`
> My Scripts
^AppsKey:: ;ahksearchHotkey;
will now attempt to check the tab the user opened to see if an error page opened instead.- Added
#F12:: ;panicExitHotkey;
to runreload_reset_exit("exit")
- Added
#+F12:: ;panicExitALLHotkey;
to runreload_reset_exit("exit", true)
(includeschecklist.ahk
)
- Added
- Added
SC03A & F5:: ;refreshWinHotkey;
to refresh the current active window.
#c:: ;centreHotkey;
- Will now ensure the
monitor
object is actually set before continuing to stop errors - Fixed bug where if the window was overlapping between a vertical and a horizontal monitor, it would error and fail to center the window
> Functions
reload_Reset()
changed toreload_reset_exit()
and can now close all active ahk scripts- Will ignore
checklist.ahk
by default but can have it included by setting its second parameter
- Will ignore
tomshiBasic()
can now pass in font size/weight settingshotkeysGUI()
now uses objects, maps & Arrays to define its valueserrorLogs()
can now accept anError Object
and omit the rest of its parameters- Fixed
errorLog()
producing log files in the incorrect directory if called from atimer script
- Fixed
discUnread()
no longer working on dms due to a change with discord - Add
libUpdateCheck()
to check for lib file updates - Add
SplitPathObj()
to wrapSplitPath
into an object
updateChecker()
- Will now correctly stop itself checking for an update when the user has selected that as their setting
- Will no longer provide the changelog in an edit box, instead offering the user the option to show the changelog - if they do, will use
WebView2
to load the github release page - When the user selects the download button,
DLFile.ahk
is now called to provide realtime download information
settingsGUI()
- Can now adjust the
Year
version ofAfter Effects & Premiere Pro
these scripts look for - Moved code relating to the generation of the
Edit boxes
to"..\settingsGUI\editValues.ahk
- Moved
gameCheckGUI class
to"..\settingsGUI\gameCheckGUI.ahk
- Fixed error occuring if
settingsGUI()
was closed whilegameCheckGUI
is open
activeScripts()
- Fixed being unable to relaunched if closed with
x
windows button - Checkboxes, images, and
OnEvents
all generated automatically via a loop instead of manually assigning variables
refreshWin()
- Can now determine the filepath of
notepad
&explorer.exe
windows if the user passes"A"
to both parameters of the function- Added
CapsLock & F5:: ;refreshWinHotkey;
to do that
- Added
- Now has fallback code if the window fails to close/reopen & will no longer hang
> Other Changes
- This release will now be distributed in a compiled
.exe
file that contains;- A
.zip
file of the release HotkeyReplacer.ahk
&readme.md
SevenZip.ahk
&dlls
- When the user runs the
.exe
release, these files will be extracted and the.zip
automatically unzipped. Unnecessary files will then be deleted
- A
- Removed a lot of lingering
location
variables fromStreamdeck AHK
scripts - Removed reduntant version tracking of some scripts
- Added external libs;
WebView2.ahk
- by thqbySevenZip.ahk
- by thqby_DLFile.ahk
- by TheArkive
checklist.ahk
- Will no longer pause/suspend
autosave.ahk
while waiting for a project to open, instead opting to pause/suspend itself and runwaitUntil.ahk
to wait until a project is open which will then close & rerunchecklist.ahk
to have it automatically open - Can now better handle more than the default amount of checkboxes
- Changed
msgboxName()
tochange_msgButton()
to stop incorrect autocomplete in VSCode About
&Hours Worked
GUI now follow dark mode settings- Removed duplicate dark mode functions from
menubar.ahk
- Will now better handle generating more than 16 checkboxes
- Will now better handle numbers larger than 99h
- Now has a maximum of
999.999
hours
- Now has a maximum of
- Fixed bug causing error on close of window
Menu Bar
- Can now add checkboxes through the
File Menu
- Can now open the Project folder through the
File Menu
v2.7pre1
class ptf {
(point to file)
- Replace
ImageSearch
global variables
with class path variables - Add as many directory locations as possible as class variables
- Add as many file locations as possible as a
Map()
;files
To call a dir;
ptf.VariableName
eg. ptf.ImgSearch ; links to `A_WorkingDir "\ImageSearch"`
To call a file;
ptf.files["key name"]
eg. ptf.files["settings"] ; links to `A_MyDocuments "\tomshi\settings.ini"`
class browser {
- Replace all references to browser wintitles & classes with Map variables
To call a browser winTitle
browser.winTitle["browsername"]
eg. browser.winTitle["firefox"] ; calls `ahk_exe firefox.exe`
To call a browser class
browser.class["browsername"]
eg. browser.class["firefox"] ; calls `ahk_class MozillaWindowClass`
> My Scripts
^AppsKey:: ;ahksearchHotkey;
will now attempt to check the tab the user opened to see if an error page opened instead.- Added
#F12:: ;panicExitHotkey;
to runreload_reset_exit("exit")
- Added
#+F12:: ;panicExitALLHotkey;
to runreload_reset_exit("exit", true)
(includeschecklist.ahk
)
- Added
- Added
SC03A & F5:: ;refreshWinHotkey;
to refresh the current active window.
#c:: ;centreHotkey;
- Will now ensure the
monitor
object is actually set before continuing to stop errors - Fixed bug where if the window was overlapping between a vertical and a horizontal monitor, it would error and fail to center the window
> Functions
reload_Reset()
changed toreload_reset_exit()
and can now close all active ahk scripts- Will ignore
checklist.ahk
by default but can have it included by setting its second parameter
- Will ignore
tomshiBasic()
can now pass in font size/weight settingshotkeysGUI()
now uses objects, maps & Arrays to define its values- Fixed
errorLog()
producing log files in the incorrect directory if called from atimer script
updateChecker()
- Will now correctly stop itself checking for an update when the user has selected that as their setting
- Will no longer provide the changelog in an editbox, instead offering the user the option to show the changelog - if they do, will use
WebView2
to load the github release page
settingsGUI()
- Can now adjust the
Year
version ofAfter Effects & Premiere Pro
these scripts look for - Moved code relating to the generation of the
Edit boxes
to"..\settingsGUI\editValues.ahk
- Moved
gameCheckGUI class
to"..\settingsGUI\gameCheckGUI.ahk
- Fixed error occuring if
settingsGUI()
was closed whilegameCheckGUI
is open
activeScripts()
- Fixed being unable to relaunched if closed with
x
windows button - Checkboxes, images, and
OnEvents
all generated automatically via a loop instead of manually assigning variables
refreshWin()
- Can now determine the filepath of
notepad
&explorer.exe
windows if the user passes"A"
to both parameters of the function- Added
CapsLock & F5:: ;refreshWinHotkey;
to do that
- Added
- Now has fallback code if the window fails to close/reopen & will no longer hang
> Other Changes
- Removed a lot of lingering
location
variables fromStreamdeck AHK
scripts - Removed reduntant version tracking of some scripts
checklist.ahk
- Will no longer pause/suspend
autosave.ahk
while waiting for a project to open, instead opting to pause/suspend itself and runwaitUntil.ahk
to wait until a project is open which will then close & rerunchecklist.ahk
to have it automatically open - Can now better handle more than the default amount of checkboxes
- Changed
msgboxName()
tochange_msgButton()
to stop incorrect autocomplete in VSCode About
&Hours Worked
GUI now follow dark mode settings- Removed duplicate dark mode functions from
menubar.ahk
- Will now better handle generating more than 16 checkboxes
- Will now better handle numbers larger than 99h
- Now has a maximum of
999.999
hours
- Now has a maximum of
- Fixed bug causing error on close of window
Menu Bar
- Can now add checkboxes through the
File Menu
- Can now open the Project folder through the
File Menu
v2.6.1 - Hotfix & QoL
Alongside this release comes the Wiki Page!. There you will find documentation for just about everything relating to my scripts!
Other big changes
- Some scripts now require
AutoHotkey v2.0-beta.12
as a minimum - Moved;
settingsGUI()
,musicGUI()
,hotkeysGUI()
,todoGUI()
&activeScripts()
=>GUIs.ahk
- Created
tomshiBasic()
which is a simple template for GUIs so I can easily maintain a consistent experience without needing to repeat code
> Functions
- Added a slight delay to
vscode()
when expanding theFunctions
folder to ensure the right folder is expanded zoom()
tooltip to notify that toggle values have been reset now only appears if the current project has a toggle zoommoveWin()
(when pressing the maximise hotkey) will now check to see if the active window is already maximised, and if it is, unmaximise itupdateChecker()
will (while beta update checking is enabled) no longer show the update changelog as the currentdev branch
changelog unless the latest update is actually a pre-releasegetTitle()
will now ignore ahk GUIs- Fixed
aetimeline()
&mousedragNotPrem()
attempting to fire inSave As
windows - Add 50ms delay to
movepreview()
to make it more consistent - Added
refreshWin()
to close & reopen a window to refresh its contents tool.Cust()
will now make sureWhichTooltip
is an integer between 1-20gain()
&rgain()
will now make sure the parameter passed is a numberdisc()
now usesgetHotkeys()
instead ofKeyWait(A_PriorHotkey)
- Move
On_WM_MOUSEMOVE()
toGeneral.ahk
to remove repeat declarations
activeScripts()
- Now creates it's checkboxes, then uses a loop to attatch the
.OnEvent("Click")
to all of them - Timer that runs now checks ALL active scripts instead of just
My Scripts.ahk
and updates checkboxes if a script is opened/closed while GUI is open
settingsGUI()
- Will now break up toggle checkboxes between general settings and individual script settings
undo?
buttons will now follow dark mode settings
'Add game to gameCheck.ahk' button
- Now creates it's own GUI instead of just using an inputbox
- Allows it to now follow
dark mode
settings - Allows this GUI to be called by right clicking on
gameCheck.ahk
- Allows it to now follow
- Window title and Window Process name shown separately instead of combined into the same box
- Window title will now show in full by default instead of only the first word
- Will now alert the user if adding the requested game was sucessful or not
- No longer copies anything to the clipboard
settings.ini button
- If the user clicks the
settings.ini
button, a timer will now start that will reenableAlwaysOnTop
forsettingsGUI()
once the user closes thesettings.ini
window - If the user clicks the button again once
settings.ini
is already open, it will be closed and reopened to refresh the information
> My Scripts
- All hotkeys that saved the state of the clipboard now save
ClipboardAll()
- Combined
#+r::
andhardReset()
into one function =>reload_Reset()
to cut repeat code
$^f::
- Now checks to see if you have anything highlighted and won't delete it from the search field if you do
- Now requires
editor.emptySelectionClipboard
to be set tofalse
withinVSCode
- Added
$^x::
to recreateVSCode's
typical feature to remove an entire line with^x
(settingeditor.emptySelectionClipboard
tofalse
removes this feature as well)
- Added
> Resolve
Rbutton::
now saves the timeline coordinates in a static variable to speed things up (this forces the need for a reload if the user moves the timeline however)- Now uses
getHotkeys()
in place of allA_PriorHotkey
- Fixed a large amount of
ImageSearch
logic blocks that I broke withRelease v2.6
rgain()
now returns the original Clipboard once complete- Updated some images for
Resolve 18.0.4
REffect()
will now more accurately drag the desired effect in more scenarios- Will also not attempt to run while Resolve is not maximised and will notify the user
> Other Changes
- Removed all uses of
verCheck()
and replaced with#Requires
autosave.ahk
will now attempt to reactivate the original window even if the user interupts the save by interacting with the keyboard- Moved;
pauseautosave()
,pausewindowmax()
&ScriptSuspend(ScriptName, SuspendOn)
toGeneral.ahk
- Fix edge case bug of
getID()
not assigning a value and causing an error - Moved
gameCheck.ahk
game list to\lib\gameCheck\Game List.ahk
- Fix
Multi-Instance Close.ahk
starting its timer before thems
variable has been set
checklist.ahk
- All GUI elements are declared in
construct.ahk
instead ofchecklist.ahk
- Will now apply a dark theme to the menu popouts
- Will now work automatically with
After Effects
projects instead of justPremiere Pro
- If
autosave.ahk
attempts to openchecklist.ahk
before the user has opened a project,checklist.ahk
will now ask the user if they wish to wait until a project has been opened, or if they'd like to manually select the project- A new checkbox toggle in
Settings
can forceautosave.ahk
&checklist.ahk
to always wait for the user to open a project before automatically opening
- A new checkbox toggle in
- If the user clicks the
Open Logs
menu button again oncechecklist_logs.txt
is already open, it will be closed and reopened to refresh the information - Will no longer focus it's window when it initially runs
'Check for Updates' menu button
- If the user has generated a
settings.ini
file, it will now compare the localRelease
version, to the latest release version on github instead of checking the local version ofchecklist.ahk
- If the user is on a pre-release and then checks for an update in the beta channel, it will then compare the local
checklist.ahk
version to the version on thedev
branch on github
- If the user is on a pre-release and then checks for an update in the beta channel, it will then compare the local
- If the user hasn't generated a
settings.ini
file, it will now just open the root dir of the repo on github instead of the individualchecklist.ahk
url (now that so many things related tochecklist.ahk
are separated into the\lib
dir, it makes no sense to point the user to that specific page)
HotkeyReplacer.ahk
- All text is centered for a cleaner look
- Now has a
TrayIcon
- Now shows a progress bar
- Now shows a status bar that updates during the various steps in the process
- Now follows global dark mode settings (defaults to dark mode if no settings.ini file has been generated yet)
switch code blocks
- A lot of
if
code blocks have been replaced withswitch
code blocks, eg;
if var = x
{
...
...
}
if var = y
{
...
...
}
have been replaced with;
switch var {
case x:
...
...
case y:
...
...
}
v2.6.1pre2
Prerelease 2 Changelog
- Moved;
settingsGUI()
,musicGUI()
,hotkeysGUI()
,todoGUI()
&activeScripts()
=>GUIs.ahk
> Functions
getTitle()
will now ignore ahk GUIs
settingsGUI()
- Will now break up toggle checkboxes between general settings and individual script settings
undo?
buttons will now follow dark mode settings
settings.ini button
- If the user clicks the
settings.ini
button, a timer will now start that will reenableAlwaysOnTop
forsettingsGUI()
once the user closes thesettings.ini
window - If the user clicks the button again once
settings.ini
is already open, it will be closed and reopened to refresh the information
> My Scripts
- Combined
#+r::
andhardReset()
into one function =>reload_Reset()
to cut repeat code
> Other Changes
checklist.ahk
- A new checkbox toggle in
Settings
can forceautosave.ahk
&checklist.ahk
to always wait for the user to open a project before automatically opening
Check for Updates menu button
- If the user is on a pre-release and then checks for an update in the beta channel, it will then compare the local
checklist.ahk
version to the version on thedev
branch on github
switch code blocks
- A lot of
if
code blocks have been replaced withswitch
code blocks, eg;
if var = x
{
...
...
}
if var = y
{
...
...
}
have been replaced with;
switch var {
case x:
...
...
case y:
...
...
}
v2.6.1pre1
- Some scripts now require
AutoHotkey v2.0-beta.12
as a minimum
> Functions
- Added a slight delay to
vscode()
when expanding theFunctions
folder to ensure the right folder is expanded zoom()
tooltip to notify that toggle values have been reset now only appears if the current project has a toggle zoommoveWin()
(when pressing the maximise hotkey) will now check to see if the active window is already maximised, and if it is, unmaximise itupdateChecker()
will (while beta update checking is enabled) no longer show the update changelog as the currentdev branch
changelog unless the latest update is actually a pre-release
> My Scripts
- All hotkeys that saved the state of the clipboard now save
ClipboardAll()
$^f::
- Now checks to see if you have anything highlighted and won't delete it from the search field if you do
- Now requires
editor.emptySelectionClipboard
to be set tofalse
withinVSCode
- Added
$^x::
to recreateVSCode's
typical feature to remove an entire line with^x
(settingeditor.emptySelectionClipboard
tofalse
removes this feature as well)
- Added
> Resolve
Rbutton::
now saves the timeline coordinates in a static variable to speed things up (this forces the need for a reload if the user moves the timeline however)- Now uses
getHotkeys()
in place of allA_PriorHotkey
- Fixed a large amount of
ImageSearch
logic blocks that I broke withRelease v2.6
rgain()
now returns the original Clipboard once complete- Updated some images for
Resolve 18.0.4
REffect()
will now more accurately drag the desired effect in more scenarios- Will also not attempt to run while Resolve is not maximised and will notify the user
> Other Changes
- Removed all uses of
verCheck()
and replaced with#Requires
autosave.ahk
will now attempt to reactivate the original window even if the user interupts the save by interacting with the keyboard- Moved;
pauseautosave()
,pausewindowmax()
&ScriptSuspend(ScriptName, SuspendOn)
toGeneral.ahk
- Fix edge case bug of
getID()
not assigning a value and causing an error - Moved
gameCheck.ahk
game list to\lib\gameCheck\Game List.ahk
- Fix
Multi-Instance Close.ahk
starting its timer before thems
variable has been set
checklist.ahk
- Will now apply a dark theme to the menu popouts
- If
autosave.ahk
attempts to openchecklist.ahk
before the user has opened a project,checklist.ahk
will now ask the user if they wish to wait until a project has been opened, or if they'd like to manually select the project Check for Updates
- If the user has generated a
settings.ini
file, it will now compare the localRelease
version, to the latest release version on github instead of checking the local version ofchecklist.ahk
- If the user hasn't generated a
settings.ini
file, it will now just open the root dir of the repo on github instead of the individualchecklist.ahk
url (now that so many things related tochecklist.ahk
are separated into the\lib
dir, it makes no sense to point the user to that specific page)
- If the user has generated a
HotkeyReplacer.ahk
- All text is centered for a cleaner look
- Now has a
TrayIcon
- Now shows a progress bar
- Now shows a status bar that updates during the various steps in the process
- Now follows global dark mode settings (defaults to dark mode if no settings.ini file has been generated yet)
v2.6 - Dark Mode (sorta) + Two New Scripts + Structure Overhaul
This release brings along two new scripts; gameCheck.ahk
& Multi-Instance Close.ahk
gameCheck.ahk
is a script that will automatically detect when a predetermined game is currently active and suspendMy Scripts.ahk
. This is important becauseMy Scripts.ahk
contains a bunch of macros that really don't play nice to games and cause a lot of basic functionality in them to break. This script will also detect when the game is no longer the active window and unsuspendMy Scripts.ahk
. Games may be periodically added to this script but feel welcome to add your own list!Multi-Instance Close.ahk
is a script that will periodically check for duplicate instances of any autohotkey scripts and close one of them. Even if you use#SingleInstance Force
reloading scripts can sometimes cause a second instance to slip open. This script will hopefully mitigate the odd behaviour that occurs when this happens by closing any duplicates.
Alongside those two scripts, this update brings along a dark theme to certain GUI elements. AHK is rather limited in what it can apply in a modern way but a global dark mode option can now be enabled in settingsGUI()
> Other Big Changes
- Completely redesigned
checklist.ahk
to run from the root dir instead of copying it to the project location- Opening an old, inuse version of
checklist.ahk
after updating will causes issues after it attempts to update itself
- Opening an old, inuse version of
- Moved the following scripts to
..\Timer Scripts
;adobe fullscreen check.ahk
Alt_menu_acceleration_DISABLER.ahk
autodismiss error.ahk
autosave.ahk
gameCheck.ahk
Multi-Instance Close.ahk
- Fix all dynamic comments
- Add markers to all dynamic comments to indicate what type of information needs to be passed for each parameter
..\
used in a lot of places now to go back a dir instead of needing hardcoded values- Added
..\lib\
to reduce the clutter of the root dir- Moved the
Functions
&KSA
folder =>lib
- Moved all
checklist.ahk
functions to their own scripts within\lib\checklist\
to increase readability- All functions are now labelled with dynamic comments to explain what they do
- Moved the
blockOn()/blockOff()
,toolCust()/toolWait()
&coords(), coordw(), coordc()
all changed to class instances =>block.On()/block.Off()
tool.Cust()/tool.Wait()
- Added
tool.Wait()
to cut repeat code. Makes your script wait for tooltips to finish before continuing
- Added
coord.s()/coord.w()/coord.c()
- Cleaned up & reorganised a LOT of code to better make use of guard clauses to cut down on stacked
if/else
blocks and make things more readable
> My Scripts
- Changed
F14::
show more options
hotkey ->F18
due to it causing issues withF14 & WheelDown/WheelUp::
F14 & WheelDown/WheelUp::
now callsfastWheel()
- Added the ability to toggle
CapsLock
by double tapping it - Added
#+^r::
to hard refresh all open.ahk
scripts (not includingchecklist.ahk
)- Added
hardReset()
for this and so it can be used elsewhere
- Added
#+r::
will now create a list of open.ahk
scripts and tell them to reload instead of requiring hard coded values- Will now produce a tooltip while reloading
SC03A & c::
now pastes the string instead of using aSend{}
type to increase performancegetMonitor()
in#c::
now returns a function object instead of a large list of variables#c::
&#f::
now ignorechecklist.ahk
- Added
$^f::
for VSCode to automatically highlight the code page before pulling up the search field
> Functions
- Added
floorDecimal()
to round down after a determined amount of decimal places - Added
blockOff()
togetTitle()
andisFullscreen()
so that in the event they fail, the user is not potentially stuck - Added a check in
musicGUI()
to make sure to music folder actually exists - Added
fastWheel()
to replace the simpleSendInput("{WheelDown/Up 10}")
and allow the function to focus the window under the cursor if it isn't currently the active window when called - Added
detect()
to cut repeat code. SetsDetectHiddenWindows
&SetTitleMatchMode
- Fixed hard coded dir in
switchToDisc()
- Fixed some incorrect information in
hotkeysGUI()
switchToAE()
now contains more elaborate code to be able to open the.aep
file for the current Premiere project even once AE is already openactiveScripts()
now starts a timer to check the suspended state ofMy Scripts.ahk
to update the checkbox value- Condensed most
OnEvent
's foractiveScripts()
to one singular function moveXorY()
tooltips will no longer flickermoveTab()
now makes sure the monitor objects have been set- Moved
getPremName()
,getAEName()
&getID()
=>Windows.ahk
vscode()
now uses noImageSearch
and instead uses nothing but hotkeys- Fixed bug with
updateChecker()
that caused it to set the incorrect ini settings when pressing "Don't prompt again"
audioDrag()
- Added more colours
- Will now lower gain before cutting instead of after
getMouseMonitor()
- Now returns a function object and passes back all information
- Now
Exit
's whentry{}
fails to stop potential runtime errors when called and a variable object hasn't been passed back
tool.Cust()
- Can now take custom
x
&y
coordinates. They are unset by default and can be omitted - Can now accept the
WhichToolTip
parameter from the actualToolTip
function - Tooltip will now follow the cursor if no
x/y
coordinates have been passed to the function- Recreating the old way can be achieved with something along the lines of;
tool.Cust("message",,, MouseGetPos(&x, &y) x + 15, y)
- Recreating the old way can be achieved with something along the lines of;
- Timeout variable can now accept
seconds
instead of onlyms
by using a non integer, ie;2.5
or0.5
zoom()
- Now sets it's variable presets in an array to remove the need for multiple variables
- Now resets toggle values after 10 seconds
settingsGUI()
- Minor GUI tweaks
- Script names are now coloured to make it easier to read
- Fixed bug that caused function to error if non numeric values were entered into the edit boxes
- Now has an option to globally enable/disable reminder tooltips for
checklist.ahk
- Moved
Current working dir:
to the status bar- Status bar now also shows whether
My Scripts.ahk
is active or suspended
- Status bar now also shows whether
- Ability to add game information to
gameCheck.ahk
> Other Changes
- Adjusted positioning of tray menu items for
My Scripts.ahk
&autosave.ahk
- Added
commLocation :=
toKeyboard Shortcut Adjustments
for the user to manually input their own commission working dir (if they have one) so my scripts don't need to be hard coded with my own dirQMK Keyboard.ahk
h::
now attempts to opencommLocation
if there is no Adobe project open
- Some loops now use
until
syntaxing =>
notation has been used in some places- Fixed
End::
erroring out if no project is open Keyboard Shortcuts Adjustments.ahk
no longer uses a hardcoded dir for thelocation
variable- Removed
replaceChecklist.ahk
aschecklist.ahk
runs from the root dir now - All timer scripts that make use of
SetTimer
now have anOnExit
to stop all timers in the event of a reload/error/new instance - Changed all instances of
if not x
toif !x
for consistency
right click premiere.ahk
- Now grabs the
x/y
position of the timeline, similar tomouseDrag()
to allow for;- If the playhead isn't within view on the timeline, will no longer input a
shuttle stop
-- this will stop premiere snapping your timeline to the playhead when you activate the macro then causing you to move it to a random location
- If the playhead isn't within view on the timeline, will no longer input a
- Some loops now use
while
syntaxing - Removed repeat code
- Added a timer that will check for and unstick the
Ctrl/Shift
key - Made code easier to read & follow
- Will no longer error if
Rbutton::
is just pressed and not held - Tapping
Rbutton::
will simply move the cursor end the macro
checklist.ahk
-- Alongside the changes listed above;
- Fixed not creating newly added
checklist.ini
settings - Fixed
H:
number getting cut off when above 10 hours - Now uses
floorDecimal()
for theHour
text so it ticks over more accurately - Will now stop the timer & log information if a second instance is forcefully opened
- Added menu bar to:
- Create a new checklist
- Open other checklists
- Toggle tooltips for the current project (if global
checklist.ahk
tooltips are enabled) - Toggle Dark Mode for the current project (if global dark mode is enabled)
- Display
About
informational GUI - Open the current projects log file
- Open the github repo
- Show hours worked today, days worked & avg hours worked per day
- Check for updates on both the stable and beta paths
- Version number moved to
About
menu bar GUI
v2.6pre3
Prerelease 3 Changelog
- Completely redesigned
checklist.ahk
to run from the root dir instead of copying it to the project location - Moved the following scripts to
..\Timer Scripts
;adobe fullscreen check.ahk
Alt_menu_acceleration_DISABLER.ahk
autodismiss error.ahk
autosave.ahk
gameCheck.ahk
Multi-Instance Close.ahk
- Fix all dynamic comments
- Add markers to all dynamic comments to indicate what type of information needs to be passed for each parameter
..\
used in a lot of places now to go back a dir instead of needing hardcoded values- Added
..\lib\
to reduce the clutter of the root dir- Moved the
Functions
&KSA
folder =>lib
- Moved all
checklist.ahk
functions to their own scripts within\lib\checklist\
to increase readability- All functions are now labelled with dynamic comments to explain what they do
- Moved the
blockOn()/blockOff()
,toolCust()/toolWait()
&coords(), coordw(), coordc()
all changed to class instances =>block.On()/block.Off()
tool.Cust()/tool.Wait()
- Added
tool.Wait()
to cut repeat code. Makes your script wait for tooltips to finish before continuing
- Added
coord.s()/coord.w()/coord.c()
#+r::
will now produce a tooltip while reloading#c::
&#f::
now ignorechecklist.ahk
- Added
detect()
to cut repeat code. SetsDetectHiddenWindows
&SetTitleMatchMode
moveTab()
now makes sure the monitor objects have been set- Moved
getPremName()
,getAEName()
&getID()
=>Windows.ahk
vscode()
now uses noImageSearch
and instead uses nothing but hotkeysaudioDrag()
will now lower gain before cutting instead of aftergetMouseMonitor()
nowExit
's whentry{}
fails to stop potential runtime errors when called and a variable object hasn't been passed backtool.Cust()
timeout variable can now acceptseconds
instead of onlyms
by using a non integer, ie;2.5
or0.5
- Fixed
End::
erroring out if no project is open Keyboard Shortcuts Adjustments.ahk
no longer uses a hardcoded dir for thelocation
variable- Removed
replaceChecklist.ahk
aschecklist.ahk
runs from the root dir now - All timer scripts that make use of
SetTimer
now have anOnExit
to stop all timers in the event of a reload/error/new instance
possibly more
v2.6pre2
Prerelease 2 Changelog
settingsGUI()
script names are now colouredtoolCust()
will now follow the cursor if nox/y
coordinates have been passed to the function- Recreating the old way can be achieved with something along the lines of;
toolCust(message,,, MouseGetPos(&x, &y) x + 15, y)
- Recreating the old way can be achieved with something along the lines of;
v2.6pre1
This release brings along two new scripts; gameCheck.ahk
& Multi-Instance Close.ahk
gameCheck.ahk
is a script that will automatically detect when a predetermined game is currently active and suspendMy Scripts.ahk
. This is important becauseMy Scripts.ahk
contains a bunch of macros that really don't play nice to games and cause a lot of basic functionality in them to break. This script will also detect when the game is no longer the active window and unsuspendMy Scripts.ahk
. Games may be periodically added to this script but feel welcome to add your own list!Multi-Instance Close.ahk
is a script that will periodically check for duplicate instances of any autohotkey scripts and close one of them. Even if you use#SingleInstance Force
reloading scripts can sometimes cause a second instance to slip open. This script will hopefully mitigate the odd behaviour that occurs when this happens by closing any duplicates.
Alongside those two scripts, this update brings along a dark theme to certain GUI elements. AHK is rather limited in what it can apply in a modern way but a global dark mode option can now be enabled in settingsGUI()
> My Scripts
- Changed
F14::
show more options
hotkey ->F18
due to it causing issues withF14 & WheelDown/WheelUp::
F14 & WheelDown/WheelUp::
now callsfastWheel()
- Added the ability to toggle
CapsLock
by double tapping it - Added
#+^r::
to hard refresh all open.ahk
scripts (not includingchecklist.ahk
)- Added
hardReset()
for this and so it can be used elsewhere
- Added
#+r::
will now create a list of open.ahk
scripts and tell them to reload instead of requiring hard coded valuesSC03A & c::
now pastes the string instead of using aSend{}
type to increase performancegetMonitor()
in#c::
now returns a function object instead of a large list of variables
> Functions
- Added
floorDecimal()
to round down after a determined amount of decimal places - Added
blockOff()
togetTitle()
andisFullscreen()
so that in the event they fail, the user is not potentially stuck - Added more colours for
audioDrag()
- Added a check in
musicGUI()
to make sure to music folder actually exists - Added
fastWheel()
to replace the simpleSendInput("{WheelDown/Up 10}")
and allow the function to focus the window under the cursor if it isn't currently the active window when called - Fixed hard coded dir in
switchToDisc()
- Fixed some incorrect information in
hotkeysGUI()
switchToAE()
now contains more elaborate code to be able to open the.aep
file for the current Premiere project even once AE is already openactiveScripts()
now starts a timer to check the suspended state ofMy Scripts.ahk
to update the checkbox value- Condensed most
OnEvent
's foractiveScripts()
to one singular function getMouseMonitor()
now returns a function object and passes back all informationtoolCust()
can now take customx
&y
coordinates. They are unset by default and can be omitted. It can also accept theWhichToolTip
parameter from the actualToolTip
functionmoveXorY()
tooltips will no longer flicker
zoom()
- Now sets it's variable presets in an array to remove the need for multiple variables
- Now resets toggle values after 10 seconds
settingsGUI()
- Minor GUI tweaks
- Fixed bug that caused function to error if non numeric values were entered into the edit boxes
- Now has an option to globally enable/disable reminder tooltips for
checklist.ahk
- Moved
Current working dir:
to the status bar- Status bar now also shows whether
My Scripts.ahk
is active or suspended
- Status bar now also shows whether
- Ability to add game information to
gameCheck.ahk
> Other Changes
- Fix all dynamic comments
- Adjusted positioning of tray menu items for
My Scripts.ahk
&autosave.ahk
- Added
commLocation :=
toKeyboard Shortcut Adjustments
for the user to manually input their own commission working dir (if they have one) so my scripts don't need to be hard coded with my own dirQMK Keyboard.ahk
h::
now attempts to opencommLocation
if there is no Adobe project open
- Some loops now use
until
syntaxing - Some loops in
right click premiere.ahk
now usewhile
syntaxing =>
notation has been used in some places
replaceChecklist.ahk
- Will now ignore backup folders
- Fixed bug causing "Yes to All" to not function correctly
- Fixed typo causing this script to create a different
\backup
folder thanchecklist.ahk
checklist.ahk
- Fixed not creating newly added
checklist.ini
settings when it copies a newer version from the working dir (you will encounter errors until you're onchecklist.ahk's local-v2.5.3
or greater and generate a .ini file) - Fixed
H:
number getting cut off when above 10 hours - Moved all functions to the bottom of the script to increase readability
- Now uses
floorDecimal()
for theHour
text so it ticks over more accurately - Will now stop the timer & log information if a second instance is forcefully opened
- Added menu bar to:
- Create a new checklist
- Open other checklists
- Toggle tooltips for the current project (if global
checklist.ahk
tooltips are enabled) - Toggle Dark Mode for the current project (if global dark mode is enabled)
- Display
About
informational GUI - Open the current projects log file
- Open the github repo
- Show hours worked today, days worked & avg hours worked per day
- Check for updates on both the stable and beta paths
- Version number moved to
About
menu bar GUI
v2.5.2.1 - Critical Fix
Release v2.5.2 encountered some last second, game breaking bugs that were only caught after release - because of this I've decided to pull release v2.5.2 from github and combine it with this release so no one is impacted by its shortcomings. The pre release versions of v2.5.2 do not have these issues and will remain available.
> My Scripts
- Remove Em Dash from
Media_Play_Pause::
> Other Changes
- Fix incorrect string replacement for hotkey tags in
HotkeyReplacer.ahk
- Fixed
My Scripts.ahk
,QMK Keyboard.ahk
,Resolve_Example.ahk
&Functions.ahk
from refusing to run. This was caused by a script I use to automatically generate release exe's, writing those files in a way that garbled their data making them unusable.
Previous Changelog
<> Release 2.5.2 - Fixes & Features
- Moved all
Startup
functions fromGeneral.ahk
->Startup.ahk
- Moved
mouseDrag()
fromGeneral.ahk
->Premiere.ahk
> Functions
- Added
aetimeline()
a more beefed up version oftimeline()
to be more flexible - Fixed
verCheck()
- Fixed
manInput()
erroring out ifoptional
variable wasn't assigned a value adobeTemp()
now sets it'slargestSize
variable insettings.ini
&settingsGUI()
getTitle()
will no longer throw an error if the title cannot be found (ie. Windows taskbar/desktop)generate()
WORK :=
variable now defaults to my working dir - this fixeslocationReplace()
not firing if nosettings.ini
file exists- Added
getScriptRelease()
- Allows
updateChecker()
to check forbeta\pre-release
updates.- Checking for these updates can be adjusted in
settings.ini
&settingsGUI()
as well as on the update popup
- Checking for these updates can be adjusted in
- Allows
updateChecker()
tooltip will now simply say the user is up to date if they're running the latest version- Cut repeat code in
moveXorY()
errorLog()
now shows theInstalled
version of my scripts as well as the latestmain/beta
release
settingsGUI()
Check for Updates
will now cycle between the 3 available options- Now has a button to:
- Open
settings.ini
file - Hard reset script
- Open
- Clicking on the current
working dir
opens that directory in file explorer - Fix
autosave.ahk - tooltips
checkbox hover tooltip not updating when pressed - UI changes
audioDrag()
- Add more colours
- Changed
bleep
tooltip to make it more obvious which track you're about to drag to
getHotkeys()
- If the activation hotkey length is only
2
characters,&first
&&second
will be assigned to the first and second characters respectively- If one of those characters is a special key (ie. ! or ^) it will return the virtual key instead so
KeyWait
will still work as expected
- If one of those characters is a special key (ie. ! or ^) it will return the virtual key instead so
vscode()
- Will now send a hotkey to collapse the explorer tree instead of searching for and clicking the collapse button. The collapse button changes depending on how wide your toolbar is and constantly breaks if you accidentally change the size even slightly
- Will check to see if the user has the first repo expanded already -> if they do it will check to see if any explorer trees are expanded -> If there are it will send the collapse hotkey once before moving on, otherwise it will skip ahead and just move straight along
- Replaced
KeyWait(A_PriorKey)
withgetHotkeys()
moveTab()
- Will now attempt to reactivate the originally active tab
- Will now check to make sure the cursor isn't attempting to resize the window before dragging the tab. (helpful if the window isn't fullscreen)
- Will now move the cursor back to the original coords if function is activated from main monitor
> My Scripts
Media_Play_Pause::
for firefox will now send{Media_Play_Pause}
if you're on the subscriptions/home page instead of trying to pointlessly interact with youtube#c::
will now centre the window on the current active monitor or move it to the main monitor if activated again#F1:: - activeScripts()
changed ->#F2::
#F1::
now pulls upsettingsGUI()
autosave.ahk
minutes :=
variable (how often it saves) is now adjustable insettings.ini/settingsGUI()
> Other Changes
- Changed
premiere_fullscreen_check
->adobe fullscreen check.ahk
fire_frequency :=
(how often it checks) now adjustable insettings.ini/settingsGUI()
- Can now check After Effects as well
- Now uses
isFullscreen()
instead of hard coded values
right click premiere.ahk
now checks ifCtrl
is being pressed.- Pressing
Ctrl + \
is what causes premiere to freak out and enter the weird state that I createdadobe fullscreen check.ahk
for. Adding checks in this script will dramatically decrease the need for that script.
- Pressing
checklist.ahk
- Will now show
Seconds
- Minutes shown will now be the amount of minutes into the hour instead of total minutes. Hours shown will still be rounded to 2dp however
- Will no longer error if you open
checklist.ahk
in a new year - Small UI adjustments
H/M/S
now aligned horizontally- Checkboxes are more compact
- Can automatically check if the in-use version is outdated compared to the local copy in the users working dir
- This will only work if the user has generated a
settings.ini
file
- This will only work if the user has generated a