Skip to content

Releases: Tomshiii/ahk

v2.7 - Class Variables

15 Nov 02:59
Compare
Choose a tag to compare

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 run reload_reset_exit("exit")
    • Added #+F12:: ;panicExitALLHotkey; to run reload_reset_exit("exit", true) (includes checklist.ahk)
  • 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 to reload_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
  • tomshiBasic() can now pass in font size/weight settings
  • hotkeysGUI() now uses objects, maps & Arrays to define its values
  • errorLogs() can now accept an Error Object and omit the rest of its parameters
  • Fixed errorLog() producing log files in the incorrect directory if called from a timer 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 wrap SplitPath 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 of After 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 while gameCheckGUI 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
  • 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
  • Removed a lot of lingering location variables from Streamdeck AHK scripts
  • Removed reduntant version tracking of some scripts
  • Added external libs;
    • WebView2.ahk - by thqby
    • SevenZip.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 run waitUntil.ahk to wait until a project is open which will then close & rerun checklist.ahk to have it automatically open
  • Can now better handle more than the default amount of checkboxes
  • Changed msgboxName() to change_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
  • 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

10 Nov 02:20
Compare
Choose a tag to compare
v2.7pre1 Pre-release
Pre-release

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 run reload_reset_exit("exit")
    • Added #+F12:: ;panicExitALLHotkey; to run reload_reset_exit("exit", true) (includes checklist.ahk)
  • 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 to reload_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
  • tomshiBasic() can now pass in font size/weight settings
  • hotkeysGUI() now uses objects, maps & Arrays to define its values
  • Fixed errorLog() producing log files in the incorrect directory if called from a timer 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 of After 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 while gameCheckGUI 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
  • Now has fallback code if the window fails to close/reopen & will no longer hang

> Other Changes

  • Removed a lot of lingering location variables from Streamdeck 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 run waitUntil.ahk to wait until a project is open which will then close & rerun checklist.ahk to have it automatically open
  • Can now better handle more than the default amount of checkboxes
  • Changed msgboxName() to change_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
  • 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

02 Nov 00:39
Compare
Choose a tag to compare

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 the Functions 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 zoom
  • moveWin() (when pressing the maximise hotkey) will now check to see if the active window is already maximised, and if it is, unmaximise it
  • updateChecker() will (while beta update checking is enabled) no longer show the update changelog as the current dev branch changelog unless the latest update is actually a pre-release
  • getTitle() will now ignore ahk GUIs
  • Fixed aetimeline() & mousedragNotPrem() attempting to fire in Save 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 sure WhichTooltip is an integer between 1-20
  • gain() & rgain() will now make sure the parameter passed is a number
  • disc() now uses getHotkeys() instead of KeyWait(A_PriorHotkey)
  • Move On_WM_MOUSEMOVE() to General.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
  • 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 reenable AlwaysOnTop for settingsGUI() once the user closes the settings.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:: and hardReset() 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 to false within VSCode
    • Added $^x:: to recreate VSCode's typical feature to remove an entire line with ^x (setting editor.emptySelectionClipboard to false removes this feature as well)

> 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 all A_PriorHotkey
  • Fixed a large amount of ImageSearch logic blocks that I broke with Release 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) to General.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 the ms variable has been set

