This repo is a combination of all the scripts I use almost daily to help with either making content (videos or streaming related), or just speeding up mundane and random interactions with a computer.
- Video walking through how to make sense of this repo
- Video going over how AHK can help speed up editing workflows
A lot of the code in the earliest versions of my scripts was either inspired by, or taken from Taran (previous editor for LTT). His videos on ahk got me into fiddling around with it myself. These scripts were then further elaborated on, transformed into ahk v2.0 compliant scripts and have since been wildly expanded into the extensive repo you see today.
Important
A lot of the development for this repo happens in the dev branch before making its way into a release and these changes can remain over there for months at a time. I recommend checking out any changes over there in case of important fixes, as well as the Known Issues & Planned Changes project page to see if any small bugs/changes are currently being tracked/worked on.
However do be aware that the dev branch is in active development and any number of bugs/issues may still be present as I continue to iron things out.
Warning
nodejs & PremiereRemote are both requirements for my repo's functionality. As of Release v2.18.0 they will both be installed alongside my repo.
Depending on which sections of my repo you intend to use will determine how much manual setup is required from the user; For indepth instructions on how to get started with my repo, alongside any important notices head over to the wiki page.
There you will also find complete definitions of all scripts/functions of my repo, important prerequisite information that is required of the user before my repo will function as expected, as well as detailed installation instructions.
This repo is designed and maintained to work in the ahk v2.0. They will not function in versions below v2.0 and will likely have issues in the v2.1 alpha as well.
In this section of the repo you will find a collection of lib files containing helpful functions, classes, GUIs & more! Some scripts rely on other lib files to function properly so make sure you pay attention to the top of each script, if it has any #Include lib\path.ahk then you will also need that file for the script to function properly!
Do note however that my scripts are designed and written to expect files to be where they're placed during the installation process of my repo. If you try to pluck out individual classes/code do so at your own risk and expect to run into some problems.
This script is main script I use to define all of my own hotkeys. It is not recommended for the user to simply run my version of this script and it is highly encouraged that they create their own instead.
My scripts have support for a secondary keyboard with [QMK Keyboard.ahk] which along with the Hasu USB-USB converter OR a custom keyboard (with custom firmware), allows you to use a secondary keyboard or numpad to launch completely different scripts than your main keyboard following this tutorial by Taran from LTT. Any macros that have been moved to this script can be pulled out and placed in your own scripts without any issues.
QMK Keyboard.ahk is therefor a script to allow separate function for my secondary keyboard. A script originally created by Taran that I've heavily modified to work for my own workflow and to function in ahk v2.0 (and cut down to only applicable buttons). Up until Release v2.2.5.1 I used a small seconday numpad, but as of Release v2.3+ I use a Planck Ez custom keyboard.
Check out \Secondary Keyboard Files for more information on how that works.
A script that will automatically suspend My Scripts.ahk when a game is detected to be the active window & then unsuspend it when the game is no longer active.
graph TD;
A[gameCheck.ahk]-->B{Game List};
B --> C[is a game in the list open?];
C -- yes --> D[Suspend 'My Scripts.ahk']
C -- no --> E[Wait 2.5s] --> C
D --> H --> F[is game still active?]
F -- yes --> H[Wait 2.5s]
F -- no --> G[Unsuspend 'My Scripts.ahk']
G --> C
A script that will automatically save an Adobe Premiere Pro/After Effects project every 5min (if there have been unsaved changes) because Adobe's built in autosave is practically useless and fails to function a lot.
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.
A script originally from Taran to disable the alt menu acceleration unless you hold down the alt key.
A script originally from Taran to move the playhead in premiere with the right mouse button. This script has been heavily altered and now contains mostly my own code.
Anytime a macro/script encounters an error it will be logged in a txt file in this directory to help you catch anything that isn't working as intended so that in the event that the tooltip disappears too quickly, you can still dig in and see everything going on.
Eg.
14:45:38.758 // `WinGetTitle` encountered the following error: "`ahk_class AE_CApplication_26.2`-- TargetError: Target window not found." | Script: `winget.ahk`, Line Number: 231
Tip
Plenty more scripts can be found within this repo, feel free to check out the wiki page or just browse around for more!