Skip to content
Tomshi edited this page Oct 28, 2023 · 25 revisions

Welcome to the documentation for Tomshi's ahk scripts!

These scripts are designed to make working within Adobe Premiere Pro and Adobe After Effects more optimised and efficient. They also contain a bunch of features to make navigating windows easier.

Due to to customisable nature of Adobe and a few inconsistencies between different instances of windows, my scripts are NOT plug and play and require a fair amount of initial setup before you can get going. Please be sure to read this page thoroughly as all steps need to be followed or you may run into issues.


⚠️ Keep up to date ⚠️

Known issues and desired upcoming features can be tracked from the Projects page.


AHK Version Information:

This repo is to maintain work on the ahk v2.0 versions of my scripts. These scripts will not work in ahk v1.1, the only versions of these scripts that will work with ahk v1.1 are Releases 1.0/1.1/1.2 in this repo. They are severely outdated, are practically missing everything found in the current versions of scripts, and those versions are no longer being maintained but you're free to try and backport any later additions if you're willing.


Getting Started

Before Getting Started

My scripts rely on a SymLink to be created in the A_MyDocuments \AutoHotkey\ folder that links back to ..\lib. The install .exe can do this as a part of the extraction process OR you can regenerate it manually (if you move my repo this also MUST be regenerated) by running ..\Support Files\Release Assets\CreateSymLink.ahk. My scripts will fail to load if you do not do this.

The Release Install .exe

If you're a little unsure about running the install .exe (as you should be!) feel free to take a look at generateUpdate.ahk - this is the script I use to generate each release! As you'll be able to see within that script, I use a 7zip lib from thqby to compress my entire repo into a .zip file, then I use the standard ahk2exe script that comes with AHK itself to compile a .exe of that .zip file alongside that same 7zip lib to automatically unzip it once you install.

If the install process fails to unzip the repo using a ComObject, the install process will require 7zip to be installed. If it's not, it will fall back to using Powershell 5+ and .Net4.5 (or greater). If the user does not have either installed, the install process will step through installing PowerShell 7 and .Net7.

  1. Download and install AHK v2.0.
  2. Download and install either; (You could technically just edit scripts in notepad if you really wanted to, but I honestly don't recommend it)
    It is recommended you use VSCode as a lot of my functions have dynamic comments that can be viewed across the entire program that could help you understand what is going on.
  3. Download these scripts by either checking out the latest release or by cloning the repo (in either VSCode or your git manager of choice), then save them wherever you wish.

If you're downloading the latest release

  • Run the install .exe in the directory you wish my repo to be saved in to automatically generate the correct SymLink to the Lib folder (by selecting the option in the GUI that appears after extracting).

These SymLinks are necessary for lib files to be correctly included in other scripts. Failing to do so will render most scripts unable to run without throwing an error.

If you're cloning my repo OR something during the installation process goes wrong

  • Run ..\Support Files\Release Assets\baselineSettings.ahk to ensure a settings.ini file is properly generated.
  • Check ..\Support Files\Release Assets\adobeVers.ahk to make sure you have the latest versions listed & then run ..\Support Files\Release Assets\deleteAdobeSyms.ahk (these SymLinks get regenerated during CreateSymLink.ahk or can be regenerated by running generateAdobeSym.ahk)
  • Run ..\Support Files\Release Assets\CreateSymLink.ahk manually once you've moved my repo to it's final destination.
    • You will need to rerun this script anytime you move my repo to regenerate the symlink. It is recommended you first follow steps in an above dot point and check/clear adobe SymLinks
  1. Take a look at Keyboard Shortcuts.ini to set your own keyboard shortcuts for programs as well as define some coordinates for a few remaining imagesearches that cannot use variables for various reason, these KSA values are used to allow for easy adjustments instead of needing to dig through scripts!
  2. Take a look at ptf.ahk in the class class ptf { to adjust all assigned filepaths!
  3. Run My Scripts.ahk to get started! (it's the main "hub" script and handles changing the root directory)
  • If you wish to use your own hub script, please make sure to change the value MainScriptName in the class ptf { to ensure proper functionality of a few scripts within this repo!
  1. You can then edit and run any of the .ahk files to use to your liking!
    • Although do note; some Streamdeck AHK scripts still have hard coded dir's as they are intended for my workflow and may error out if you try to run them from a different location. Most of these dir's can be adjusted in ptf.ahk
  2. Adjust the PC Startup.ahk file or create shortcuts to individual scripts in your startup folder (which can be accessed by pressed win + r and then typing in shell:startup)
    • If you don't have a secondary keyboard, don't forget to take a look through QMK Keyboard.ahk to see what functions you can pull out and put on other keys!
  3. If you intend on using my repo for Premiere Pro read up on UIA down below and on its wiki page

⚠️Premiere_UIA.ahk⚠️

If you intend on using my repo for my Premiere Pro functions there is a little bit of manual setup required of the user. My repo makes use of the UIA lib to interact with some sections of Premiere. Unfortunately though, some of the information required tends to change depending on a few factors. It is required that the user reads that wiki page and sets the necessary values for themselves or some of my functions will not behave as expected.


This wiki contains documentation for just about everything relating to my scripts - feel free to poke around to get a better understanding of what they can do!

Just to be aware:

  • If you wish to pick and choose scripts, or even try and move code out of my scripts to use elsewhere on your own, take note of any #Includes at the top of each script! They will tell you what other scripts the code might need to function correctly!
  • This repo makes heavy use of ImageSearch and as such things might not work right out of the box. If you run into any issues with scripts just not finding their respective images, you may need to take your own screenshots and replace those within ..\Support Files\ImageSearch\
  • Any scripts that still contain pixel coordinates instead of using variables (in either, Click, MouseMove, ImageSearch, PixelSearch, etc) rely not only on my monitor layout or the coordinate mode set, but also my workspace layout within premiere (or any applicable program) and will not necessarily work out of the box. This wiki aims to rectify some of that concern but might not be perfect, don't be scared to look at the individual comments, as well as any accompanying AHK documentation (make sure you look at the ahk v2.0 documentation and NOT the v1.1 documentation) to get an idea of what is going on, then adjusting accordingly using WindowSpy which gets installed alongside AHK.
  • All keyboard shortcuts within programs like Adobe Premiere/After Effects/OBS, etc that I need within a macro (eg. ^+5 to highlight the media browser within Premiere, or d for select clip at playhead) are definied within the Keyboard Shortcuts.ini file instead of just sending the shortcut itself, which are then automatically assigned variables within the Keyboard Shortcut Adjustments.ahk script that is then included in scripts that require those shortcuts. Edit shortcuts within KSA.ini with your own keyboard shortcuts (and reload any scripts that call those shortcuts) to get started!
Clone this wiki locally