checklist.ahk

  • All GUI elements are declared in construct.ahk instead of checklist.ahk
  • Will now apply a dark theme to the menu popouts
  • Will now work automatically with After Effects projects instead of just Premiere Pro
  • If autosave.ahk attempts to open checklist.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 force autosave.ahk & checklist.ahk to always wait for the user to open a project before automatically opening
  • If the user clicks the Open Logs menu button again once checklist_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 local Release version, to the latest release version on github instead of checking the local version of checklist.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 the dev branch on github
  • 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 individual checklist.ahk url (now that so many things related to checklist.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 with switch code blocks, eg;
if var = x
    {
        ...
        ...
    }
if var = y
    {
        ...
        ...
    }

have been replaced with;

switch var {
    case x:
        ...
        ...
    case y:
        ...
        ...
}

v2.6.1pre2

27 Oct 02:09
Compare
Choose a tag to compare
v2.6.1pre2 Pre-release
Pre-release

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 reenable AlwaysOnTop for settingsGUI() once the user closes the settings.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:: and hardReset() into one function => reload_Reset() to cut repeat code

> Other Changes

checklist.ahk

  • A new checkbox toggle in Settings can force autosave.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 the dev branch on github

switch code blocks

  • A lot of if code blocks have been replaced with switch code blocks, eg;
if var = x
    {
        ...
        ...
    }
if var = y
    {
        ...
        ...
    }

have been replaced with;

switch var {
    case x:
        ...
        ...
    case y:
        ...
        ...
}

v2.6.1pre1

22 Oct 04:32
Compare
Choose a tag to compare
v2.6.1pre1 Pre-release
Pre-release
  • Some scripts now require AutoHotkey v2.0-beta.12 as a minimum

> Functions

  • Added a slight delay to vscode() when expanding the Functions 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 zoom
  • moveWin() (when pressing the maximise hotkey) will now check to see if the active window is already maximised, and if it is, unmaximise it
  • updateChecker() will (while beta update checking is enabled) no longer show the update changelog as the current dev 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 to false within VSCode
    • Added $^x:: to recreate VSCode's typical feature to remove an entire line with ^x (setting editor.emptySelectionClipboard to false removes this feature as well)

> 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 all A_PriorHotkey
  • Fixed a large amount of ImageSearch logic blocks that I broke with Release 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) to General.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 the ms variable has been set

checklist.ahk

  • Will now apply a dark theme to the menu popouts
  • If autosave.ahk attempts to open checklist.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 local Release version, to the latest release version on github instead of checking the local version of checklist.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 individual checklist.ahk url (now that so many things related to checklist.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)

v2.6 - Dark Mode (sorta) + Two New Scripts + Structure Overhaul

16 Oct 10:29
Compare
Choose a tag to compare

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 suspend My Scripts.ahk. This is important because My 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 unsuspend My 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
  • 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
  • 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
    • 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 with F14 & WheelDown/WheelUp::
  • F14 & WheelDown/WheelUp:: now calls fastWheel()
  • Added the ability to toggle CapsLock by double tapping it
  • Added #+^r:: to hard refresh all open .ahk scripts (not including checklist.ahk)
    • Added hardReset() for this and so it can be used elsewhere
  • #+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 a Send{} type to increase performance
  • getMonitor() in #c:: now returns a function object instead of a large list of variables
  • #c:: & #f:: now ignore checklist.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() to getTitle() and isFullscreen() 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 simple SendInput("{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. Sets DetectHiddenWindows & 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 open
  • activeScripts() now starts a timer to check the suspended state of My Scripts.ahk to update the checkbox value
  • Condensed most OnEvent's for activeScripts() to one singular function
  • moveXorY() tooltips will no longer flicker
  • moveTab() now makes sure the monitor objects have been set
  • Moved getPremName(), getAEName() & getID() => Windows.ahk
  • vscode() now uses no ImageSearch 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 when try{} 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 actual ToolTip 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)
  • Timeout variable can now accept seconds instead of only ms by using a non integer, ie; 2.5 or 0.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
  • Ability to add game information to gameCheck.ahk

> Other Changes

  • Adjusted positioning of tray menu items for My Scripts.ahk & autosave.ahk
  • Added commLocation := to Keyboard 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 dir
    • QMK Keyboard.ahk h:: now attempts to open commLocation 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 the location variable
  • Removed replaceChecklist.ahk as checklist.ahk runs from the root dir now
  • All timer scripts that make use of SetTimer now have an OnExit to stop all timers in the event of a reload/error/new instance
  • Changed all instances of if not x to if !x for consistency

right click premiere.ahk

  • Now grabs the x/y position of the timeline, similar to mouseDrag() 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
  • 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 the Hour 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

11 Oct 12:32
Compare
Choose a tag to compare
v2.6pre3 Pre-release
Pre-release

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
  • 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
    • coord.s()/coord.w()/coord.c()
  • #+r:: will now produce a tooltip while reloading
  • #c:: & #f:: now ignore checklist.ahk
  • Added detect() to cut repeat code. Sets DetectHiddenWindows & SetTitleMatchMode
  • moveTab() now makes sure the monitor objects have been set
  • Moved getPremName(), getAEName() & getID() => Windows.ahk
  • vscode() now uses no ImageSearch and instead uses nothing but hotkeys
  • audioDrag() will now lower gain before cutting instead of after
  • getMouseMonitor() now Exit's when try{} fails to stop potential runtime errors when called and a variable object hasn't been passed back
  • tool.Cust() timeout variable can now accept seconds instead of only ms by using a non integer, ie; 2.5 or 0.5
  • Fixed End:: erroring out if no project is open
  • Keyboard Shortcuts Adjustments.ahk no longer uses a hardcoded dir for the location variable
  • Removed replaceChecklist.ahk as checklist.ahk runs from the root dir now
  • All timer scripts that make use of SetTimer now have an OnExit to stop all timers in the event of a reload/error/new instance

possibly more

v2.6pre2

29 Sep 01:33
Compare
Choose a tag to compare
v2.6pre2 Pre-release
Pre-release

Prerelease 2 Changelog

  • settingsGUI() script names are now coloured
  • toolCust() 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; toolCust(message,,, MouseGetPos(&x, &y) x + 15, y)

v2.6pre1

27 Sep 10:14
Compare
Choose a tag to compare
v2.6pre1 Pre-release
Pre-release

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 suspend My Scripts.ahk. This is important because My 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 unsuspend My 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 with F14 & WheelDown/WheelUp::
  • F14 & WheelDown/WheelUp:: now calls fastWheel()
  • Added the ability to toggle CapsLock by double tapping it
  • Added #+^r:: to hard refresh all open .ahk scripts (not including checklist.ahk)
    • Added hardReset() for this and so it can be used elsewhere
  • #+r:: will now create a list of open .ahk scripts and tell them to reload instead of requiring hard coded values
  • SC03A & c:: now pastes the string instead of using a Send{} type to increase performance
  • getMonitor() 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() to getTitle() and isFullscreen() 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 simple SendInput("{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 open
  • activeScripts() now starts a timer to check the suspended state of My Scripts.ahk to update the checkbox value
  • Condensed most OnEvent's for activeScripts() to one singular function
  • getMouseMonitor() now returns a function object and passes back all information
  • toolCust() can now take custom x & y coordinates. They are unset by default and can be omitted. It can also accept the WhichToolTip parameter from the actual ToolTip function
  • moveXorY() 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
  • 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 := to Keyboard 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 dir
    • QMK Keyboard.ahk h:: now attempts to open commLocation if there is no Adobe project open
  • Some loops now use until syntaxing
  • Some loops in right click premiere.ahk now use while 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 than checklist.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 on checklist.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 the Hour 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

08 Sep 01:18
Compare
Choose a tag to compare

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 from General.ahk -> Startup.ahk
  • Moved mouseDrag() from General.ahk -> Premiere.ahk

> Functions

  • Added aetimeline() a more beefed up version of timeline() to be more flexible
  • Fixed verCheck()
  • Fixed manInput() erroring out if optional variable wasn't assigned a value
  • adobeTemp() now sets it's largestSize variable in settings.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 fixes locationReplace() not firing if no settings.ini file exists
  • Added getScriptRelease()
    • Allows updateChecker() to check for beta\pre-release updates.
      • Checking for these updates can be adjusted in settings.ini & settingsGUI() as well as on the update popup
  • 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 the Installed version of my scripts as well as the latest main/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
  • 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

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) with getHotkeys()

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 up settingsGUI()
  • autosave.ahk minutes := variable (how often it saves) is now adjustable in settings.ini/settingsGUI()

> Other Changes

  • Changed premiere_fullscreen_check -> adobe fullscreen check.ahk
    • fire_frequency := (how often it checks) now adjustable in settings.ini/settingsGUI()
    • Can now check After Effects as well
    • Now uses isFullscreen() instead of hard coded values
  • right click premiere.ahk now checks if Ctrl is being pressed.
    • Pressing Ctrl + \ is what causes premiere to freak out and enter the weird state that I created adobe fullscreen check.ahk for. Adding checks in this script will dramatically decrease the need for that script.

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